| 2016-05-05 Simon Fraser <simon.fraser@apple.com> |
| |
| Revert r200390, thus putting r199259 and r200161 and back. |
| |
| * Shared/VisibleContentRectUpdateInfo.cpp: |
| (WebKit::VisibleContentRectUpdateInfo::encode): |
| (WebKit::VisibleContentRectUpdateInfo::decode): |
| * Shared/VisibleContentRectUpdateInfo.h: |
| (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo): |
| (WebKit::VisibleContentRectUpdateInfo::enclosedInScrollableAncestorView): |
| (WebKit::operator==): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didInvokeUIScrollViewDelegateCallback]): |
| (-[WKWebView _didFinishScrolling]): |
| (-[WKWebView scrollViewDidScroll:]): |
| (-[WKWebView scrollViewDidZoom:]): |
| (-[WKWebView scrollViewDidEndZooming:withView:atScale:]): |
| (-[WKWebView _scrollViewDidInterruptDecelerating:]): |
| (-[WKWebView _visibleRectInEnclosingScrollView:]): |
| (-[WKWebView _visibleContentRect]): |
| (-[WKWebView _didScroll]): |
| (-[WKWebView _enclosingScrollerScrollingEnded:]): |
| (-[WKWebView _frameOrBoundsChanged]): |
| (-[WKWebView _updateVisibleContentRects]): |
| (-[WKWebView _updateVisibleContentRectAfterScrollInView:]): |
| (scrollViewCanScroll): |
| (-[WKWebView _updateContentRectsWithState:]): |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]): |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): Deleted. |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::updateVisibleContentRects): |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::updateVisibleContentRects): |
| |
| 2016-05-02 Sam Weinig <sam@webkit.org> |
| |
| On platforms that support it, use a SecTrustRef as the basis of CertificateInfo instead of a chain of SecCertificateRefs. |
| https://bugs.webkit.org/show_bug.cgi?id=157220 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/Authentication/mac/AuthenticationManager.mac.mm: |
| (WebKit::leafCertificate): |
| (WebKit::chain): |
| (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge): |
| When supported, get the SecCertificateRef from the SecTrustRef rather than the |
| stored certificate chain. |
| |
| * Shared/cf/ArgumentCodersCF.cpp: |
| (IPC::typeFromCFTypeRef): |
| (IPC::encode): |
| (IPC::decode): |
| * Shared/cf/ArgumentCodersCF.h: |
| Add support for encoding/decoding SecTrustRef objects. |
| |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| (IPC::ArgumentCoder<CertificateInfo>::encode): |
| (IPC::ArgumentCoder<CertificateInfo>::decode): |
| Add support for encoding/decoding CertificateInfo's that contain SecTrustRef objects. |
| |
| (IPC::encodeNSError): |
| (IPC::decodeNSError): |
| Simplify error encoding/decoding by not using an addition CertificateInfo object for encoding |
| the peerCertificateChain. Also, add the peerTrust to the userInfo that get's encoded/decoded. |
| |
| * UIProcess/API/Cocoa/WKWebView.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView serverTrust]): |
| (-[WKWebView certificateChain]): |
| Add new serverTrust API and deprecate certificateChain. |
| |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::willChangeCertificateInfo): |
| (WebKit::NavigationState::didChangeCertificateInfo): |
| Add support for KVO of -[WKWebView serverTrust]. |
| |
| 2016-05-05 Daniel Bates <dabates@apple.com> |
| |
| Remove workaround added in r200391 (rdar://problem/25992976) |
| https://bugs.webkit.org/show_bug.cgi?id=157378 |
| <rdar://problem/26118503> |
| |
| Reviewed by Anders Carlsson. |
| |
| Following the fix for <rdar://problem/26075714> we can remove the workaround added in r200391 (rdar://problem/25992976). |
| |
| * Shared/mac/CodeSigning.mm: |
| (WebKit::secCodeSigningIdentifier): |
| |
| 2016-05-04 Dean Jackson <dino@apple.com> |
| |
| Experimental Features don't need an "Experimental" prefix |
| https://bugs.webkit.org/show_bug.cgi?id=157363 |
| <rdar://problem/26100630> |
| |
| Reviewed by Anders Carlsson. |
| |
| Since we're not persisting the value of the experimental |
| features, it's unlikely there will ever be the case |
| where we move a Preference from experimental to normal |
| and use a stored value. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-05-04 Dean Jackson <dino@apple.com> |
| |
| Experimental features should toggle runtime flags |
| https://bugs.webkit.org/show_bug.cgi?id=157353 |
| <rdar://problem/23621603> |
| |
| Reviewed by Anders Carlsson. |
| |
| Hook up the experimental WebPreferences to RuntimeEnabledFeatures. |
| In the process I removed the general preference for WebGL 2 (we |
| already had an experimental feature for it) and moved Custom |
| Elements and Shadow DOM to experimental. |
| |
| I also removed the C versions of the preferences, since experimental |
| features only need the ObjC API (which is generated automatically). |
| |
| * Shared/WebPreferencesDefinitions.h: Move/remove some features and |
| make the experimental section more clear. |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetWebGL2Enabled): Deleted. |
| (WKPreferencesGetWebGL2Enabled): Deleted. |
| (WKPreferencesSetShadowDOMEnabled): Deleted. |
| (WKPreferencesGetShadowDOMEnabled): Deleted. |
| (WKPreferencesSetCustomElementsEnabled): Deleted. |
| (WKPreferencesGetCustomElementsEnabled): Deleted. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/WebPreferences.cpp: |
| (WebKit::WebPreferences::updateBoolValueForExperimentalFeatureKey): A |
| version of updateBoolValueForKey that doesn't call the platform |
| function (e.g. doesn't save to NSUserDefaults). |
| * UIProcess/WebPreferences.h: |
| * UIProcess/mac/WebPreferencesMac.mm: |
| (WebKit::WebPreferences::platformInitializeStore): Deleted. |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-05-04 Dean Jackson <dino@apple.com> |
| |
| TestRunner should always enable all the experimental features |
| https://bugs.webkit.org/show_bug.cgi?id=157360 |
| <rdar://problem/26099748> |
| |
| Reviewed by Anders Carlsson. |
| |
| Experimental features are disabled by default, but it is |
| a pain to enable them in every test. Instead, have the |
| test runner turn them all on. |
| |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesEnableAllExperimentalFeatures): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/WebPreferences.cpp: |
| (WebKit::WebPreferences::enableAllExperimentalFeatures): |
| * UIProcess/WebPreferences.h: |
| |
| 2016-05-04 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| Add WKPreference for SelectionPaintingWithoutSelectionGaps |
| https://bugs.webkit.org/show_bug.cgi?id=156900 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Unlike other browsers WebKit has been drawing selection gaps |
| between render blocks during the text selection. This often |
| cause text selection screen looks messy. |
| |
| This patch adds a setting method to disable the functionality, |
| and EFL port disables it by default. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetSelectionPaintingWithoutSelectionGapsEnabled): |
| (WKPreferencesGetSelectionPaintingWithoutSelectionGapsEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-05-04 Zan Dobersek <zdobersek@igalia.com> |
| |
| [CoordGraphics] CompositingCoordinator should hande root compositing and view overlay layers separately |
| https://bugs.webkit.org/show_bug.cgi?id=157305 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Update CoordinatedLayerTreeHost and ThreadCoordinatedLayerTreeHost to |
| correctly use setRootCompositingLayer() and setViewOverlayRootLayer() |
| methods on the CompositingCoordinator object. |
| |
| CoordinatedLayerTreeHost doesn't have to keep a pointer to the root |
| compositing layer anymore. updateRootLayers() can be removed. |
| |
| ThreadCoordinatedLayerTreeHost doen't have to keep a pointer to both |
| the root compositing and the view overlay layers anymore. Similarly, |
| updateRootLayers() can be removed. |
| |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::setViewOverlayRootLayer): |
| (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer): |
| (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): Deleted. |
| (WebKit::CoordinatedLayerTreeHost::updateRootLayers): Deleted. |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: |
| (WebKit::ThreadedCoordinatedLayerTreeHost::setRootCompositingLayer): |
| (WebKit::ThreadedCoordinatedLayerTreeHost::setViewOverlayRootLayer): |
| (WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): Deleted. |
| (WebKit::ThreadedCoordinatedLayerTreeHost::updateRootLayers): Deleted. |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: |
| |
| 2016-05-03 Beth Dakin <bdakin@apple.com> |
| |
| Add VideoControlsManager tests |
| https://bugs.webkit.org/show_bug.cgi?id=157332 |
| -and corresponding- |
| rdar://problem/24358431 |
| |
| Reviewed by Sam Weinig. |
| |
| Expose _hasActiveVideoForControlsManager on WKWebViewPrivate for the sake of |
| testing. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _hasActiveVideoForControlsManager]): |
| (-[WKWebView _doAfterNextPresentationUpdate:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| 2016-05-03 Jer Noble <jer.noble@apple.com> |
| |
| [iOS][WK2] Allow WKWebView to play local filesystem media when created with -loadFileURL:allowingReadAccessToURL: |
| https://bugs.webkit.org/show_bug.cgi?id=156875 |
| <rdar://problem/24281444> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Grant AVFoundation the right to issue file read sandbox extensions from the WebContent process to the mediaserverd |
| process, so that it can play back local media files. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| |
| 2016-05-03 Jiewen Tan <jiewen_tan@apple.com> |
| |
| File Upload: Photo upload name is always generic (image.jpg) |
| https://bugs.webkit.org/show_bug.cgi?id=157291 |
| <rdar://problem/12353008> |
| |
| Reviewed by Darin Adler. |
| |
| Use the original filename as the name of an uploaded image instead of |
| a generic name, i.e. image.jpg. |
| |
| * Platform/spi/ios/PhotosSPI.h: Added. |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (-[WKFileUploadPanel _uploadItemForImage:withAssetURL:successBlock:failureBlock:]): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-05-03 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][DiskCache] Store common HTTP header names as strings |
| https://bugs.webkit.org/show_bug.cgi?id=157326 |
| <rdar://problem/26073498> |
| |
| Reviewed by Antti Koivisto. |
| |
| Store common HTTP header names as strings in the disk cache instead of |
| using their value in the HTTPHeaderName enumeration. Having the disk |
| cache rely in the HTTPHeaderName enumeration is risky becomes it means |
| the cached data would become invalid every time someone updates |
| HTTPHeaderNames.in in WebCore. If someone were to update |
| HTTPHeaderNames.in without bumping the disk cache version, we would end |
| up with wrongly recognized HTTP header names after loading responses |
| from the cache. |
| |
| * NetworkProcess/cache/NetworkCacheCoders.cpp: |
| (WebKit::NetworkCache::Coder<WebCore::HTTPHeaderMap>::encode): |
| (WebKit::NetworkCache::Coder<WebCore::HTTPHeaderMap>::decode): |
| * NetworkProcess/cache/NetworkCacheCoders.h: |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| 2016-05-03 Daniel Bates <dabates@apple.com> |
| |
| Temporary workaround for Apple Internal builds |
| <rdar://problem/25992976> |
| |
| For Apple Internal builds treat error code errSecCSGuestInvalid as if it were error code errSecCSUnsigned. |
| We will look to remove this workaround in the fix for <rdar://problem/26075714>. |
| |
| * Shared/mac/CodeSigning.mm: |
| (WebKit::secCodeSigningIdentifier): |
| |
| 2016-05-03 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, rolling out r199259 and r200161. |
| |
| Seems to have caused a ~1.2% PLT regression on iOS |
| |
| Reverted changesets: |
| |
| "[iOS WK2] WKWebViews should consult ancestor UIScrollViews to |
| determine tiling area" |
| https://bugs.webkit.org/show_bug.cgi?id=156429 |
| http://trac.webkit.org/changeset/199259 |
| |
| "[iOS WK2] When determining tile size, check whether ancestor |
| UIScrollViews are actually scrollable" |
| https://bugs.webkit.org/show_bug.cgi?id=157107 |
| http://trac.webkit.org/changeset/200161 |
| |
| 2016-05-03 Dean Jackson <dino@apple.com> |
| |
| CSS Grid should be an experimental feature flag |
| https://bugs.webkit.org/show_bug.cgi?id=157327 |
| <rdar://problem/26075147> |
| |
| Reviewed by Anders Carlsson. |
| |
| The CSS Grid Layout runtime flag was exposed by |
| a WebKit preference. It was in the experimental |
| section but was missing the "Experimental" prefix. |
| |
| It was also missing the human readable description. |
| |
| Lastly, there is no need for the C API for experimental |
| features. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetCSSGridLayoutEnabled): Deleted. |
| (WKPreferencesGetCSSGridLayoutEnabled): Deleted. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-05-03 Alex Christensen <achristensen@webkit.org> |
| |
| Remove firing assertion when redirecting |
| https://bugs.webkit.org/show_bug.cgi?id=155800 |
| rdar://25299194 |
| |
| Reviewed by Sam Weinig. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:willCacheResponse:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]): |
| With NSURLConnection, we stopped getting delegate callbacks once the delegate is destroyed, and everything was cancelled. |
| With NSURLSession we continue getting delegate callbacks because the session's delegate is not destroyed after each load. |
| As documented in NSURLSession.h: "In some cases, the task may signal other work before it acknowledges the cancelation." |
| In the cases where we cancel a load, delete the NetworkLoad and corresponding NetworkDataTask, we want to call all |
| completion handlers indicating that we really want to cancel instead of asserting. |
| |
| 2016-05-02 Darin Adler <darin@apple.com> |
| |
| Change IDL enumerations to be nested in their C++ class instead of at WebCore namespace level |
| https://bugs.webkit.org/show_bug.cgi?id=157257 |
| |
| Reviewed by Chris Dumez. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::loadResource): Updated since we changed |
| ReferrerHeaderPolicy back to ReferrerPolicy. |
| (WebKit::WebLoaderStrategy::schedulePluginStreamLoad): Ditto. |
| |
| 2016-05-02 Brady Eidson <beidson@apple.com> |
| |
| Const-ify some IDB code. |
| https://bugs.webkit.org/show_bug.cgi?id=157287 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| (WebKit::WebIDBConnectionToServer::deleteDatabase): |
| (WebKit::WebIDBConnectionToServer::openDatabase): |
| (WebKit::WebIDBConnectionToServer::abortTransaction): |
| (WebKit::WebIDBConnectionToServer::commitTransaction): |
| (WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction): |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: |
| |
| 2016-05-02 Simon Fraser <simon.fraser@apple.com> |
| |
| Sort the project file. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-05-02 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix shouldUpdateScrollLayerPositionSynchronously() for non-main frames. Remove updatesScrollLayerPositionOnMainThread() |
| https://bugs.webkit.org/show_bug.cgi?id=157277 |
| |
| Reviewed by Dean Jackson, Tim Horton. |
| |
| Remove updatesScrollLayerPositionOnMainThread() which is unused by all ports. |
| |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h: |
| |
| 2016-05-02 Alex Christensen <achristensen@webkit.org> |
| |
| Crash if a certificate chain has null certificates |
| https://bugs.webkit.org/show_bug.cgi?id=157206 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::certificatesMatch): |
| SecTrustGetCertificateAtIndex can return null. |
| If this ever happens, something has gone horribly wrong in the security code and we should crash. |
| See rdar://problem/21723172 |
| |
| 2016-05-02 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Addressing post-review comments after r200116 |
| https://bugs.webkit.org/show_bug.cgi?id=157228 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration encodeWithCoder:]): |
| (-[WKWebViewConfiguration initWithCoder:]): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| * UIProcess/WebPageProxy.cpp: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-05-02 Daniel Bates <dabates@apple.com> |
| |
| DatabaseTracker::closeAllDatabases calls Database::close from the wrong thread |
| https://bugs.webkit.org/show_bug.cgi?id=147672 |
| <rdar://problem/22357464> |
| |
| Reviewed by Brady Eidson. |
| |
| Call DatabaseTracker::closeAllDatabases() with CurrentQueryBehavior::Interrupt so that we abort |
| a long running query and close the database immediately to avoid holding a locked file when the |
| process is suspended. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::processWillSuspendImminently): |
| |
| 2016-05-01 Darin Adler <darin@apple.com> |
| |
| Update Fetch to use enum class instead of string for enumerations |
| https://bugs.webkit.org/show_bug.cgi?id=157241 |
| |
| Reviewed by Chris Dumez. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::loadResource): Updated for the change where I |
| renamed ReferrerPolicy to ReferrerHeaderPolicy, at least for now. |
| (WebKit::WebLoaderStrategy::schedulePluginStreamLoad): Ditto. |
| |
| 2016-05-01 Konstantin Tokarev <annulen@yandex.ru> |
| |
| Fixed build with !ENABLED(DATABASE_PROCESS). |
| |
| Unreviewed build fix. |
| |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::grantSandboxExtensionsToDatabaseProcessForBlobs): |
| |
| 2016-04-29 Chris Dumez <cdumez@apple.com> |
| |
| Drop useless check in SpeculativeLoadManager::registerLoad() |
| https://bugs.webkit.org/show_bug.cgi?id=157204 |
| |
| Reviewed by Antti Koivisto. |
| |
| Drop useless check in SpeculativeLoadManager::registerLoad(). There is |
| no way to end up this code path with a non-HTTP family request. |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad): |
| |
| 2016-04-29 Brian Burg <bburg@apple.com> |
| |
| Web Automation: add SPI to mark an existing NSEvent as synthesized for automation |
| https://bugs.webkit.org/show_bug.cgi?id=157221 |
| <rdar://problem/26019356> |
| |
| Reviewed by Timothy Hatcher. |
| |
| In cases where an NSEvent is duplicated, clients need to re-mark an NSEvent |
| as synthesized for automation if the original NSEvent was marked as such. |
| |
| * UIProcess/API/Cocoa/_WKAutomationSession.h: |
| * UIProcess/API/Cocoa/_WKAutomationSession.mm: |
| (-[_WKAutomationSession markEventAsSynthesizedForAutomation:]): |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/Cocoa/WebAutomationSessionCocoa.mm: |
| (WebKit::WebAutomationSession::sendSynthesizedEventsToPage): |
| (WebKit::WebAutomationSession::markEventAsSynthesizedForAutomation): |
| |
| 2016-04-29 Brian Burg <bburg@apple.com> |
| |
| Web Automation: use a magic eventNumber as a fallback for detecting NSEvents synthesized for automation |
| https://bugs.webkit.org/show_bug.cgi?id=157222 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Sometimes events are copied and redelivered in a way that can't be reliably intercepted, |
| so use eventNumber as an alternate means of detecting synthesized mouse NSEvents. |
| |
| * UIProcess/Cocoa/WebAutomationSessionCocoa.mm: |
| (WebKit::WebAutomationSession::wasEventSynthesizedForAutomation): |
| If it's a mouse-related event, check the eventNumber if the associated object was missing. |
| |
| (WebKit::WebAutomationSession::platformSimulateMouseInteraction): |
| Most real events from input devices fill in eventNumber with a non-zero value. |
| In my testing, using zero did not seem to adversely affect event delivery. |
| |
| 2016-04-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Issues inspecting the inspector, pausing on breakpoints causes content to not load |
| https://bugs.webkit.org/show_bug.cgi?id=157198 |
| <rdar://problem/26011049> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.h: |
| * WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.cpp: |
| (WebKit::WebInspectorFrontendAPIDispatcher::reset): |
| (WebKit::WebInspectorFrontendAPIDispatcher::frontendLoaded): |
| (WebKit::WebInspectorFrontendAPIDispatcher::suspend): |
| (WebKit::WebInspectorFrontendAPIDispatcher::unsuspend): |
| (WebKit::WebInspectorFrontendAPIDispatcher::dispatchCommand): |
| (WebKit::WebInspectorFrontendAPIDispatcher::dispatchMessageAsync): |
| (WebKit::WebInspectorFrontendAPIDispatcher::evaluateOrQueueExpression): |
| (WebKit::WebInspectorFrontendAPIDispatcher::evaluateQueuedExpressions): |
| Avoid evaluating expressions when the page is paused. Generalize the |
| message queueing and dispatching for pause/suspend that we already |
| had for waiting for the frontend page to be loaded. |
| |
| * WebProcess/WebPage/WebInspectorUI.h: |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| (WebKit::WebInspectorUI::pagePaused): |
| (WebKit::WebInspectorUI::pageUnpaused): |
| When the frontend page pauses/unpauses, suspend/resume the dispatcher. |
| |
| 2016-04-29 Chris Dumez <cdumez@apple.com> |
| |
| Remove unnecessary isolated String copying from one of NetworkCache::Key's constructor |
| https://bugs.webkit.org/show_bug.cgi?id=157207 |
| |
| Reviewed by Antti Koivisto. |
| |
| Remove unnecessary isolated String copying from one of NetworkCache::Key's |
| constructor. We are anyway going to create isolated copies if the Key ends |
| up getting copied. |
| |
| * NetworkProcess/cache/NetworkCacheKey.cpp: |
| (WebKit::NetworkCache::Key::Key): |
| |
| 2016-04-29 Brian Burg <bburg@apple.com> |
| |
| Web Automation: performMouseInteraction command computes mouse event coordinates incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=157218 |
| <rdar://problem/26018230> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch fixes two issues: the min/max clamp was in the wrong order, |
| and the y-value did not account for the window's top content inset. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::performMouseInteraction): |
| |
| 2016-04-29 Dean Jackson <dino@apple.com> |
| |
| RTL <select> popup menu is in the wrong location |
| https://bugs.webkit.org/show_bug.cgi?id=157159 |
| <rdar://problem/25894451> |
| |
| Reapply http://trac.webkit.org/changeset/200217 |
| but with changes that will allow it to build on Yosemite. |
| |
| * UIProcess/mac/WebPopupMenuProxyMac.mm: |
| (WebKit::WebPopupMenuProxyMac::showPopupMenu): |
| |
| 2016-04-28 Ada Chan <adachan@apple.com> |
| |
| Indicate we are processing user gesture when handling messages from WebPlaybackSessionManagerProxy to WebPlaybackSessionManager |
| https://bugs.webkit.org/show_bug.cgi?id=157151 |
| |
| Reviewed by Jer Noble. |
| |
| Messages from WebPlaybackSessionManagerProxy to WebPlaybackSessionManager are triggered by |
| user actions, so add a UserGestureIndicator in the methods that handle those messages. |
| |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: |
| (WebKit::WebPlaybackSessionManager::play): |
| (WebKit::WebPlaybackSessionManager::pause): |
| (WebKit::WebPlaybackSessionManager::togglePlayState): |
| (WebKit::WebPlaybackSessionManager::beginScrubbing): |
| (WebKit::WebPlaybackSessionManager::endScrubbing): |
| (WebKit::WebPlaybackSessionManager::seekToTime): |
| (WebKit::WebPlaybackSessionManager::fastSeek): |
| (WebKit::WebPlaybackSessionManager::beginScanningForward): |
| (WebKit::WebPlaybackSessionManager::beginScanningBackward): |
| (WebKit::WebPlaybackSessionManager::endScanning): |
| (WebKit::WebPlaybackSessionManager::selectAudioMediaOption): |
| (WebKit::WebPlaybackSessionManager::selectLegibleMediaOption): |
| |
| 2016-04-29 Brady Eidson <beidson@apple.com> |
| |
| Add a default ".isolatedCopy()" specialization to CrossThreadCopier, and other small cleanup. |
| https://bugs.webkit.org/show_bug.cgi?id=157185 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/WebCrossThreadCopier.cpp: |
| (WebCore::Vector<char>>::copy): reserveInitialCapacity() before creating the copy. |
| (WebCore::Vector<int64_t>>::copy): Ditto. |
| (WebCore::Vector<uint8_t>>::copy): Ditto. |
| (WebCore::Vector<Vector<IDBKeyData>>>::copy): Deleted dead code. |
| * Shared/WebCrossThreadCopier.h: |
| |
| 2016-04-29 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r200217. |
| https://bugs.webkit.org/show_bug.cgi?id=157183 |
| |
| This change broke the Yosemite build. (Requested by ryanhaddad |
| on #webkit). |
| |
| Reverted changeset: |
| |
| "RTL <select> popup menu is in the wrong location" |
| https://bugs.webkit.org/show_bug.cgi?id=157159 |
| http://trac.webkit.org/changeset/200217 |
| |
| 2016-04-29 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK] Move WK2 shareable code out from gtk directories |
| https://bugs.webkit.org/show_bug.cgi?id=157135 |
| |
| Reviewed by Darin Adler. |
| |
| Both NetworkProcessMain and InjectedBundle can go out from their respective gtk directories. |
| |
| * NetworkProcess/gtk/NetworkProcessMainGtk.cpp: |
| (WebKit::NetworkProcessMainUnix): Deleted. |
| * NetworkProcess/soup/NetworkProcessMainSoup.cpp: Renamed from Source/WebKit2/NetworkProcess/gtk/NetworkProcessMainGtk.cpp. |
| (WebKit::NetworkProcessMainUnix): |
| * PlatformGTK.cmake: Update. |
| * WebProcess/InjectedBundle/glib/InjectedBundleGlib.cpp: Renamed from Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp. |
| (WebKit::InjectedBundle::initialize): |
| (WebKit::InjectedBundle::setBundleParameter): |
| (WebKit::InjectedBundle::setBundleParameters): |
| * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: |
| (WebKit::InjectedBundle::initialize): Deleted. |
| (WebKit::InjectedBundle::setBundleParameter): Deleted. |
| (WebKit::InjectedBundle::setBundleParameters): Deleted. |
| |
| 2016-04-28 Dean Jackson <dino@apple.com> |
| |
| RTL <select> popup menu is in the wrong location |
| https://bugs.webkit.org/show_bug.cgi?id=157159 |
| <rdar://problem/25894451> |
| |
| Reviewed by Simon Fraser. |
| |
| Make sure the NSPopupMenu takes the text direction |
| into account, and offset the position |
| of the menu slightly if we're in RTL mode. |
| |
| Unfortunately our test infrastructure is unable to exercise |
| this because it runs without a window, and the popup menu |
| is not captured in the screenshot. |
| |
| * UIProcess/mac/WebPopupMenuProxyMac.mm: |
| (WebKit::WebPopupMenuProxyMac::showPopupMenu): |
| |
| 2016-04-28 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [css-grid] Add CSS Grid Layout runtime flag |
| https://bugs.webkit.org/show_bug.cgi?id=157134 |
| |
| Reviewed by Simon Fraser. |
| |
| Add CSS Grid Layout runtime flag based on preferences, |
| enabled by default. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetCSSGridLayoutEnabled): |
| (WKPreferencesGetCSSGridLayoutEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-04-28 Daniel Bates <dabates@apple.com> |
| |
| Fix the Apple Internal OS X build |
| |
| * UIProcess/mac/WKPrintingView.mm: |
| (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Ignore deprecation warning for -[PDFPage drawWithBox:]. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::drawPDFPage): Ditto. |
| |
| 2016-04-28 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| Fix mistake in custom elements runtime flag |
| https://bugs.webkit.org/show_bug.cgi?id=157130 |
| |
| Reviewed by Chris Dumez. |
| |
| The methods for the custom elements runtime flag were using |
| the Shadow DOM flag instead. |
| These methods were introduced in r197921, |
| it seems it was just a copy&paste mistake. |
| |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetCustomElementsEnabled): |
| (WKPreferencesGetCustomElementsEnabled): |
| |
| 2016-04-28 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Add missing files to the compilation of GTK+ inspector. |
| |
| * PlatformGTK.cmake: |
| |
| 2016-04-27 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/25915253> REGRESSION (r199628): Netflix playback fails in Safari Technology Preview with error code S7363-1260-FFFF58D8 |
| |
| Rubber-stamped by Tim Horton. |
| |
| Reverted r199628. |
| |
| * Configurations/WebContentService.xcconfig: |
| |
| 2016-04-27 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Implement native IDBFactory.getAllDatabaseNames for WebInspector. |
| https://bugs.webkit.org/show_bug.cgi?id=157072 |
| |
| Reviewed by Alex Christensen. |
| |
| Handle the process hop for the new getAllDatabaseNames call. |
| |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp: |
| (WebKit::WebIDBConnectionToClient::didGetAllDatabaseNames): |
| (WebKit::WebIDBConnectionToClient::getAllDatabaseNames): |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h: |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in: |
| |
| * Shared/WebCrossThreadCopier.cpp: |
| (WebCore::SecurityOriginData>::copy): Deleted, as its in WebCore now. |
| * Shared/WebCrossThreadCopier.h: |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| (WebKit::WebIDBConnectionToServer::getAllDatabaseNames): |
| (WebKit::WebIDBConnectionToServer::didGetAllDatabaseNames): |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in: |
| |
| 2016-04-27 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] When determining tile size, check whether ancestor UIScrollViews are actually scrollable |
| https://bugs.webkit.org/show_bug.cgi?id=157107 |
| rdar://problem/25943577 |
| |
| Reviewed by Tim Horton. |
| |
| We should only fall back to 512x512 tiles if the WKWebView has a UIScrollView ancestor, |
| and that UIScrollView actually scrolls. This avoids falling back to small tiles in |
| MobileSafari. |
| |
| Rename "enclosedInScrollView" to "enclosedInScrollableAncestorView" everywhere. |
| |
| * Shared/VisibleContentRectUpdateInfo.cpp: |
| (WebKit::VisibleContentRectUpdateInfo::encode): |
| (WebKit::VisibleContentRectUpdateInfo::decode): |
| * Shared/VisibleContentRectUpdateInfo.h: |
| (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo): |
| (WebKit::VisibleContentRectUpdateInfo::enclosedInScrollableAncestorView): |
| (WebKit::operator==): |
| (WebKit::VisibleContentRectUpdateInfo::enclosedInScrollView): Deleted. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (scrollViewCanScroll): |
| (-[WKWebView _updateContentRectsWithState:]): |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]): |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollView:]): Deleted. |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::updateVisibleContentRects): |
| |
| 2016-04-26 Ada Chan <adachan@apple.com> |
| |
| Set WebVideoFullscreenInterfaceMac up as a client of WebPlaybackSessionInterfaceMac to listen for playback state changes |
| https://bugs.webkit.org/show_bug.cgi?id=157008 |
| |
| Reviewed by Jer Noble. |
| |
| Since WebVideoFullscreenInterfaceMac holds onto WebPlaybackSessionInterfaceMac, we can't let |
| WebPlaybackSessionManagerProxy unregister the context for that media element while |
| WebVideoFullscreenInterfaceMac is still using it. WebVideoFullscreenInterfaceMac should add |
| to the client count for that WebPlaybackSession context. |
| |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::createModelAndInterface): |
| When the context for the media element is created with the WebVideoFullscreenManagerProxy, it should |
| add one to the client count for the media element context in WebPlaybackSessionManagerProxy. |
| (WebKit::WebVideoFullscreenManagerProxy::removeClientForContext): |
| When WebVideoFullscreenManagerProxy unregisters the context for this media element, it should |
| subtract one from the client count for the media element context in WebPlaybackSessionManagerProxy. |
| |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: |
| (WebKit::WebPlaybackSessionManager::clearPlaybackControlsManager): |
| Bail early if m_controlsManagerContextId is zero. Otherwise, we'd end up sending a |
| ClearPlaybackControlsManager message to the UI process inadvertently. |
| (WebKit::WebPlaybackSessionManager::contextIdForMediaElement): |
| Make sure the model element for the context ID is set to the media element. |
| |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::createModelAndInterface): |
| When the context for the media element is created with the WebVideoFullscreenManager, it should |
| add one to the client count for the media element context in WebPlaybackSessionManager. |
| (WebKit::WebVideoFullscreenManager::removeContext): |
| When WebVideoFullscreenManager unregisters the context for this media element, it should |
| subtract one from the client count for the media element context in WebPlaybackSessionManager. |
| |
| 2016-04-27 Alex Christensen <achristensen@webkit.org> |
| |
| Remove download message receiver when NetworkProcess crashes |
| https://bugs.webkit.org/show_bug.cgi?id=157102 |
| <rdar://problem/25550106> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/Downloads/DownloadProxyMap.cpp: |
| (WebKit::DownloadProxyMap::processDidClose): |
| When the NetworkProcess crashes during a download, we want to remove the message receiver from the map |
| so we don't get an assertion in ~MessageReceiver in the UIProcess so we do not have a freed |
| message receiver in the map. |
| |
| 2016-04-27 Alex Christensen <achristensen@webkit.org> |
| |
| Fix client certificate authentication with NSURLSession on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=157094 |
| <rdar://problem/25946859> |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| We only want to create a non-persistent credential with the given user and password |
| and store the user and password in the CredentialStorage if there is a user and password. |
| We previously only skipped this if we were doing server trust evaluation, in which case |
| we will have a credential from serverTrustCredential which has no user or password. |
| When doing client certificate authentication on iOS, this completion handler is called with |
| a credential with session persistence and also no user or password, so we need to do the same thing. |
| The reason this was never hit on Mac was because the credential came from tryUseCertificateInfoForChallenge, |
| which always had persistence none. |
| |
| 2016-04-27 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK][EFL] Move WK2 platform code to a common place |
| https://bugs.webkit.org/show_bug.cgi?id=157069 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Logging implementation can be shared between EFL and GTK, so move it to unix. |
| The GTK Module implementation doesn't depend on GTK anyhow so move it to glib. |
| |
| * Platform/efl/LoggingEfl.cpp: Removed. |
| (WebKit::logLevelString): Deleted. |
| * Platform/glib/ModuleGlib.cpp: Renamed from Source/WebKit2/Platform/gtk/ModuleGtk.cpp. |
| (WebKit::Module::load): |
| (WebKit::Module::unload): |
| (WebKit::Module::platformFunctionPointer): |
| * Platform/gtk/LoggingGtk.cpp: |
| (WebKit::logLevelString): Deleted. |
| * Platform/gtk/ModuleGtk.cpp: |
| (WebKit::Module::load): Deleted. |
| (WebKit::Module::unload): Deleted. |
| (WebKit::Module::platformFunctionPointer): Deleted. |
| * Platform/unix/LoggingUnix.cpp: Renamed from Source/WebKit2/Platform/gtk/LoggingGtk.cpp. |
| (WebKit::logLevelString): |
| * PlatformEfl.cmake: Update. |
| * PlatformGTK.cmake: Update |
| |
| 2016-04-27 Alex Christensen <achristensen@webkit.org> |
| |
| Fix assertion when downloading with NSURLSession after r198955 |
| https://bugs.webkit.org/show_bug.cgi?id=157051 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::continueDecidePendingDownloadDestination): |
| |
| 2016-04-27 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r200094): [FreeType] Vertical text is broken after r200094 |
| https://bugs.webkit.org/show_bug.cgi?id=157066 |
| |
| Reviewed by Martin Robinson. |
| |
| Add Source/WebCore/platform/graphics/freetype to the list of include dirs, because now FontPlatformData.h |
| includes FcUniquePtr.h. |
| |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| |
| 2016-04-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Uncaught Exception: SecurityError: DOM Exception 18: An attempt was made to break through the security policy of the user agent. |
| https://bugs.webkit.org/show_bug.cgi?id=156991 |
| <rdar://problem/25913475> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| Explicitly always allow access to storage for Web Inspector content just |
| in case, as we already allow universal file access. |
| |
| 2016-04-26 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WK2] [OS X] Create API for switching RTL scrollbar policy |
| https://bugs.webkit.org/show_bug.cgi?id=156948 |
| <rdar://problem/25707757> |
| |
| Reviewed by Darin Adler. |
| |
| Add the new API. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| (-[WKWebViewConfiguration encodeWithCoder:]): |
| (-[WKWebViewConfiguration initWithCoder:]): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| * UIProcess/WebPageProxy.cpp: |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-04-26 Beth Dakin <bdakin@apple.com> |
| |
| Check to make sure shouldRequestCandidates() before requesting candidates |
| https://bugs.webkit.org/show_bug.cgi?id=157038 |
| -and corresponding- |
| rdar://problem/25910418 |
| |
| Reviewed by Tim Horton. |
| |
| This patch limits requesting and showing candidates to cases where |
| shouldRequestCandidates() is true. This patch also caches the sequence number |
| returned by [NSSpellChecker requestCandidatesForSelectedRange:] to make sure |
| it is equal to the sequence number sent to the callback handler so that we do |
| not show candidates for old requests. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::updateWebViewImplAdditions): |
| (WebKit::WebViewImpl::shouldRequestCandidates): |
| (WebKit::WebViewImpl::showCandidates): |
| (WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded): |
| (WebKit::WebViewImpl::handleRequestedCandidates): |
| |
| 2016-04-26 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| [EFL] Update expectation result in ewk_context_preferred_languages API test |
| https://bugs.webkit.org/show_bug.cgi?id=157027 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| platformLanguage() has been returning lower case value since r199815. Thus existing expected result |
| needs to be updated together. |
| |
| * UIProcess/API/efl/tests/test_ewk2_context.cpp: Change en-US with en-us. |
| (TEST_F): |
| |
| 2016-04-26 Zan Dobersek <zdobersek@igalia.com> |
| |
| Mark two methods in the CoordinatedGraphicsScene and the |
| ThreadedCoordinatedLayerTreeHost classes as overrides, fixing |
| the compiler warnings. |
| |
| Rubber-stamped by Carlos Garcia Campos. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: |
| |
| 2016-04-25 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Remove the build flag for template elements |
| https://bugs.webkit.org/show_bug.cgi?id=157022 |
| |
| Reviewed by Daniel Bates. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-04-25 Chris Dumez <cdumez@apple.com> |
| |
| Crash under -[WKWebView _mayAutomaticallyShowVideoPictureInPicture] + 32 (WKWebView.mm:309) |
| https://bugs.webkit.org/show_bug.cgi?id=156990 |
| <rdar://problem/25904376> |
| |
| Reviewed by Jer Noble. |
| |
| In case of WebProcess crash, WebPageProxy::processDidCrash() will call resetState() which |
| will nullify WebPageProxy::m_videoFullscreenManager. In WebPageProxy::reattachToWebProcess(), |
| we then call updateViewState() before re-initializing m_videoFullscreenManager, and |
| updateViewState() ends up calling [WKWebView _mayAutomaticallyShowVideoPictureInPicture] |
| which dereferences WebPageProxy::m_videoFullscreenManager without null check. This patch |
| adds a null check for m_videoFullscreenManager in _mayAutomaticallyShowVideoPictureInPicture. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]): |
| |
| 2016-04-25 Dan Bernstein <mitz@apple.com> |
| |
| Fix a couple of mistakes from r199700. |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Added availability attributes to new properties. |
| * WebKit2.xcodeproj/project.pbxproj: Demoted _WKExperimentalFeatureInternal.h from Private to Project. |
| |
| 2016-04-24 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [EFL] Update the ewk_settings_offline_web_application_cache_enabled_get() expected value after r199854. |
| https://bugs.webkit.org/show_bug.cgi?id=156968 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * UIProcess/API/C/WKPreferencesRef.h: Update the comment. |
| * UIProcess/API/efl/tests/test_ewk2_settings.cpp: |
| (TEST_F): |
| |
| 2016-04-23 Andy Estes <aestes@apple.com> |
| |
| Fix issues found by the clang static analyzer |
| https://bugs.webkit.org/show_bug.cgi?id=156956 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * UIProcess/API/Cocoa/WKPreviewActionItem.mm: |
| (-[WKPreviewAction dealloc]): Added to release _identifier. |
| * UIProcess/_WKWebViewPrintFormatter.mm: |
| (-[_WKWebViewPrintFormatter dealloc]): Released _frameToPrint. |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView inputView]): -createPeripheralWithView: returned a retained object, but the method name did not |
| match Cocoa conventions. Called -initWithView: instead. |
| (-[WKContentView _showAttachmentSheet]): Stored the _WKActivatedElementInfo in a RetainPtr. |
| (-[WKContentView _dataForPreviewItemController:atPosition:type:]): Ditto. |
| (+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]): |
| The properties contextBeforeSelection, selectedText, markedText, and contextAfterSelection have the 'copy' |
| annotation in UIWKAutocorrectionContext, so the additional copy made here would be leaked. Removed the extra copy. |
| (-[WKAutocorrectionContext dealloc]): Deleted. |
| * UIProcess/ios/forms/WKFormInputControl.h: Removed -createPeripheralWithView: and declared -initWithView:. |
| * UIProcess/ios/forms/WKFormInputControl.mm: |
| (-[WKFormInputControl initWithView:]): Changed to return instancetype. |
| (+[WKFormInputControl createPeripheralWithView:]): Deleted. |
| * UIProcess/ios/forms/WKFormSelectControl.h: Removed -createPeripheralWithView: and declared -initWithView:. |
| * UIProcess/ios/forms/WKFormSelectControl.mm: |
| (+[WKFormSelectControl createPeripheralWithView:]): Deleted. |
| * UIProcess/mac/LegacySessionStateCoding.cpp: |
| (WebKit::decodeLegacySessionState): If dynamic_cf_cast returned nullptr, the result of |
| CFPropertyListCreateWithData would leak. Stored the CFPropertyListRef in a RetainPtr before calling dynamic_cf_cast. |
| * UIProcess/mac/ServicesController.mm: |
| (WebKit::ServicesController::refreshExistingServices): Used a RetainPtr for attachment and cell. |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::setupServicesMenu): Used a RetainPtr for groupEntry. |
| |
| 2016-04-23 Chris Dumez <cdumez@apple.com> |
| |
| Tie the DiagnosticLoggingClient's lifetime to the Page |
| https://bugs.webkit.org/show_bug.cgi?id=156938 |
| <rdar://problem/25851499> |
| |
| Reviewed by Antti Koivisto. |
| |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp: |
| (WebKit::WebDiagnosticLoggingClient::pageDestroyed): |
| (WebKit::WebDiagnosticLoggingClient::mainFrameDestroyed): Deleted. |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::willStartUserTriggeredZooming): |
| |
| 2016-04-23 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/25893246> WebKit2 has failed to build: error: use of undeclared identifier 'm_playbackSessionManager' |
| |
| Fixed the non-AVKit build. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _isShowingVideoPictureInPicture]): |
| (-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::fullScreenManager): |
| (WebKit::WebPageProxy::playbackSessionManager): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::applicationDidBecomeActive): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::createScrollingCoordinator): |
| (WebKit::WebChromeClient::supportsVideoFullscreen): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::inspectorUI): |
| (WebKit::WebPage::playbackSessionManager): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/cocoa/WebVideoFullscreenManager.h: |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| |
| 2016-04-22 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Fixing a typo in my last commit. |
| |
| Unreviewed build fix. |
| |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in: |
| * WebProcess/cocoa/WebVideoFullscreenManager.messages.in: |
| |
| 2016-04-22 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Missed some macros to fix builds that do not support AVKit. |
| |
| Unreviewed build fix. |
| |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in: |
| * WebProcess/cocoa/WebVideoFullscreenManager.messages.in: |
| |
| 2016-04-22 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Fix builds that do not support AVKit |
| |
| Unreviewed build fix. |
| |
| * UIProcess/WebPageProxy.h: |
| |
| 2016-04-22 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Take 2 for fixing builds that do not support AVKit |
| |
| Unreviewed build fix. |
| |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::resetState): |
| |
| 2016-04-22 Anders Carlsson <andersca@apple.com> |
| |
| WKWebView WebSQL is not enabled |
| https://bugs.webkit.org/show_bug.cgi?id=156928 |
| rdar://problem/19029603 |
| |
| Reviewed by Beth Dakin. |
| |
| Give databases a default quota of 50 MB, matching what we have in UIWebView. |
| |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::exceededDatabaseQuota): |
| |
| 2016-04-22 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Fix builds that do not support AVKit |
| |
| Unreviewed build fix. |
| |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| (WebKit::WebPageProxy::viewDidLeaveWindow): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| |
| 2016-04-22 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Rework the ownership/RefCounting model of IDBConnectionToServer and IDBConnectionProxy. |
| https://bugs.webkit.org/show_bug.cgi?id=156916 |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| (WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer): |
| |
| 2016-04-22 Zan Dobersek <zdobersek@igalia.com> |
| |
| NetworkCacheIOChannelSoup: detach the newly-created IOChannel::readSync thread |
| https://bugs.webkit.org/show_bug.cgi?id=156907 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp: |
| (WebKit::NetworkCache::IOChannel::readSyncInThread): Detach the new thread, |
| ensuring the resources are released after the thread exits. Next step is |
| to set up a thread pool and use that, avoiding thread re-creation. |
| |
| 2016-04-21 Dean Jackson <dino@apple.com> |
| |
| Backdrop Filter should not be visible if element has visibility:hidden |
| https://bugs.webkit.org/show_bug.cgi?id=149318 |
| <rdar://problem/22749780> |
| |
| Reviewed by Simon Fraser. |
| |
| Add the isHidden method to PlatformCALayerRemote. |
| |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::isHidden): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| |
| 2016-04-21 Anders Carlsson <andersca@apple.com> |
| |
| WKWebView HTML5 AppCache not working |
| https://bugs.webkit.org/show_bug.cgi?id=156887 |
| rdar://problem/17944162 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| Set the offlineWebApplicationCacheEnabled property to true by default. |
| |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): |
| Set the default applicationCacheFlatFileSubdirectoryName to "Files". |
| |
| 2016-04-21 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of the last uses of ApplicationCacheStorage::singleton() from WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=156876 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| Add and encode and decode a applicationCacheFlatFileSubdirectoryName. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::createWithLegacyOptions): |
| Set m_applicationCacheFlatFileSubdirectoryName to "ApplicationCache". |
| |
| (API::ProcessPoolConfiguration::ProcessPoolConfiguration): |
| Set m_applicationCacheFlatFileSubdirectoryName to "Files". |
| |
| (API::ProcessPoolConfiguration::copy): |
| Copy m_applicationCacheFlatFileSubdirectoryName. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| Add getter for applicationCacheFlatFileSubdirectoryName. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::legacyWebsiteDataStoreConfiguration): |
| Initialize applicationCacheFlatFileSubdirectoryName from the process pool configuration. |
| |
| (WebKit::WebProcessPool::createNewWebProcess): |
| Initialize parameters.applicationCacheFlatFileSubdirectoryName. Remove a call to |
| ApplicationCacheStorage::singleton().setDefaultOriginQuota since it had no effect (it was called in the UI process). |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| Initialize m_applicationCacheFlatFileSubdirectoryName. |
| |
| (WebKit::WebsiteDataStore::fetchData): |
| (WebKit::WebsiteDataStore::removeData): |
| Pass m_applicationCacheFlatFileSubdirectoryName when creating the application cache storage. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| Add new members. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| Set the application cache storage. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| Initialize the application cache storage. |
| |
| * WebProcess/WebProcess.h: |
| (WebKit::WebProcess::applicationCacheStorage): |
| Add new getter. |
| |
| 2016-04-21 Anders Carlsson <andersca@apple.com> |
| |
| Remove two uses of ApplicationCacheStorage::singleton() from WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=156873 |
| |
| Reviewed by Beth Dakin. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::clearApplicationCache): Deleted. |
| * WebProcess/WebProcess.h: |
| |
| 2016-04-21 Beth Dakin <bdakin@apple.com> |
| |
| showCandidates() should take a range and the string should be the whole |
| paragraph |
| https://bugs.webkit.org/show_bug.cgi?id=156813 |
| -and corresponding- |
| rdar://problem/25760533 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::updateWebViewImplAdditions): |
| (WebKit::WebViewImpl::showCandidates): |
| (WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded): |
| (WebKit::WebViewImpl::handleRequestedCandidates): |
| |
| 2016-04-21 Chelsea Pugh <cpugh@apple.com> |
| |
| [iOS] Allow clients to hide the accessory view on a form input session |
| https://bugs.webkit.org/show_bug.cgi?id=155574 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/_WKFormInputSession.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKFormInputSession accessoryViewShouldNotShow]): Getter for accessoryViewShouldNotShow. |
| (-[WKFormInputSession setAccessoryViewShouldNotShow:]): Set accessoryViewShouldNotShow and reload input views. |
| (-[WKContentView requiresAccessoryView]): If the accessory view should be not be shown, do not require |
| the accessory view. |
| |
| 2016-04-21 Chris Dumez <cdumez@apple.com> |
| |
| Drop [UsePointersEvenForNonNullableObjectArguments] from Range |
| https://bugs.webkit.org/show_bug.cgi?id=156805 |
| |
| Reviewed by Youenn Fablet. |
| |
| * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm: |
| (-[WKDOMRange setStart:offset:]): |
| (-[WKDOMRange setEnd:offset:]): |
| (-[WKDOMRange selectNode:]): |
| (-[WKDOMRange selectNodeContents:]): |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::contentsAsString): |
| |
| 2016-04-21 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] WebKitWebView should claim the contents size as its natural size |
| https://bugs.webkit.org/show_bug.cgi?id=156835 |
| |
| Reviewed by Žan Doberšek. |
| |
| And keep claiming 0 as its minimum size since it's scrollable. |
| |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::didChangeContentSize): Call webkitWebViewBaseSetContentsSize(). |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseGetPreferredWidth): Return the contents width as natural width. |
| (webkitWebViewBaseGetPreferredHeight): Return the contents height as natural height. |
| (webkit_web_view_base_class_init): Add implementations of get_preferred_width/height. |
| (webkitWebViewBaseSetContentsSize): Save the contents size. |
| * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: |
| |
| 2016-04-21 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] WebKitWebView should propagate wheel events not handled by the web process |
| https://bugs.webkit.org/show_bug.cgi?id=156834 |
| |
| Reviewed by Žan Doberšek. |
| |
| We are currently swallowing all wheel events unconditionally, not allowing applications to handle wheel events |
| when not handled by us. Since the GTK+ event propagation system is synchronous, and our events are handled |
| asynchronously, we need to do something similar to what we do for key events, not propagate the event the first |
| time and if not handled by the web process, re-inject it in the event loop and then just propagate it. |
| |
| * Shared/NativeWebWheelEvent.h: |
| (WebKit::NativeWebWheelEvent::nativeEvent): Remove useless const. |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore): Tell the web view to propagate the next wheel event, |
| and re-inject the event not handled by the web process in the event loop. |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseScrollEvent): Propagate the event if shouldForwardNextWheelEvent is true. |
| (webkitWebViewBaseForwardNextWheelEvent): Set shouldForwardNextWheelEvent to true. |
| * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didReceiveEvent): Remove ifdef. |
| * UIProcess/efl/WebView.h: |
| |
| 2016-04-20 Dustin Falgout <dustin@falgout.us> |
| |
| [GTK] Expose AllowUniversalAccessFromFileURLs preference now that calling localStorage.getItem() results in SecurityError: DOM Exception 18 |
| |
| Reviewed by Michael Catanzaro. |
| |
| As of r197858 JavaScript loaded in the context of a file scheme url cannot access local storage. That is a major |
| breaking change as many applications that serve files locally rely on having access to local storage. The point |
| of that security fix is to avoid cases of downloaded HTML content (such as e-mail attachments or JS injected |
| into local contexts) from having access to your local file system and arbitrary local storage. If you are serving |
| local files in your applications, you can use the WebKitAllowUniversalAccessFromFileURLs preference key to tell |
| Webkit that you are approve of these kinds of interactions. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156651 |
| |
| * UIProcess/API/gtk/WebKitSettings.cpp: |
| (webKitSettingsSetProperty): |
| (webKitSettingsGetProperty): |
| (webkit_settings_class_init): |
| (webkit_settings_get_allow_universal_access_from_file_urls): |
| (webkit_settings_set_allow_universal_access_from_file_urls): |
| * UIProcess/API/gtk/WebKitSettings.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: |
| |
| 2016-04-20 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB (Workers): Enable INDEXED_DATABASE_IN_WORKERS compile time flag, but disabled in RuntimeEnabledFeatures. |
| https://bugs.webkit.org/show_bug.cgi?id=156782 |
| |
| Reviewed by Alex Christensen. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-04-20 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][Mac][iOS] WebContent crash when using special file:// URI scheme @ WebKit::resolveSymlinksInPath(WTF::CString const&) + 159 |
| https://bugs.webkit.org/show_bug.cgi?id=156747 |
| <rdar://problem/24648176> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| FileSystemCF::fileSystemRepresentation return a null string when presented with a file URL that contains embedded nulls. When |
| this happens, SandboxExtension::createHandle attempts to pass a null string to 'resolveSymlinksInPath', which attemps to call |
| 'strrchr' on the null pointer, causing a crash. |
| |
| Test: fast/url/file-uri-with-embedded-null-no-crash.html |
| |
| * Shared/mac/SandboxExtensionMac.mm: |
| (WebKit::SandboxExtension::createHandle): If 'fileSystemRepresentation' is null, return early with an error. |
| |
| 2016-04-19 Alex Christensen <achristensen@webkit.org> |
| |
| Fix CMake build. |
| |
| * CMakeLists.txt: |
| Don't compile a file that doesn't exist. |
| * PlatformMac.cmake: |
| Put the XPCServices in the right place. |
| |
| 2016-04-19 Chris Dumez <cdumez@apple.com> |
| |
| Crash under WebKit::PluginView::pluginSnapshotTimerFired |
| https://bugs.webkit.org/show_bug.cgi?id=156754 |
| <rdar://problem/22566764> |
| |
| Reviewed by Beth Dakin. |
| |
| Add null check for frame() before trying to access the frame settings, |
| similarly to what is done earlier in this function. This fixes a top |
| crasher. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::pluginSnapshotTimerFired): |
| |
| 2016-04-19 Dean Jackson <dino@apple.com> |
| |
| New SPI to export a dictionary of runtime features |
| https://bugs.webkit.org/show_bug.cgi?id=156645 |
| <rdar://problem/23621666> |
| |
| Reviewed by Anders Carlsson. |
| |
| Mark the new SPI as WK_MAC_TBA, WK_IOS_TBA. |
| |
| * UIProcess/API/Cocoa/_WKExperimentalFeature.h: |
| |
| 2016-04-19 Dean Jackson <dino@apple.com> |
| |
| New SPI to export a dictionary of runtime features |
| https://bugs.webkit.org/show_bug.cgi?id=156645 |
| <rdar://problem/23621666> |
| |
| Post commit follow-up. Darin gave review comments that |
| I didn't address in my original commit - I was waiting |
| on some advice. |
| |
| * UIProcess/WebPreferences.cpp: |
| (WebKit::WebPreferences::isEnabledForFeature): Change the macro |
| to generate a static list of function pointers, rather than |
| a lot of conditional statements. |
| (WebKit::WebPreferences::setEnabledForFeature): Ditto. |
| |
| 2016-04-19 Chris Dumez <cdumez@apple.com> |
| |
| Mark more classes as WTF_MAKE_FAST_ALLOCATED |
| https://bugs.webkit.org/show_bug.cgi?id=156732 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/Downloads/Download.h: |
| * NetworkProcess/Downloads/PendingDownload.h: |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h: |
| * Shared/API/Cocoa/RemoteObjectInvocation.h: |
| |
| 2016-04-19 Alex Christensen <achristensen@webkit.org> |
| |
| Build fix. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::preregisterSandboxExtensionsForOptionallyFileBackedBlob): |
| result is unused. |
| |
| 2016-04-19 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: ObjectStore Blob Support. |
| https://bugs.webkit.org/show_bug.cgi?id=143193 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::preregisterSandboxExtensionsForOptionallyFileBackedBlob): Don't ASSERT that |
| this is the first we've heard of this path - The Connection now remembers all extensions. |
| (WebKit::NetworkConnectionToWebProcess::getBlobDataFileReferenceForPath): Don't take - Just get. |
| |
| 2016-04-19 Antti Koivisto <antti@apple.com> |
| |
| Try to fix iOS build. |
| |
| * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h: |
| |
| 2016-04-19 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r199658. |
| https://bugs.webkit.org/show_bug.cgi?id=156736 |
| |
| It broke all EFL layout tests (Requested by KaL on #webkit). |
| |
| Reverted changeset: |
| |
| "[UNIX] Initialize WebKit before the platform initializations" |
| https://bugs.webkit.org/show_bug.cgi?id=156622 |
| http://trac.webkit.org/changeset/199658 |
| |
| 2016-04-18 Alex Christensen <achristensen@webkit.org> |
| |
| Build fix after r199700 |
| |
| * PlatformMac.cmake: |
| |
| 2016-04-18 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB (Blob support): When reading Blobs from the database, grant the Networking process sandbox access to the files. |
| https://bugs.webkit.org/show_bug.cgi?id=156640 |
| |
| Reviewed by Alex Christensen. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::getSandboxExtensionsForBlobFiles): Utility function to ask the UI process for |
| SandboxExtensions for a list of files. |
| (WebKit::DatabaseProcess::didGetSandboxExtensionsForBlobFiles): Take the SandboxExtensions from the UI process |
| and pass them along to the completion handler. |
| * DatabaseProcess/DatabaseProcess.h: |
| * DatabaseProcess/DatabaseProcess.messages.in: |
| |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp: |
| (WebKit::WebIDBConnectionToClient::didGetRecord): If the value returned from the database doesn't have Blob files, |
| pass the result directly on to WebCore. If it does, ask the UI process for SandboxExtensions first. |
| |
| * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: |
| (WebKit::NetworkBlobRegistry::registerBlobURLOptionallyFileBacked): Grab the BlobDataFileReference from the |
| NetworkConnectionToWebProcess to pass along to the BlobRegistry. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::preregisterSandboxExtensionsForOptionallyFileBackedBlob): Add this message |
| so the WebProcess can preflight the creation of some blob URLs by passing along the SandboxExtensions for their files. |
| (WebKit::NetworkConnectionToWebProcess::takeBlobDataFileReferenceForPath): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| |
| * UIProcess/Databases/DatabaseProcessProxy.cpp: |
| (WebKit::DatabaseProcessProxy::getSandboxExtensionsForBlobFiles): Create SandboxExtensions for the passed in files and |
| return them to the DatabaseProcess. |
| * UIProcess/Databases/DatabaseProcessProxy.h: |
| * UIProcess/Databases/DatabaseProcessProxy.messages.in: |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| (WebKit::WebIDBConnectionToServer::didGetRecordWithSandboxExtensions): New form of "didGetRecord" that handles passing |
| the SandboxExtensions to the Networking process before they are needed. |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in: |
| |
| * WebProcess/FileAPI/BlobRegistryProxy.cpp: |
| (WebKit::BlobRegistryProxy::registerBlobURLOptionallyFileBacked): |
| * WebProcess/FileAPI/BlobRegistryProxy.h: |
| |
| 2016-04-18 Dean Jackson <dino@apple.com> |
| |
| New SPI to export a dictionary of runtime features |
| https://bugs.webkit.org/show_bug.cgi?id=156645 |
| <rdar://problem/23621666> |
| |
| Trying to fix GTK and EFL builds. I forgot to add files |
| to CMake. |
| |
| * CMakeLists.txt: |
| * PlatformMac.cmake: |
| |
| 2016-04-18 Dean Jackson <dino@apple.com> |
| |
| New SPI to export a dictionary of runtime features |
| https://bugs.webkit.org/show_bug.cgi?id=156645 |
| <rdar://problem/23621666> |
| |
| Reviewed by Darin Adler. |
| |
| Add a new type of Preference for experimental features so that we |
| can dynamically toggle them from a WebKit2 host. These are special |
| keys that are tied to runtime flags. The host process can ask WebKit |
| for the list of keys, each with a small description, in order to |
| display UI. |
| |
| - Add HumanReadableName and HumanReadableDescription parameters to our |
| macros, which are used when building a ExperimentalFeature. |
| These are both empty strings for the existing preferences. At some |
| point we should probably move all this to code generation rather |
| than macros, so that we don't have to carry around unused parameters. |
| |
| - I've included two sample experimental features: WebGL2 and ShadowDOM. |
| They are not actually hooked up to the runtime settings yet, but its |
| pretty clear how that will happen. Note that these are new preferences |
| that have an "Experimental" prefix. This is so toggling an experimental |
| feature to off won't cause the feature to not work once it becomes |
| stable enough to enable by default. In other words, when it moves |
| out of the experimental stage, the experimental feature flag will be |
| removed, and you'll no longer check for values with that key. |
| |
| - The ExperimentalFeature object is what the host process |
| will read in order to show some UI. It contains the human readable info, |
| as well as the actual key that can be used to query and toggle the |
| experimental feature. |
| |
| * Shared/API/APIObject.h: Add the ExperimentalFeature. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): Exposes a wrapper around a _WKExperimentalFeature ObjC type. |
| |
| * Shared/WebPreferencesDefinitions.h: Change all the existing macros to take the new |
| parameters, and add the initial experimental keys. |
| |
| * Shared/WebPreferencesKeys.cpp: Add new parameters to existing macros. |
| * Shared/WebPreferencesKeys.h: Ditto. |
| * Shared/WebPreferencesStore.cpp: Ditto. |
| (WebKit::defaults): |
| |
| * UIProcess/API/APIExperimentalFeature.cpp: The API side of the ExperimentalFeature. |
| (API::ExperimentalFeature::create): |
| (API::ExperimentalFeature::ExperimentalFeature): |
| (API::ExperimentalFeature::~ExperimentalFeature): |
| * UIProcess/API/APIExperimentalFeature.h: |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: The actual implementation of the SPI. |
| (+[WKPreferences _experimentalFeatures]): Create and return a list of feature descriptors. |
| (-[WKPreferences _isEnabledForFeature:]): Get the value. |
| (-[WKPreferences _setEnabled:forFeature:]): Set the value. |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| |
| * UIProcess/API/Cocoa/_WKExperimentalFeature.h: The ObjC version. |
| * UIProcess/API/Cocoa/_WKExperimentalFeature.mm: |
| (-[_WKExperimentalFeature dealloc]): |
| (-[_WKExperimentalFeature description]): |
| (-[_WKExperimentalFeature name]): |
| (-[_WKExperimentalFeature key]): |
| (-[_WKExperimentalFeature details]): |
| (-[_WKExperimentalFeature _apiObject]): |
| * UIProcess/API/Cocoa/_WKExperimentalFeatureInternal.h: Implementation of the wrapper. |
| (WebKit::wrapper): |
| |
| * UIProcess/WebPreferences.cpp: The C++ implementation that provides the data for the ObjC API. |
| (WebKit::globalExperimentalFeatures): |
| (WebKit::WebPreferences::ExperimentalFeatures): |
| (WebKit::WebPreferences::isEnabledForFeature): |
| (WebKit::WebPreferences::setEnabledForFeature): |
| * UIProcess/WebPreferences.h: |
| |
| * UIProcess/mac/WebPreferencesMac.mm: Update some macros. |
| (WebKit::WebPreferences::platformInitializeStore): |
| * WebProcess/WebPage/WebPage.cpp: Ditto |
| (WebKit::WebPage::updatePreferences): |
| |
| * WebKit2.xcodeproj/project.pbxproj: Add the new files. |
| |
| 2016-04-18 Tim Horton <timothy_horton@apple.com> |
| |
| Swipe view gesture should be reversed in right-to-left contexts |
| https://bugs.webkit.org/show_bug.cgi?id=156714 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/UserInterfaceLayoutDirection.h: Added. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::userInterfaceLayoutDirection): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::userInterfaceLayoutDirection): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::userInterfaceLayoutDirection): |
| Plumb RTL-ness through to WebPageProxy. |
| We look at the WK(Web)View's UI layout direction. |
| For other platforms, we just assume LTR. |
| |
| * UIProcess/mac/ViewGestureController.h: |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe): |
| Decide which way to swipe (and which way to look for back-forward items) |
| based on the WebPageProxy's reported RTLness. |
| |
| (WebKit::ViewGestureController::isPhysicallySwipingLeft): |
| "Back" means "swiping left" in LTR and "swiping right" in RTL. |
| |
| (WebKit::ViewGestureController::trackSwipeGesture): |
| (WebKit::ViewGestureController::determineLayerAdjacentToSnapshotForParent): |
| (WebKit::ViewGestureController::beginSwipeGesture): |
| (WebKit::ViewGestureController::handleSwipeGesture): |
| Make things that were equating "back" with "left" instead check isPhysicallySwipingLeft. |
| |
| 2016-04-18 Anders Carlsson <andersca@apple.com> |
| |
| Fix build with newer versions of clang. |
| rdar://problem/25749769 |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| * UIProcess/mac/WebPageProxyMac.mm: |
| Forward declare some AppKit IPI. |
| |
| 2016-04-18 Tina Liu <iting_liu@apple.com> |
| |
| Implement functions to set plug-in load policies for private browsing mode |
| https://bugs.webkit.org/show_bug.cgi?id=156540 |
| |
| Reviewed by Anders Carlsson. |
| |
| This patch implements API and wrappers for clients to set policies to use when using |
| private browsing. WebPlatformStrategies would return which policies to use depending |
| on whether the page is in private browsing mode. |
| |
| * Shared/WebProcessCreationParameters.h: |
| Add a hash map for plug-in load policies for private browsing. |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| |
| * UIProcess/API/C/mac/WKContextPrivateMac.h: |
| * UIProcess/API/C/mac/WKContextPrivateMac.mm: |
| (WKContextSetPrivateBrowsingPluginLoadClientPolicy): |
| Add a wrapper. |
| |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| Set the WebProcessCreationParameters's pluginLoadClientPoliciesForPrivateBrowsing. |
| (WebKit::WebProcessPool::setPluginLoadClientPolicyForBrowsingMode): |
| A helper function that sets plug-in policies to the corresponding instance variable: |
| m_pluginLoadClientPolicies for general browsing and m_pluginLoadClientPoliciesForPrivateBrowsing |
| for private browsing. The logic is extracted from the original setPluginLoadClientPolicy. |
| While we are here, get rid of the .contains() lookup as .get() will just return a |
| constructed object if the key is not found. |
| (WebKit::WebProcessPool::setPluginLoadClientPolicy): |
| Switch to use the helper function to set policies. |
| (WebKit::WebProcessPool::setPrivateBrowsingPluginLoadClientPolicy): |
| Ditto. Also send a message to the WebProcess for setting policies for private browsing. |
| (WebKit::WebProcessPool::clearPluginClientPolicies): |
| Clear plug-ins' private browsing policies. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::setPluginLoadClientPolicyForBrowsingMode): |
| Ditto as WebProcessPool::setPluginLoadClientPolicyForBrowsingMode. |
| (WebKit::WebPlatformStrategies::setPluginLoadClientPolicy): |
| Switch to use setPluginLoadClientPolicyForBrowsingMode to set policies. |
| (WebKit::WebPlatformStrategies::setPrivateBrowsingPluginLoadClientPolicy): |
| Use setPluginLoadClientPolicyForBrowsingMode to set policies for private browsing. |
| (WebKit::WebPlatformStrategies::clearPluginClientPolicies): |
| Clear plug-ins' private browsing policies. |
| (WebKit::WebPlatformStrategies::longestMatchedWildcardHostForHost): |
| Add an argument for private browsing. Read from the corresponding ivar. |
| (WebKit::WebPlatformStrategies::replaceHostWithMatchedWildcardHost): |
| Ditto. |
| (WebKit::WebPlatformStrategies::pluginLoadClientPolicyForHost): Deleted. |
| Renamed this function as pluginLoadClientPolicyForHostForBrowsingMode. |
| (WebKit::WebPlatformStrategies::pluginLoadClientPolicyForHostForBrowsingMode): |
| Ditto. |
| (WebKit::WebPlatformStrategies::populatePluginCache): |
| Get the plug-in load policies for a specific host based on the page's session status. If the page |
| is using ephemeral session, use the private browsing policies. |
| |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| Switch to call the helper function setPluginLoadClientPolicyFromCreationParameters. |
| (WebKit::WebProcess::setPluginLoadClientPolicies): |
| Logic moved from initializeWebProcess. Call PluginStrategy::setPluginLoadClientPolicy or |
| PluginStrategy::setPrivateBrowsingPluginLoadClientPolicy depending on the input argument. |
| (WebKit::WebProcess::setPrivateBrowsingPluginLoadClientPolicy): |
| Add a wrapper to call PluginStrategy::setPrivateBrowsingPluginLoadClientPolicy. |
| |
| * WebProcess/WebProcess.messages.in: |
| Declare an entry for setPrivateBrowsingPluginLoadClientPolicy. |
| |
| 2016-04-18 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][iOS] Only adjust network responses' MIME type for QuickLook in the context of a main resource load |
| https://bugs.webkit.org/show_bug.cgi?id=156639 |
| <rdar://problem/25765848> |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/NetworkDataTask.h: |
| (WebKit::NetworkDataTask::firstRequest): |
| Add getter to return the first request. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| Pass flag to adjustMIMETypeIfNecessary() indicated if this is a main resource load. |
| |
| 2016-04-18 Brian Burg <bburg@apple.com> |
| |
| Web Automation: provide detailed error messages when an automation command fails |
| https://bugs.webkit.org/show_bug.cgi?id=156635 |
| <rdar://problem/25754051> |
| |
| Reviewed by Darin Adler and Timothy Hatcher. |
| |
| Fill in lots of missing error message details now that the remote end knows |
| how to parse error strings with predefined error names and details. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| Rearrange the error message macros. Make it possible to pass a ErrorMessage |
| variable or just the enum value name and get out an encoded error message |
| that optionally includes a free-form details string. The predefined error |
| name and the details string are joined together with a semicolon. |
| |
| (WebKit::WebAutomationSession::getBrowsingContext): |
| (WebKit::WebAutomationSession::createBrowsingContext): |
| (WebKit::WebAutomationSession::closeBrowsingContext): |
| (WebKit::WebAutomationSession::switchToBrowsingContext): |
| (WebKit::WebAutomationSession::resizeWindowOfBrowsingContext): |
| (WebKit::WebAutomationSession::moveWindowOfBrowsingContext): |
| (WebKit::WebAutomationSession::navigateBrowsingContext): |
| (WebKit::WebAutomationSession::goBackInBrowsingContext): |
| (WebKit::WebAutomationSession::goForwardInBrowsingContext): |
| (WebKit::WebAutomationSession::reloadBrowsingContext): |
| (WebKit::WebAutomationSession::evaluateJavaScriptFunction): |
| (WebKit::WebAutomationSession::didEvaluateJavaScriptFunction): |
| (WebKit::WebAutomationSession::resolveChildFrameHandle): |
| (WebKit::WebAutomationSession::didResolveChildFrame): |
| (WebKit::WebAutomationSession::resolveParentFrameHandle): |
| (WebKit::WebAutomationSession::didResolveParentFrame): |
| (WebKit::WebAutomationSession::computeElementLayout): |
| (WebKit::WebAutomationSession::didComputeElementLayout): |
| (WebKit::WebAutomationSession::isShowingJavaScriptDialog): |
| (WebKit::WebAutomationSession::dismissCurrentJavaScriptDialog): |
| (WebKit::WebAutomationSession::acceptCurrentJavaScriptDialog): |
| (WebKit::WebAutomationSession::messageOfCurrentJavaScriptDialog): |
| (WebKit::WebAutomationSession::setUserInputForCurrentJavaScriptPrompt): |
| (WebKit::WebAutomationSession::getAllCookies): |
| (WebKit::WebAutomationSession::didGetCookiesForFrame): |
| (WebKit::WebAutomationSession::deleteSingleCookie): |
| (WebKit::WebAutomationSession::didDeleteCookie): |
| (WebKit::WebAutomationSession::addSingleCookie): |
| (WebKit::WebAutomationSession::deleteAllCookies): |
| (WebKit::WebAutomationSession::performMouseInteraction): |
| (WebKit::WebAutomationSession::performKeyboardInteractions): |
| (WebKit::WebAutomationSession::takeScreenshot): |
| (WebKit::WebAutomationSession::didTakeScreenshot): |
| Audit almost all early exits and provide a relevant error details message |
| if the error itself is ambiguous. Make sure to format asynchronous errors. |
| |
| 2016-04-18 Brent Fulgham <bfulgham@apple.com> |
| |
| CSP: Remove stubs for dynamically-added favicons (via link rel="icon") |
| https://bugs.webkit.org/show_bug.cgi?id=153151 |
| <rdar://problem/24383176> |
| |
| Reviewed by Darin Adler. |
| |
| Remove the unused dynamic favicon code and tests. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDidChangeIcons): Deleted. |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: |
| |
| 2016-04-18 Jer Noble <jer.noble@apple.com> |
| |
| REGRESSION( r199603): Pandora crashes WebKit in WebPlaybackSessionManager::removeClientForContext |
| https://bugs.webkit.org/show_bug.cgi?id=156648 |
| |
| Reviewed by Darin Adler. |
| |
| Follow up patch to r199615; avoid a double hash lookup by using a .find() pattern instead of |
| .contains() & .get(). |
| |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: |
| (WebKit::WebPlaybackSessionManager::setUpPlaybackControlsManager): |
| (WebKit::WebPlaybackSessionManager::clearPlaybackControlsManager): |
| |
| 2016-04-18 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, rolling out r199644. |
| |
| Seems to have caused a 1-2% regression on warm PLT |
| |
| Reverted changeset: |
| |
| "[WK2][iOS] Do not dlopen() QuickLook in the NetworkProcess" |
| https://bugs.webkit.org/show_bug.cgi?id=156639 |
| http://trac.webkit.org/changeset/199644 |
| |
| 2016-04-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Pending API Request URL is wrong after reloading |
| https://bugs.webkit.org/show_bug.cgi?id=139342 |
| |
| Reviewed by Darin Adler. |
| |
| It happens when reloading a web view loaded with anything but a |
| URL, because the bf list is not updated for those cases and |
| WebPageProxy::reload() is setting the current bf list item URL as |
| pending API request URL. This also causes that progress is |
| reported wrongly, because |
| WebPageProxy::decidePolicyForNavigationAction() resets the pending |
| API request URL when it's different than the requested URL. The |
| page load transaction causes the progress to be changed, reporting |
| 1.0 (the previous one), but later something < 1.0 is reported |
| again by the progress tracker. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::reload): Use the current active URL as |
| pending API request URL, falling back to the current bf list item |
| URL when empty. |
| |
| 2016-04-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Pending API request URL no set when loading Data, Alternate HTML or plain text |
| https://bugs.webkit.org/show_bug.cgi?id=136916 |
| |
| Reviewed by Darin Adler. |
| |
| Set pending API request URL for all load methods in |
| WebPageProxy. This ensures that right after calling those methods, |
| the active URL is the requested one and that |
| PageLoadState::isLoading() returns true. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::loadAlternateHTMLString): |
| (WebKit::WebPageProxy::loadPlainTextString): |
| (WebKit::WebPageProxy::loadWebArchiveData): |
| |
| 2016-04-18 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r199660. |
| https://bugs.webkit.org/show_bug.cgi?id=156691 |
| |
| It broke the iOS build (Requested by KaL on #webkit). |
| |
| Reverted changeset: |
| |
| "Pending API request URL no set when loading Data, Alternate |
| HTML or plain text" |
| https://bugs.webkit.org/show_bug.cgi?id=136916 |
| http://trac.webkit.org/changeset/199660 |
| |
| 2016-04-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Pending API request URL no set when loading Data, Alternate HTML or plain text |
| https://bugs.webkit.org/show_bug.cgi?id=136916 |
| |
| Reviewed by Darin Adler. |
| |
| Set pending API request URL for all load methods in |
| WebPageProxy. This ensures that right after calling those methods, |
| the active URL is the requested one and that |
| PageLoadState::isLoading() returns true. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::loadAlternateHTMLString): |
| (WebKit::WebPageProxy::loadPlainTextString): |
| (WebKit::WebPageProxy::loadWebArchiveData): |
| |
| 2016-04-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [UNIX] Initialize WebKit before the platform initializations |
| https://bugs.webkit.org/show_bug.cgi?id=156622 |
| |
| Reviewed by Michael Catanzaro. |
| |
| The platform specific initialization might use something that would require WebKit2 to be initialized. For |
| example, in debug mode, the GTK+ port uses WTF::sleep that requires the threading to be initialized. |
| |
| * Shared/unix/ChildProcessMain.h: |
| (WebKit::ChildProcessMain): Move InitializeWebKit2() before platformInitialize(). |
| |
| 2016-04-18 Jeremy Huddleston Sequoia <jeremyhu@apple.com> |
| |
| Fix incorrect assumption that APPLE implies Mac. |
| https://bugs.webkit.org/show_bug.cgi?id=156679 |
| |
| Addresses build failure introduced in r198947 |
| |
| Reviewed by Alex Christensen. |
| |
| * CMakeLists.txt: |
| |
| 2016-04-17 Yoav Weiss <yoav@yoav.ws> |
| |
| Initial Link preload support |
| https://bugs.webkit.org/show_bug.cgi?id=156334 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::maximumBufferingTime): Added LinkPreload as a possible CachedResource::type. |
| |
| 2016-04-17 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][iOS] Do not dlopen() QuickLook in the NetworkProcess |
| https://bugs.webkit.org/show_bug.cgi?id=156639 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::didReceiveResponse): |
| Move checks for main resource load and for MIME type inside of |
| QuickLookHandle::createIfNecessary(), for consistency with the |
| other QuickLookHandle factory functions. |
| |
| 2016-04-16 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] Web Content service with a restricted entitlement may load arbitrary dylibs |
| https://bugs.webkit.org/show_bug.cgi?id=156668 |
| <rdar://problem/25429784> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/WebContentService.xcconfig: Enable library validation when the Web Content |
| service is given the XPC domain extension entitlement. |
| |
| 2016-04-15 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] WebContent, Networking and Databases services have i386 slices that are never used |
| https://bugs.webkit.org/show_bug.cgi?id=156654 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/BaseXPCService.xcconfig: Set VALID_ARCHS to ARCHS_STANDARD when not building only |
| for the active architecture. |
| * Configurations/PluginService.32.xcconfig: Removed now-redundant definitions. |
| * Configurations/PluginService.64.xcconfig: Ditto. |
| |
| 2016-04-15 Sam Weinig <sam@webkit.org> |
| |
| Need a way to specify a script name to show in the inspector for scripts injected via WKUserScript |
| <rdar://problem/25626662> |
| https://bugs.webkit.org/show_bug.cgi?id=156653 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKUserScript.mm: |
| (-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:userContentWorld:]): |
| * UIProcess/API/Cocoa/WKUserScriptPrivate.h: |
| Add a new initializer that takes an associate URL that is used to represent the user script. |
| |
| 2016-04-15 Darin Adler <darin@apple.com> |
| |
| Reduce use of Deprecated::ScriptXXX classes |
| https://bugs.webkit.org/show_bug.cgi?id=156632 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::performJavaScriptURLRequest): Use JSValue. |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| (WebKit::WebInspectorUI::windowObjectCleared): Use references. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::runJavaScriptInMainFrame): Use JSValue. |
| |
| 2016-04-15 Jer Noble <jer.noble@apple.com> |
| |
| REGRESSION( r199603): Pandora crashes WebKit in WebPlaybackSessionManager::removeClientForContext |
| https://bugs.webkit.org/show_bug.cgi?id=156648 |
| <rdar://problem/25758117> |
| |
| Reviewed by Beth Dakin. |
| |
| Mistakenly checked in a reversed condition check, which causes a subsequent assert and crash. |
| |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: |
| (WebKit::WebPlaybackSessionManager::clearPlaybackControlsManager): |
| |
| 2016-04-15 Chris Dumez <cdumez@apple.com> |
| |
| Mark NetworkLoad as FastAllocated |
| https://bugs.webkit.org/show_bug.cgi?id=156628 |
| |
| Reviewed by Alex Christensen. |
| |
| Mark NetworkLoad as FastAllocated for performance. |
| |
| * NetworkProcess/NetworkLoad.h: |
| |
| 2016-04-14 Jer Noble <jer.noble@apple.com> |
| |
| Allow WebVideoFullscreenManager and Proxy to be used by audio elements. |
| https://bugs.webkit.org/show_bug.cgi?id=156564 |
| |
| Reviewed by Beth Dakin. |
| |
| Tease apart WebVideoFullscreenManager and …Proxy into WebPlaybackSessionManager and …Proxy |
| classes dealing exclusively with playback state and commands, leaving fullscreen state and |
| commands in the WebVideoFullscreenManager… classes. |
| |
| WebVideoFullscreenManager and …Proxy will now require an associated |
| WebPlaybackSessionManager and …Proxy class. The WebPlaybackSessionManager classes can be |
| used separately and without the WebVideoFullscreenManager classes. |
| |
| * DerivedSources.make: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]): |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h: Copied from Source/WebKit2/UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h. |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in: Copied from Source/WebKit2/UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in. |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm: Added. |
| (WebKit::WebPlaybackSessionModelContext::play): |
| (WebKit::WebPlaybackSessionModelContext::pause): |
| (WebKit::WebPlaybackSessionModelContext::togglePlayState): |
| (WebKit::WebPlaybackSessionModelContext::beginScrubbing): |
| (WebKit::WebPlaybackSessionModelContext::endScrubbing): |
| (WebKit::WebPlaybackSessionModelContext::seekToTime): |
| (WebKit::WebPlaybackSessionModelContext::fastSeek): |
| (WebKit::WebPlaybackSessionModelContext::beginScanningForward): |
| (WebKit::WebPlaybackSessionModelContext::beginScanningBackward): |
| (WebKit::WebPlaybackSessionModelContext::endScanning): |
| (WebKit::WebPlaybackSessionModelContext::selectAudioMediaOption): |
| (WebKit::WebPlaybackSessionModelContext::selectLegibleMediaOption): |
| (WebKit::WebPlaybackSessionManagerProxy::create): |
| (WebKit::WebPlaybackSessionManagerProxy::WebPlaybackSessionManagerProxy): |
| (WebKit::WebPlaybackSessionManagerProxy::~WebPlaybackSessionManagerProxy): |
| (WebKit::WebPlaybackSessionManagerProxy::invalidate): |
| (WebKit::WebPlaybackSessionManagerProxy::createModelAndInterface): |
| (WebKit::WebPlaybackSessionManagerProxy::ensureModelAndInterface): |
| (WebKit::WebPlaybackSessionManagerProxy::ensureModel): |
| (WebKit::WebPlaybackSessionManagerProxy::ensureInterface): |
| (WebKit::WebPlaybackSessionManagerProxy::addClientForContext): |
| (WebKit::WebPlaybackSessionManagerProxy::removeClientForContext): |
| (WebKit::WebPlaybackSessionManagerProxy::setUpPlaybackControlsManagerWithID): |
| (WebKit::WebPlaybackSessionManagerProxy::clearPlaybackControlsManager): |
| (WebKit::WebPlaybackSessionManagerProxy::resetMediaState): |
| (WebKit::WebPlaybackSessionManagerProxy::setCurrentTime): |
| (WebKit::WebPlaybackSessionManagerProxy::setBufferedTime): |
| (WebKit::WebPlaybackSessionManagerProxy::setSeekableRangesVector): |
| (WebKit::WebPlaybackSessionManagerProxy::setCanPlayFastReverse): |
| (WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionOptions): |
| (WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionOptions): |
| (WebKit::WebPlaybackSessionManagerProxy::setExternalPlaybackProperties): |
| (WebKit::WebPlaybackSessionManagerProxy::setWirelessVideoPlaybackDisabled): |
| (WebKit::WebPlaybackSessionManagerProxy::setDuration): |
| (WebKit::WebPlaybackSessionManagerProxy::setRate): |
| (WebKit::WebPlaybackSessionManagerProxy::play): |
| (WebKit::WebPlaybackSessionManagerProxy::pause): |
| (WebKit::WebPlaybackSessionManagerProxy::togglePlayState): |
| (WebKit::WebPlaybackSessionManagerProxy::beginScrubbing): |
| (WebKit::WebPlaybackSessionManagerProxy::endScrubbing): |
| (WebKit::WebPlaybackSessionManagerProxy::seekToTime): |
| (WebKit::WebPlaybackSessionManagerProxy::fastSeek): |
| (WebKit::WebPlaybackSessionManagerProxy::beginScanningForward): |
| (WebKit::WebPlaybackSessionManagerProxy::beginScanningBackward): |
| (WebKit::WebPlaybackSessionManagerProxy::endScanning): |
| (WebKit::WebPlaybackSessionManagerProxy::selectAudioMediaOption): |
| (WebKit::WebPlaybackSessionManagerProxy::selectLegibleMediaOption): |
| (WebKit::WebPlaybackSessionManagerProxy::controlsManagerInterface): |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenModelContext::WebVideoFullscreenModelContext): |
| (WebKit::WebVideoFullscreenModelContext::~WebVideoFullscreenModelContext): |
| (WebKit::WebVideoFullscreenModelContext::play): |
| (WebKit::WebVideoFullscreenModelContext::pause): |
| (WebKit::WebVideoFullscreenModelContext::togglePlayState): |
| (WebKit::WebVideoFullscreenModelContext::beginScrubbing): |
| (WebKit::WebVideoFullscreenModelContext::endScrubbing): |
| (WebKit::WebVideoFullscreenModelContext::seekToTime): |
| (WebKit::WebVideoFullscreenModelContext::fastSeek): |
| (WebKit::WebVideoFullscreenModelContext::beginScanningForward): |
| (WebKit::WebVideoFullscreenModelContext::beginScanningBackward): |
| (WebKit::WebVideoFullscreenModelContext::endScanning): |
| (WebKit::WebVideoFullscreenModelContext::selectAudioMediaOption): |
| (WebKit::WebVideoFullscreenModelContext::selectLegibleMediaOption): |
| (WebKit::WebVideoFullscreenManagerProxy::create): |
| (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy): |
| (WebKit::WebVideoFullscreenManagerProxy::createModelAndInterface): |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::setVideoDimensions): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::enterFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::exitFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::exitFullscreenWithoutAnimationToMode): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::cleanupFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::preparedToReturnToInline): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::requestFullscreenMode): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::didSetupFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::didCleanupFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame): Deleted. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| (WebKit::WebPageProxy::playbackSessionManager): |
| (WebKit::WebPageProxy::videoFullscreenManager): |
| (WebKit::WebPageProxy::resetState): |
| (WebKit::WebPageProxy::hasActiveVideoForControlsManager): |
| (WebKit::WebPageProxy::isPlayingMediaDidChange): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::supportsVideoFullscreen): |
| (WebKit::WebChromeClient::setUpPlaybackControlsManager): |
| (WebKit::WebChromeClient::clearPlaybackControlsManager): |
| (WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): |
| (WebKit::WebChromeClient::exitVideoFullscreenForVideoElement): |
| (WebKit::WebChromeClient::exitVideoFullscreenToModeWithoutAnimation): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::playbackSessionManager): |
| (WebKit::WebPage::videoFullscreenManager): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/cocoa/WebPlaybackSessionManager.h: Copied from Source/WebKit2/WebProcess/cocoa/WebVideoFullscreenManager.h. |
| (WebKit::WebPlaybackSessionInterfaceContext::create): |
| (WebKit::WebPlaybackSessionInterfaceContext::invalidate): |
| * WebProcess/cocoa/WebPlaybackSessionManager.messages.in: Added. |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: Added. |
| (WebKit::nextContextId): |
| (WebKit::WebPlaybackSessionInterfaceContext::WebPlaybackSessionInterfaceContext): |
| (WebKit::WebPlaybackSessionInterfaceContext::~WebPlaybackSessionInterfaceContext): |
| (WebKit::WebPlaybackSessionInterfaceContext::resetMediaState): |
| (WebKit::WebPlaybackSessionInterfaceContext::setDuration): |
| (WebKit::WebPlaybackSessionInterfaceContext::setCurrentTime): |
| (WebKit::WebPlaybackSessionInterfaceContext::setBufferedTime): |
| (WebKit::WebPlaybackSessionInterfaceContext::setRate): |
| (WebKit::WebPlaybackSessionInterfaceContext::setSeekableRanges): |
| (WebKit::WebPlaybackSessionInterfaceContext::setCanPlayFastReverse): |
| (WebKit::WebPlaybackSessionInterfaceContext::setAudioMediaSelectionOptions): |
| (WebKit::WebPlaybackSessionInterfaceContext::setLegibleMediaSelectionOptions): |
| (WebKit::WebPlaybackSessionInterfaceContext::setExternalPlayback): |
| (WebKit::WebPlaybackSessionInterfaceContext::setWirelessVideoPlaybackDisabled): |
| (WebKit::WebPlaybackSessionManager::create): |
| (WebKit::WebPlaybackSessionManager::WebPlaybackSessionManager): |
| (WebKit::WebPlaybackSessionManager::~WebPlaybackSessionManager): |
| (WebKit::WebPlaybackSessionManager::createModelAndInterface): |
| (WebKit::WebPlaybackSessionManager::ensureModelAndInterface): |
| (WebKit::WebPlaybackSessionManager::ensureModel): |
| (WebKit::WebPlaybackSessionManager::ensureInterface): |
| (WebKit::WebPlaybackSessionManager::removeContext): |
| (WebKit::WebPlaybackSessionManager::addClientForContext): |
| (WebKit::WebPlaybackSessionManager::removeClientForContext): |
| (WebKit::WebPlaybackSessionManager::setUpPlaybackControlsManager): |
| (WebKit::WebPlaybackSessionManager::clearPlaybackControlsManager): |
| (WebKit::WebPlaybackSessionManager::contextIdForMediaElement): |
| (WebKit::WebPlaybackSessionManager::resetMediaState): |
| (WebKit::WebPlaybackSessionManager::setDuration): |
| (WebKit::WebPlaybackSessionManager::setCurrentTime): |
| (WebKit::WebPlaybackSessionManager::setBufferedTime): |
| (WebKit::WebPlaybackSessionManager::setRate): |
| (WebKit::WebPlaybackSessionManager::setSeekableRanges): |
| (WebKit::WebPlaybackSessionManager::setCanPlayFastReverse): |
| (WebKit::WebPlaybackSessionManager::setAudioMediaSelectionOptions): |
| (WebKit::WebPlaybackSessionManager::setLegibleMediaSelectionOptions): |
| (WebKit::WebPlaybackSessionManager::setExternalPlayback): |
| (WebKit::WebPlaybackSessionManager::setWirelessVideoPlaybackDisabled): |
| (WebKit::WebPlaybackSessionManager::play): |
| (WebKit::WebPlaybackSessionManager::pause): |
| (WebKit::WebPlaybackSessionManager::togglePlayState): |
| (WebKit::WebPlaybackSessionManager::beginScrubbing): |
| (WebKit::WebPlaybackSessionManager::endScrubbing): |
| (WebKit::WebPlaybackSessionManager::seekToTime): |
| (WebKit::WebPlaybackSessionManager::fastSeek): |
| (WebKit::WebPlaybackSessionManager::beginScanningForward): |
| (WebKit::WebPlaybackSessionManager::beginScanningBackward): |
| (WebKit::WebPlaybackSessionManager::endScanning): |
| (WebKit::WebPlaybackSessionManager::selectAudioMediaOption): |
| (WebKit::WebPlaybackSessionManager::selectLegibleMediaOption): |
| * WebProcess/cocoa/WebVideoFullscreenManager.h: |
| (WebKit::WebVideoFullscreenInterfaceContext::create): |
| * WebProcess/cocoa/WebVideoFullscreenManager.messages.in: |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenInterfaceContext::WebVideoFullscreenInterfaceContext): |
| (WebKit::WebVideoFullscreenInterfaceContext::resetMediaState): |
| (WebKit::WebVideoFullscreenInterfaceContext::setDuration): |
| (WebKit::WebVideoFullscreenInterfaceContext::setCurrentTime): |
| (WebKit::WebVideoFullscreenInterfaceContext::setBufferedTime): |
| (WebKit::WebVideoFullscreenInterfaceContext::setRate): |
| (WebKit::WebVideoFullscreenInterfaceContext::setSeekableRanges): |
| (WebKit::WebVideoFullscreenInterfaceContext::setCanPlayFastReverse): |
| (WebKit::WebVideoFullscreenInterfaceContext::setAudioMediaSelectionOptions): |
| (WebKit::WebVideoFullscreenInterfaceContext::setLegibleMediaSelectionOptions): |
| (WebKit::WebVideoFullscreenInterfaceContext::setExternalPlayback): |
| (WebKit::WebVideoFullscreenInterfaceContext::setWirelessVideoPlaybackDisabled): |
| (WebKit::WebVideoFullscreenManager::create): |
| (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager): |
| (WebKit::WebVideoFullscreenManager::createModelAndInterface): |
| (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): |
| (WebKit::WebVideoFullscreenInterfaceContext::setVideoDimensions): Deleted. |
| (WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager): Deleted. |
| (WebKit::WebVideoFullscreenManager::ensureModelAndInterface): Deleted. |
| (WebKit::WebVideoFullscreenManager::exitVideoFullscreenToModeWithoutAnimation): Deleted. |
| (WebKit::WebVideoFullscreenManager::setVideoDimensions): Deleted. |
| (WebKit::WebVideoFullscreenManager::requestFullscreenMode): Deleted. |
| (WebKit::WebVideoFullscreenManager::fullscreenModeChanged): Deleted. |
| (WebKit::WebVideoFullscreenManager::didSetupFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManager::didEnterFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManager::didExitFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManager::didCleanupFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManager::setVideoLayerGravityEnum): Deleted. |
| (WebKit::WebVideoFullscreenManager::fullscreenMayReturnToInline): Deleted. |
| (WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): Deleted. |
| |
| 2016-04-15 John Wilander <wilander@apple.com> |
| |
| Refactor WebSockets handshake to use StringView instead of String for header validation. |
| https://bugs.webkit.org/show_bug.cgi?id=155602 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/InspectorServer/HTTPRequest.cpp: |
| (WebKit::HTTPRequest::parseHeaders): |
| Now declares the HTTP header name as a StringView to match the change in WebCore::parseHTTPHeader. |
| |
| 2016-04-15 Alex Christensen <achristensen@webkit.org> |
| |
| Don't copy entire NSURLSessionConfiguration just to test for credentials |
| https://bugs.webkit.org/show_bug.cgi?id=156598 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate initWithNetworkSession:withCredentials:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]): |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]): |
| (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): |
| (WebKit::NetworkSession::NetworkSession): |
| (-[WKNetworkSessionDelegate initWithNetworkSession:]): Deleted. |
| |
| 2016-04-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GTK+ build after r199558. |
| |
| * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: |
| (webkitFileChooserRequestCreate): |
| (webkit_file_chooser_request_select_files): |
| * UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h: |
| * UIProcess/API/gtk/WebKitUIClient.cpp: |
| |
| 2016-04-14 Brent Fulgham <bfulgham@apple.com> |
| |
| Make <a download> a runtime enabled option |
| https://bugs.webkit.org/show_bug.cgi?id=156583 |
| <rdar://problem/25733449> |
| |
| Reviewed by Alex Christensen. |
| |
| Add a download attribute runtime flag based on preferences. |
| Disable the download attribute by default. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesGetFetchAPIEnabled): |
| (WKPreferencesSetDownloadAttributeEnabled): |
| (WKPreferencesGetDownloadAttributeEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-04-14 Alex Christensen <achristensen@webkit.org> |
| |
| Build fix after r199554. |
| |
| * CMakeLists.txt: |
| * PlatformMac.cmake: |
| |
| 2016-04-14 Brian Burg <bburg@apple.com> |
| |
| Web Automation: suppress automatic text correction in pages controlled by automation |
| https://bugs.webkit.org/show_bug.cgi?id=156599 |
| <rdar://problem/25712646> |
| |
| Reviewed by Timothy Hatcher. |
| |
| If the page is controlled by automation, then automatic text corrections will |
| cause unexpected behaviors by nondeterministically modifying text inserted by |
| a test. Just pretend these behaviors are disabled if controlled by automation. |
| |
| * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: |
| (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled): |
| (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled): |
| (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled): |
| (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled): |
| |
| 2016-04-14 Anders Carlsson <andersca@apple.com> |
| |
| Try to fix the Yosemite build. |
| |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::runOpenPanel): |
| |
| 2016-04-14 Anders Carlsson <andersca@apple.com> |
| |
| [Mac] Add API for open panel handling to WKWebView |
| https://bugs.webkit.org/show_bug.cgi?id=137759 |
| rdar://problem/23278623 |
| |
| Reviewed by Tim Horton. |
| |
| Based on a patch by Brian Michel. |
| |
| * Shared/API/Cocoa/WebKit.h: |
| Import WKOpenPanelParameters.h. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| Create a WKOpenPanelParameters for Type::OpenPanelParameters. |
| |
| * UIProcess/API/APIOpenPanelParameters.cpp: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.cpp. |
| * UIProcess/API/APIOpenPanelParameters.h: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.h. |
| Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::runOpenPanel): |
| Change this to take a SecurityOriginData. |
| |
| * UIProcess/API/C/WKAPICast.h: |
| * UIProcess/API/C/WKOpenPanelParametersRef.cpp: |
| (WKOpenPanelParametersGetTypeID): |
| Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters. |
| |
| * UIProcess/API/C/WKOpenPanelResultListener.cpp: |
| (filePathsFromFileURLs): |
| (WKOpenPanelResultListenerChooseFiles): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| Change chooseFiles to take a Vector<String> instead of an API::Array of URLs. |
| |
| * UIProcess/API/Cocoa/WKOpenPanelParameters.h: Added. |
| * UIProcess/API/Cocoa/WKOpenPanelParameters.mm: Added. |
| (-[WKOpenPanelParameters allowsMultipleSelection]): |
| (-[WKOpenPanelParameters _apiObject]): |
| * UIProcess/API/Cocoa/WKOpenPanelParametersInternal.h: |
| Add a WKOpenPanelParameters class which contains information about a file upload control. |
| |
| * UIProcess/API/Cocoa/WKUIDelegate.h: |
| Add new delegate method. |
| |
| * UIProcess/Cocoa/UIDelegate.h: |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): |
| Record whether the UI delegate implements the new delegate method. |
| |
| (WebKit::UIDelegate::UIClient::runOpenPanel): |
| Invoke the new delegate method. |
| |
| * UIProcess/PageClient.h: |
| (WebKit::PageClient::handleRunOpenPanel): |
| Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters. |
| |
| * UIProcess/WebOpenPanelResultListenerProxy.cpp: |
| (WebKit::WebOpenPanelResultListenerProxy::chooseFiles): |
| * UIProcess/WebOpenPanelResultListenerProxy.h: |
| Change chooseFiles to take a Vector<String> instead of an API::Array of URLs. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::runOpenPanel): |
| * UIProcess/WebPageProxy.h: |
| Change this to take a SecurityOriginData. |
| |
| * UIProcess/WebPageProxy.messages.in: |
| Change RunOpenPanel to take a SecurityOriginData. |
| |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::handleRunOpenPanel): |
| Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _showRunOpenPanel:resultListener:]): |
| Change chooseFiles to take a Vector<String> instead of an API::Array of URLs. |
| |
| * UIProcess/ios/forms/WKFileUploadPanel.h: |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]): |
| Change chooseFiles to take a Vector<String> instead of an API::Array of URLs. |
| |
| (-[WKFileUploadPanel presentWithParameters:resultListener:]): |
| Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new file. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::runOpenPanel): |
| Pass the security origin of the frame along. |
| |
| 2016-04-14 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Unreviewed, rolling out r199554. |
| |
| The change breaks Yosemite Release/Debug build |
| |
| Reverted changeset: |
| |
| "[Mac] Add API for open panel handling to WKWebView" |
| https://bugs.webkit.org/show_bug.cgi?id=137759 |
| http://trac.webkit.org/changeset/199554 |
| |
| 2016-04-14 Anders Carlsson <andersca@apple.com> |
| |
| [Mac] Add API for open panel handling to WKWebView |
| https://bugs.webkit.org/show_bug.cgi?id=137759 |
| rdar://problem/23278623 |
| |
| Reviewed by Tim Horton. |
| |
| Based on a patch by Brian Michel. |
| |
| * Shared/API/Cocoa/WebKit.h: |
| Import WKOpenPanelParameters.h. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| Create a WKOpenPanelParameters for Type::OpenPanelParameters. |
| |
| * UIProcess/API/APIOpenPanelParameters.cpp: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.cpp. |
| * UIProcess/API/APIOpenPanelParameters.h: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.h. |
| Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::runOpenPanel): |
| Change this to take a SecurityOriginData. |
| |
| * UIProcess/API/C/WKAPICast.h: |
| * UIProcess/API/C/WKOpenPanelParametersRef.cpp: |
| (WKOpenPanelParametersGetTypeID): |
| Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters. |
| |
| * UIProcess/API/C/WKOpenPanelResultListener.cpp: |
| (filePathsFromFileURLs): |
| (WKOpenPanelResultListenerChooseFiles): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| Change chooseFiles to take a Vector<String> instead of an API::Array of URLs. |
| |
| * UIProcess/API/Cocoa/WKOpenPanelParameters.h: Added. |
| * UIProcess/API/Cocoa/WKOpenPanelParameters.mm: Added. |
| (-[WKOpenPanelParameters allowsMultipleSelection]): |
| (-[WKOpenPanelParameters _apiObject]): |
| * UIProcess/API/Cocoa/WKOpenPanelParametersInternal.h: |
| Add a WKOpenPanelParameters class which contains information about a file upload control. |
| |
| * UIProcess/API/Cocoa/WKUIDelegate.h: |
| Add new delegate method. |
| |
| * UIProcess/Cocoa/UIDelegate.h: |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): |
| Record whether the UI delegate implements the new delegate method. |
| |
| (WebKit::UIDelegate::UIClient::runOpenPanel): |
| Invoke the new delegate method. |
| |
| * UIProcess/PageClient.h: |
| (WebKit::PageClient::handleRunOpenPanel): |
| Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters. |
| |
| * UIProcess/WebOpenPanelResultListenerProxy.cpp: |
| (WebKit::WebOpenPanelResultListenerProxy::chooseFiles): |
| * UIProcess/WebOpenPanelResultListenerProxy.h: |
| Change chooseFiles to take a Vector<String> instead of an API::Array of URLs. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::runOpenPanel): |
| * UIProcess/WebPageProxy.h: |
| Change this to take a SecurityOriginData. |
| |
| * UIProcess/WebPageProxy.messages.in: |
| Change RunOpenPanel to take a SecurityOriginData. |
| |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::handleRunOpenPanel): |
| Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _showRunOpenPanel:resultListener:]): |
| Change chooseFiles to take a Vector<String> instead of an API::Array of URLs. |
| |
| * UIProcess/ios/forms/WKFileUploadPanel.h: |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]): |
| Change chooseFiles to take a Vector<String> instead of an API::Array of URLs. |
| |
| (-[WKFileUploadPanel presentWithParameters:resultListener:]): |
| Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new file. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::runOpenPanel): |
| Pass the security origin of the frame along. |
| |
| 2016-04-14 Alex Christensen <achristensen@webkit.org> |
| |
| Fix build without IndexedDB. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins): |
| (WebKit::DatabaseProcess::grantSandboxExtensionsForBlobs): |
| (WebKit::DatabaseProcess::prepareForAccessToTemporaryFile): |
| * DatabaseProcess/DatabaseProcess.h: |
| * DatabaseProcess/DatabaseProcess.messages.in: |
| |
| 2016-04-13 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r199401): Internal builds of Safari hang on launch |
| https://bugs.webkit.org/show_bug.cgi?id=156545 |
| <rdar://problem/25697779> |
| |
| As pointed out by Darin Adler, remove RELEASE_ASSERT() that I inadvertently left in |
| WebCore::secCodeForProcess() as part of r199504. For now, we handle |
| SecCodeCopyGuestWithAttributes() returning an error. In a subsequent commit we will |
| look to re-introduce the use of a RELEASE_ASSERT() to enforce the invariant that |
| SecCodeCopyGuestWithAttributes() returns a success status. |
| |
| * Shared/mac/CodeSigning.mm: |
| (WebKit::secCodeForProcess): |
| |
| 2016-04-13 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB (Blob support): Support retrieving Blobs from IDB. |
| https://bugs.webkit.org/show_bug.cgi?id=156367 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: |
| (WebKit::NetworkBlobRegistry::registerBlobURLOptionallyFileBacked): |
| * NetworkProcess/FileAPI/NetworkBlobRegistry.h: |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::registerBlobURLOptionallyFileBacked): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| |
| * WebProcess/FileAPI/BlobRegistryProxy.cpp: |
| (WebKit::BlobRegistryProxy::registerBlobURLOptionallyFileBacked): |
| * WebProcess/FileAPI/BlobRegistryProxy.h: |
| |
| 2016-04-13 Chris Dumez <cdumez@apple.com> |
| |
| We should not speculatively revalidate cached redirects |
| https://bugs.webkit.org/show_bug.cgi?id=156548 |
| <rdar://problem/25583886> |
| |
| Reviewed by Darin Adler. |
| |
| Stop speculatively revalidating cached redirects. This matches matches |
| the behavior in NetworkCache's makeUseDecision() which reuses cached |
| redirects only if they do not need revalidation. |
| |
| This was breaking fonts.css loading on stripe.com because the |
| SpeculativeLoadManager would wrongly speculatively revalidate the |
| redirect and then serve a 302 response the NetworkResourceLoader |
| when the actual request came in. This would cause us to not follow |
| the redirect. |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: |
| (WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest): |
| Abort the speculative load if it hits a redirect. This is the safe thing |
| to do in this case, as we are supposed to do a hand-shake with WebCore |
| in such case. |
| |
| (WebKit::NetworkCache::SpeculativeLoad::didReceiveResponse): |
| Let successful validations fall through instead of calling didComplete() |
| early. This matches what is not in NetworkResourceLoader. This way, |
| didFinishLoading() ends up getting called for both successful and |
| unsuccessful (i.e. did not return a 302 status code) network validation. |
| |
| (WebKit::NetworkCache::SpeculativeLoad::didFinishLoading): |
| - Stop dealing with redirects as we abort the load as soon as we hit a |
| redirect now. |
| - Stop asserting that m_cacheEntryForValidation is null now that this |
| is called for successful validations as well. |
| |
| (WebKit::NetworkCache::SpeculativeLoad::abort): |
| New method that aborts the network loads, calls the completion handler |
| and clean up. It is called in the case we hit a redirect while |
| revalidating. |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: |
| Drop m_redirectChainCacheStatus member as we no longer deal with |
| redirects. |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage): |
| If the resource needs revalidation AND is a cached redirect, then do not |
| use it. This matches what is done in NetworkCache's makeUseDecision(). |
| |
| 2016-04-13 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: NetworkProcessConnection::didClose needs to have a self ref. |
| <rdar://problem/25700864> and https://bugs.webkit.org/show_bug.cgi?id=156559 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/Network/NetworkProcessConnection.cpp: |
| (WebKit::NetworkProcessConnection::didClose): Self ref to protect this. |
| |
| 2016-04-13 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r199401): Internal builds of Safari hang on launch |
| https://bugs.webkit.org/show_bug.cgi?id=156545 |
| <rdar://problem/25697779> |
| |
| Reviewed by Anders Carlsson. |
| |
| For some reason SecCodeCopyGuestWithAttributes() is failing with an error in Apple Internal |
| Safari builds. For now, temporarily allow the failure while I investigate the cause in |
| <rdar://problem/25706517>. |
| |
| * Shared/mac/CodeSigning.mm: |
| (WebKit::secCodeForProcess): Log the failure with OSStatus code and return nullptr; |
| (WebKit::codeSigningIdentifierForProcess): Return a null string if secCodeForProcess() returns a nullptr. |
| This will cause us to treat affected Apple Internal Safari builds the same as we would treat |
| an unsigned or third-party signed app. |
| |
| 2016-04-13 Alex Christensen <achristensen@webkit.org> |
| |
| Fix client certificate authentication with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=156527 |
| <rdar://problem/25489156> |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| We only want to use serverTrustCredential for ServerTrustEvaluation authentication challenges, not |
| * Shared/Authentication/AuthenticationManager.cpp: |
| (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge): |
| (WebKit::AuthenticationManager::useCredentialForSingleChallenge): |
| * Shared/Authentication/AuthenticationManager.h: |
| * Shared/Authentication/mac/AuthenticationManager.mac.mm: |
| (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge): |
| Don't use challenge.sender with NSURLSession, which requires callbacks instead. |
| |
| 2016-04-12 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r198933): Unable to login to Google account from Internet Accounts preference pane |
| https://bugs.webkit.org/show_bug.cgi?id=156447 |
| <rdar://problem/25628133> |
| |
| Reviewed by Darin Adler. |
| |
| Reverts the workaround landed in r199301 and teaches ProcessLauncherMac to use the code |
| signing identifier of the UI process as the client-identifier if it is signed. Otherwise, |
| we fall back to using the main bundle identifier or _NSGetProgname() depending on whether |
| the UI process has an associated app bundle. |
| |
| * PlatformMac.cmake: Add file Shared/mac/CodeSigning.mm. |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::ChildProcess::initializeSandbox): |
| (WebKit::codeSigningIdentifierForProcess): Deleted; moved from here to file Shared/mac/CodeSigning.mm. |
| * Shared/mac/CodeSigning.h: Added. |
| * Shared/mac/CodeSigning.mm: Added. |
| (WebKit::secCodeForCurrentProcess): Added. |
| (WebKit::secCodeForProcess): Added. |
| (WebKit::secCodeSigningInformation): Added. |
| (WebKit::appleSignedOrMacAppStoreSignedOrAppleDeveloperSignedRequirement): Added. |
| (WebKit::secCodeSigningIdentifier): Added. |
| (WebKit::codeSigningIdentifier): Returns the code signing identifier for the current process. |
| (WebKit::codeSigningIdentifierForProcess): Moved from file Shared/mac/ChildProcessMac.mm. Extracted logic |
| into various helper functions (above) so that it can be shared with WebKit::codeSigningIdentifier() as |
| well as to improve the readability of the code. Removed the OSStatus out argument that was used by callers |
| for logging purposes and moved such logging responsibility into WebKit::secCodeSigningIdentifier() as |
| a release assertion message since we always want to log this error when code signing validation fails. We |
| use a release assertion to cause a noticeable crash because we such failures should not occur and if they |
| do then we want to see crash reports so that we can handle such failures. Using a release assertion for |
| validation failures also simplifies the possible return values of this function as such failures represented |
| the only case where this function would return an empty string. We now return either a null string or a non- |
| empty string. We return a null string when the specified process is either unsigned or signed by a third-party; |
| otherwise, we return a non-empty string that represents the code signing identifier. |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::connectToService): Use the code signing identifier for the client-identifier if we have one (e.g. |
| we are signed app). If we do not have a code signing identifier then take client-identifier to be the |
| bundle identifier of our main bundle. Failing that we take client-identifier to be _NSGetProgname(). |
| * WebKit2.xcodeproj/project.pbxproj: Add files Shared/mac/CodeSigning.{h, mm}. |
| |
| 2016-04-12 Enrica Casucci <enrica@apple.com> |
| |
| Should retrieve text surrounding the selection when performing lookup. |
| https://bugs.webkit.org/show_bug.cgi?id=156525 |
| rdar://problem/25043678 |
| |
| Reviewed by Tim Horton. |
| |
| The lookup functionality requires the surrounding text to improve |
| the quality of the results. This patch changes the implementation of |
| _lookup to retrieve the text before and the text after the selection. |
| It also renames DictationContextCallback to SelectionContextCallback so |
| that it can be used for both dictation and lookup, since they both need |
| the surrounding text. |
| |
| * UIProcess/AutoCorrectionCallback.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _lookup:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::autocorrectionDataCallback): |
| (WebKit::WebPageProxy::selectionContextCallback): |
| (WebKit::WebPageProxy::getAutocorrectionContext): |
| (WebKit::WebPageProxy::getSelectionContext): |
| (WebKit::WebPageProxy::handleTwoFingerTapAtPoint): |
| (WebKit::WebPageProxy::dictationContextCallback): Deleted. |
| (WebKit::WebPageProxy::getLookupContextAtPoint): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::performDefaultBehaviorForKeyEvent): |
| (WebKit::WebPage::getSelectionContext): |
| (WebKit::WebPage::accessibilityObjectForMainFramePlugin): |
| (WebKit::WebPage::requestDictationContext): |
| (WebKit::WebPage::replaceSelectedText): |
| (WebKit::WebPage::getLookupContextAtPoint): Deleted. |
| |
| 2016-04-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Dock controls are not available in toolbar if Web Inspector window leaves fullscreen |
| https://bugs.webkit.org/show_bug.cgi?id=156520 |
| <rdar://problem/22101106> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformCanAttach): |
| Be more explicit about the attachment view check. Its intent |
| was to prevent allowing a 2nd level inspector from attaching |
| to a 1st level inspector. We can use a stronger check. Also, |
| remove deprecated pragmas by switching to new value. |
| |
| 2016-04-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Keyboard shortcut for "Inspect Element" only works when Web Inspector is open. |
| https://bugs.webkit.org/show_bug.cgi?id=111193 |
| <rdar://problem/13325889> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UIProcess/API/C/WKInspector.cpp: |
| (WKInspectorIsElementSelectionActive): |
| (WKInspectorToggleElementSelection): |
| * UIProcess/API/C/WKInspector.h: |
| API for WebKit clients to toggle element selection. |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::toggleElementSelection): |
| (WebKit::WebInspectorProxy::elementSelectionChanged): |
| * UIProcess/WebInspectorProxy.h: |
| (WebKit::WebInspectorProxy::isElementSelectionActive): |
| * UIProcess/WebInspectorProxy.messages.in: |
| UIProcess update according to the state of the page |
| and action to tell the page to toggle. |
| When starting, pre-connect the inspector. When the |
| state changes, if we were stopping and nothing was |
| selected, then disconnect. Otherwise, we will bring |
| the inspector to the front. |
| |
| * WebProcess/WebCoreSupport/WebInspectorClient.cpp: |
| (WebKit::WebInspectorClient::elementSelectionChanged): |
| * WebProcess/WebCoreSupport/WebInspectorClient.h: |
| Let the UIProcess update its cached state of whether or |
| not element selection is enabled or disabled. |
| |
| * WebProcess/WebPage/WebInspector.cpp: |
| (WebKit::WebInspector::startElementSelection): |
| (WebKit::WebInspector::stopElementSelection): |
| (WebKit::WebInspector::elementSelectionChanged): |
| * WebProcess/WebPage/WebInspector.h: |
| * WebProcess/WebPage/WebInspector.messages.in: |
| Messages in both directions. |
| UIProcess -> InspectorProcess enable/disable. |
| WebProcess -> UIProcess updated element selection state. |
| |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| (WebKit::WebInspectorUI::startElementSelection): |
| (WebKit::WebInspectorUI::stopElementSelection): |
| * WebProcess/WebPage/WebInspectorUI.h: |
| * WebProcess/WebPage/WebInspectorUI.messages.in: |
| Open the inspector and enable element selection. |
| |
| 2016-04-11 Alex Christensen <achristensen@webkit.org> |
| |
| Build MiniBrowser with CMake on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=156471 |
| |
| Reviewed by Daniel Bates. |
| |
| * DatabaseProcess/DatabaseProcess.messages.in: |
| |
| 2016-04-11 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] Do not pass context to EwkViewCreate |
| https://bugs.webkit.org/show_bug.cgi?id=156461 |
| |
| Reviewed by Darin Adler. |
| |
| EWKViewCreate already has pageConfiguration which contains context. |
| So, this patch removes context argument from EWKViewCreate. |
| |
| * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: |
| (WKViewCreate): |
| * UIProcess/API/C/CoordinatedGraphics/WKView.h: |
| * UIProcess/API/efl/ewk_view.cpp: |
| (EWKViewCreate): Call WebView::Create instead of WKViewCreate not to use WK API. |
| (ewk_view_smart_add): |
| (ewk_view_add_with_configuration): |
| (ewk_view_add_with_context): |
| * UIProcess/API/efl/ewk_view_private.h: |
| * UIProcess/efl/WebInspectorProxyEfl.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/efl/WebView.cpp: |
| (WebKit::WebView::create): |
| (WebKit::WebView::WebView): |
| * UIProcess/efl/WebView.h: |
| |
| 2016-04-11 Darin Adler <darin@apple.com> |
| |
| Remove UsePointersEvenForNonNullableObjectArguments from HTMLSelectElement |
| https://bugs.webkit.org/show_bug.cgi?id=156458 |
| |
| Reviewed by Chris Dumez. |
| |
| * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: Updated includes. |
| |
| 2016-04-11 Jeremy Jones <jeremyj@apple.com> |
| |
| When clearing cache, also clear AVFoundation cache. |
| https://bugs.webkit.org/show_bug.cgi?id=155783 |
| rdar://problem/25252541 |
| |
| Reviewed by Darin Adler. |
| |
| Include the HTMLMediaElement media cache when doing disk cache operations. |
| Add a sandbox extension for media cache directory. This allows the UI process and the web process |
| to access the same cache. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): Add media cache directory. |
| (WebKit::WebProcessCreationParameters::decode): Add media cache directory. |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::createWithLegacyOptions): |
| (API::ProcessPoolConfiguration::ProcessPoolConfiguration): Add media cache directory. |
| (API::ProcessPoolConfiguration::copy): Add media cache directory. |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::defaultMediaCacheDirectory): Default implementation. |
| * UIProcess/API/APIWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: |
| (API::WebsiteDataStore::defaultMediaCacheDirectory): Media cache is in temporary directory. |
| (API::WebsiteDataStore::tempDirectoryFileSystemRepresentation): For resources in temporary directory. |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): Init media cache directory. |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::legacyWebsiteDataStoreConfiguration): Add mediaCacheDirectory. |
| (WebKit::WebProcessPool::createNewWebProcess): Add mediaCacheDirectory. |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| (WebKit::WebsiteDataStore::fetchData): Implement for mediaCacheDirectory. |
| (WebKit::WebsiteDataStore::removeData): Implement for mediaCacheDirectory. |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| * UIProcess/efl/WebProcessPoolEfl.cpp: |
| (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added. |
| * UIProcess/gtk/WebProcessPoolGtk.cpp: |
| (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): Initialize media cache directory. |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): Consume sandbox extension. |
| |
| 2016-04-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r199315. |
| https://bugs.webkit.org/show_bug.cgi?id=156482 |
| |
| This change broke the OS X Yosemite build. (Requested by jwtan |
| on #webkit). |
| |
| Reverted changeset: |
| |
| "When clearing cache, also clear AVFoundation cache." |
| https://bugs.webkit.org/show_bug.cgi?id=155783 |
| http://trac.webkit.org/changeset/199315 |
| |
| 2016-04-11 Jeremy Jones <jeremyj@apple.com> |
| |
| When clearing cache, also clear AVFoundation cache. |
| https://bugs.webkit.org/show_bug.cgi?id=155783 |
| rdar://problem/25252541 |
| |
| Reviewed by Darin Adler. |
| |
| Include the HTMLMediaElement media cache when doing disk cache operations. |
| Add a sandbox extension for media cache directory. This allows the UI process and the web process |
| to access the same cache. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): Add media cache directory. |
| (WebKit::WebProcessCreationParameters::decode): Add media cache directory. |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::createWithLegacyOptions): |
| (API::ProcessPoolConfiguration::ProcessPoolConfiguration): Add media cache directory. |
| (API::ProcessPoolConfiguration::copy): Add media cache directory. |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::defaultMediaCacheDirectory): Default implementation. |
| * UIProcess/API/APIWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: |
| (API::WebsiteDataStore::defaultMediaCacheDirectory): Media cache is in temporary directory. |
| (API::WebsiteDataStore::tempDirectoryFileSystemRepresentation): For resources in temporary directory. |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): Init media cache directory. |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::legacyWebsiteDataStoreConfiguration): Add mediaCacheDirectory. |
| (WebKit::WebProcessPool::createNewWebProcess): Add mediaCacheDirectory. |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| (WebKit::WebsiteDataStore::fetchData): Implement for mediaCacheDirectory. |
| (WebKit::WebsiteDataStore::removeData): Implement for mediaCacheDirectory. |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| * UIProcess/efl/WebProcessPoolEfl.cpp: |
| (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added. |
| * UIProcess/gtk/WebProcessPoolGtk.cpp: |
| (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): Initialize media cache directory. |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): Consume sandbox extension. |
| |
| 2016-04-11 Said Abou-Hallawa <sabouhallawa@apple,com> |
| |
| Merge CG ImageSource and non CG ImageSource implementation in one file |
| https://bugs.webkit.org/show_bug.cgi?id=155456 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::setCursor): |
| Replace the call to Image::getHotSpot() by Image::hotSpot(). |
| |
| 2016-04-11 Anders Carlsson <andersca@apple.com> |
| |
| Rename WKOpenPanelParameters files to WKOpenPanelParametersRef |
| https://bugs.webkit.org/show_bug.cgi?id=156473 |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/API/C/WKOpenPanelParameters.cpp: |
| (WKOpenPanelParametersGetTypeID): Deleted. |
| (WKOpenPanelParametersGetAllowsMultipleFiles): Deleted. |
| (WKOpenPanelParametersCopyAcceptedMIMETypes): Deleted. |
| (WKOpenPanelParametersCopyCapture): Deleted. |
| (WKOpenPanelParametersGetCaptureEnabled): Deleted. |
| (WKOpenPanelParametersCopySelectedFileNames): Deleted. |
| * UIProcess/API/C/WKOpenPanelParametersRef.cpp: Renamed from Source/WebKit2/UIProcess/API/C/WKOpenPanelParameters.cpp. |
| (WKOpenPanelParametersGetTypeID): |
| (WKOpenPanelParametersGetAllowsMultipleFiles): |
| (WKOpenPanelParametersCopyAcceptedMIMETypes): |
| (WKOpenPanelParametersCopyCapture): |
| (WKOpenPanelParametersGetCaptureEnabled): |
| (WKOpenPanelParametersCopySelectedFileNames): |
| * UIProcess/API/C/WKOpenPanelParametersRef.h: Renamed from Source/WebKit2/UIProcess/API/C/WKOpenPanelParameters.h. |
| * UIProcess/API/C/WebKit2_C.h: |
| * UIProcess/API/efl/ewk_file_chooser_request.cpp: |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-04-09 Gavin Barraclough <barraclough@apple.com> |
| |
| WebKit should adopt journal_mode=wal for all SQLite databases. |
| https://bugs.webkit.org/show_bug.cgi?id=133496 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundle.cpp: |
| (WKBundleClearAllDatabases): |
| - renamed deleteAllDatabases -> deleteAllDatabasesImmediately. |
| |
| 2016-04-11 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r198933): Unable to login to Google account from Internet Accounts preference pane |
| https://bugs.webkit.org/show_bug.cgi?id=156447 |
| <rdar://problem/25628133> |
| |
| Reviewed by Anders Carlsson. |
| |
| Temporarily perform code signing verification only for Mac App Store- and Apple Developer- signed apps. |
| |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::codeSigningIdentifierForProcess): |
| |
| 2016-04-05 Oliver Hunt <oliver@apple.com> |
| |
| Remove compile time define for SEPARATED_HEAP |
| https://bugs.webkit.org/show_bug.cgi?id=155508 |
| |
| Reviewed by Mark Lam. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-04-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r199290. |
| https://bugs.webkit.org/show_bug.cgi?id=156465 |
| |
| broke 300 tests (Requested by mcatanzaro on #webkit). |
| |
| Reverted changeset: |
| |
| "Merge CG ImageSource and non CG ImageSource implementation in |
| one file" |
| https://bugs.webkit.org/show_bug.cgi?id=155456 |
| http://trac.webkit.org/changeset/199290 |
| |
| 2016-04-11 Said Abou-Hallawa <sabouhallawa@apple,com> |
| |
| Merge CG ImageSource and non CG ImageSource implementation in one file |
| https://bugs.webkit.org/show_bug.cgi?id=155456 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::setCursor): |
| Replace the call to Image::getHotSpot() by Image::hotSpot(). |
| |
| 2016-04-11 Fujii Hironori <Hironori.Fujii@jp.sony.com> |
| |
| [CMake] Make FOLDER property INHERITED |
| https://bugs.webkit.org/show_bug.cgi?id=156460 |
| |
| Reviewed by Brent Fulgham. |
| |
| * CMakeLists.txt: |
| Set FOLDER property as a directory property not a target property |
| |
| 2016-04-08 Sam Weinig <sam@webkit.org> |
| |
| Remove support for custom target picker actions |
| <rdar://problem/24987783> |
| https://bugs.webkit.org/show_bug.cgi?id=156434 |
| |
| Reviewed by Eric Carlson. |
| |
| This mostly entailed rolling out r197429 and r197569. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::removePlaybackTargetPickerClient): |
| (WebKit::WebPageProxy::showPlaybackTargetPicker): |
| (WebKit::WebPageProxy::playbackTargetPickerClientStateDidChange): |
| (WebKit::WebPageProxy::setShouldPlayToPlaybackTarget): |
| (WebKit::WebPageProxy::didChangeBackgroundColor): |
| (WebKit::WebPageProxy::customPlaybackActionSelected): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::removePlaybackTargetPickerClient): |
| (WebKit::WebChromeClient::showPlaybackTargetPicker): |
| (WebKit::WebChromeClient::playbackTargetPickerClientStateDidChange): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::setShouldPlayToPlaybackTarget): |
| (WebKit::WebPage::customPlaybackActionSelected): Deleted. |
| |
| 2016-04-08 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] WKWebViews should consult ancestor UIScrollViews to determine tiling area |
| https://bugs.webkit.org/show_bug.cgi?id=156429 |
| rdar://problem/25455111 |
| |
| Reviewed by Tim Horton. |
| |
| When a WKWebView is expanded to full size, then embedded in UIScrollView, it would |
| create huge tiles that cover the entire view area (since it considered itself non-scrollable). |
| |
| Fix to always use 512x512 tiles in this configuration, and to adjust the tile coverage |
| for the area exposed through the enclosing UIScrollView. |
| |
| * Shared/VisibleContentRectUpdateInfo.cpp: Add enclosedInScrollView(), which is used to |
| trigger normal-sized tiles. |
| (WebKit::VisibleContentRectUpdateInfo::encode): |
| (WebKit::VisibleContentRectUpdateInfo::decode): |
| * Shared/VisibleContentRectUpdateInfo.h: |
| (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo): |
| (WebKit::VisibleContentRectUpdateInfo::enclosedInScrollView): |
| (WebKit::operator==): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didInvokeUIScrollViewDelegateCallback]): Pass our scrollView. |
| (-[WKWebView _didFinishScrolling]): |
| (-[WKWebView scrollViewDidScroll:]): |
| (-[WKWebView scrollViewDidZoom:]): |
| (-[WKWebView scrollViewDidEndZooming:withView:atScale:]): |
| (-[WKWebView _scrollViewDidInterruptDecelerating:]): |
| (-[WKWebView _visibleRectInEnclosingScrollView:]): |
| (-[WKWebView _visibleContentRect]): Compute the exposed part of the content relative |
| to the WKWebView, then intersect with the exposed part via any ancestor UIScrollView. |
| (-[WKWebView _didScroll]): This is called by UIKit when some ancestor UIScrollView scrolls. |
| However, we don't get all the UIScrollView delegate callbacks, so have to use a timer to |
| trigger a call to -_updateVisibleContentRects when we're in a stable state. |
| (-[WKWebView _enclosingScrollerScrollingEnded:]): |
| (-[WKWebView _frameOrBoundsChanged]): |
| (-[WKWebView _updateVisibleContentRects]): |
| (-[WKWebView _updateVisibleContentRectAfterScrollInView:]): Get the stable state from the |
| scroll view that the user is interacting with. |
| (-[WKWebView _updateContentRectsWithState:]): |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/WebPageProxy.h: Rather than pass a bazillion arguments through updateVisibleContentRects(), just |
| pass the VisibleContentRectUpdateInfo struct. |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollView:]): |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): Deleted. |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::updateVisibleContentRects): |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::updateVisibleContentRects): |
| |
| 2016-04-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [iOS Simulator] Build failure (property 'contentsFormat' not found on object of type 'LegacyTileLayer *') |
| https://bugs.webkit.org/show_bug.cgi?id=156415 |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/Cocoa/_WKElementAction.mm: |
| (-[_WKElementAction runActionWithElementInfo:]): |
| Use WeakObjCPtr instead of __weak to avoid build errors when not under ARC. |
| |
| 2016-04-08 Alex Christensen <achristensen@webkit.org> |
| |
| Progress towards running CMake WebKit2 on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=156426 |
| |
| Reviewed by Tim Horton. |
| |
| * CMakeLists.txt: |
| * PlatformMac.cmake: |
| Put the xpc service binaries in the right place. |
| |
| 2016-04-08 Alex Christensen <achristensen@webkit.org> |
| |
| Build fix with IndexedDB disabled but DatabaseProcess enabled after r199230 |
| https://bugs.webkit.org/show_bug.cgi?id=156321 |
| |
| Rubber-stamped by Brady Eidson. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins): |
| (WebKit::DatabaseProcess::grantSandboxExtensionsForBlobs): |
| (WebKit::DatabaseProcess::accessToTemporaryFileComplete): |
| (WebKit::DatabaseProcess::indexedDatabaseOrigins): |
| * DatabaseProcess/DatabaseProcess.h: |
| Add some more guards. |
| |
| 2016-04-07 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Stop using exposedContentRect for history scroll state restoration |
| https://bugs.webkit.org/show_bug.cgi?id=156392 |
| |
| Reviewed by Tim Horton. |
| |
| A future commit will alter the meaning of exposedContentRect on iOS to take into |
| account clipped out parts of the WKWebView. To achieve this, wean history restoration |
| off of using exposedContentRect for scroll state restoration. It did this to restore |
| the page to the same position relative to the view's top-left (to avoid jiggles caused |
| by changing obscured insets). |
| |
| Do this by pushing the left/top obscured insets down with visible content rects updates, |
| storing them on ScrollView, and adding them to HistoryItem. Those insets are then used |
| for scroll state restoration in WKWebView. |
| |
| * Shared/VisibleContentRectUpdateInfo.cpp: Add FloatSize for obscuredInset. |
| (WebKit::VisibleContentRectUpdateInfo::encode): |
| (WebKit::VisibleContentRectUpdateInfo::decode): |
| * Shared/VisibleContentRectUpdateInfo.h: |
| (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo): |
| (WebKit::VisibleContentRectUpdateInfo::obscuredInset): |
| (WebKit::operator==): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _processDidExit]): Rename _needsToRestoreExposedRect to _needsToRestoreScrollPosition |
| (-[WKWebView _didCommitLayerTree:]): Restore the scroll position using the scaled scrollOffset minus |
| the old obscuredInset. |
| (-[WKWebView _layerTreeCommitComplete]): |
| (-[WKWebView _restorePageScrollPosition:scrollOrigin:previousObscuredInset:scale:]): |
| (-[WKWebView _restorePageStateToUnobscuredCenter:scale:]): |
| (-[WKWebView _scrollToContentScrollPosition:scrollOrigin:]): |
| (-[WKWebView _updateVisibleContentRects]): |
| (-[WKWebView _restorePageStateToExposedRect:scrollOrigin:scale:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/PageClient.h: |
| * 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:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): |
| Make the VisibleContentRectUpdateInfo here and pass it down. |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): Deleted. |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::updateVisibleContentRects): |
| (WebKit::WebPageProxy::restorePageState): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::restorePageState): |
| (WebKit::WebPage::updateVisibleContentRects): setObscuredInset() moved from FrameView to Page. |
| Also call setEnclosedInScrollView() on Page. |
| |
| 2016-04-08 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB (Blob support): Write blobs to temporary files and move them to the correct location when storing them. |
| https://bugs.webkit.org/show_bug.cgi?id=156321 |
| |
| Reviewed by Alex Christensen, Andy Estes, and Darin Adler. |
| |
| The NetworkProcess writes a blob to a temporary file, then tells the UIProcess to grant the DatabaseProcess |
| a Sandbox Extension to that path. |
| |
| It then tells the WebProcess the paths for the temporary files, which then tells the DatabaseProcess to store |
| the contents of those files as blob references in the database. |
| |
| Since the UIProcess had already granted it a Sandbox Extension, it is able to do so. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::idbServer): |
| (WebKit::DatabaseProcess::grantSandboxExtensionsForBlobs): |
| (WebKit::DatabaseProcess::prepareForAccessToTemporaryFile): |
| (WebKit::DatabaseProcess::accessToTemporaryFileComplete): |
| * DatabaseProcess/DatabaseProcess.h: |
| * DatabaseProcess/DatabaseProcess.messages.in: |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles): |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::grantSandboxExtensionsToDatabaseProcessForBlobs): |
| (WebKit::NetworkProcess::didGrantSandboxExtensionsToDatabaseProcessForBlobs): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::grantSandboxExtensionsToDatabaseProcessForBlobs): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.messages.in: |
| |
| 2016-04-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove ENABLE(ENABLE_ES6_CLASS_SYNTAX) guards |
| https://bugs.webkit.org/show_bug.cgi?id=156384 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-04-07 Dean Jackson <dino@apple.com> |
| |
| [iOS] Play button on video is too dark |
| https://bugs.webkit.org/show_bug.cgi?id=156383 |
| <rdar://problem/23540816> |
| |
| Reviewed by Simon Fraser. |
| |
| Elements that are backed by a layer with either LightBackdropAppearance |
| or DarkBackdropAppearance are actually a combination of a |
| few layers (inside a special view). If we apply a mask to one |
| of those layers, it needs to be attached to the correct |
| child layer. |
| |
| * Shared/mac/RemoteLayerTreePropertyApplier.mm: |
| (WebKit::RemoteLayerTreePropertyApplier::applyProperties): If we have |
| one of the special appearance flags, apply the mask layer to |
| a particular child, rather than the layer itself. |
| |
| 2016-04-07 Jeremy Jones <jeremyj@apple.com> |
| |
| Clearing the application cache doesn't work. |
| https://bugs.webkit.org/show_bug.cgi?id=156354 |
| rdar://problem/22369239 |
| |
| Reviewed by Brady Eidson. |
| |
| Use the correct "ApplicationCache" directory. |
| Delete the caches, not just the entries. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): |
| (WebKit::WebsiteDataStore::removeData): |
| |
| 2016-04-07 Brian Burg <bburg@apple.com> |
| |
| Web Automation: implement Automation.addSingleCookie |
| https://bugs.webkit.org/show_bug.cgi?id=156319 |
| <rdar://problem/25589605> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Implement this command by converting the protocol cookie to |
| WebCore::Cookie, then sending the cookie to NetworkProcess to |
| be added to the storage session using CookieJar::addCookie. |
| |
| * UIProcess/Automation/Automation.json: |
| Clarify the units used in the 'expires' field and how the default value |
| for the domain field should be computed. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::addSingleCookie): |
| Parse the cookie and send it out via WebCookieManagerProxy. |
| |
| * UIProcess/WebCookieManagerProxy.cpp: |
| (WebKit::WebCookieManagerProxy::addCookie): Added. |
| * UIProcess/WebCookieManagerProxy.h: |
| * WebProcess/Cookies/WebCookieManager.cpp: |
| (WebKit::WebCookieManager::addCookie): |
| * WebProcess/Cookies/WebCookieManager.h: |
| * WebProcess/Cookies/WebCookieManager.messages.in: |
| Forward the message to WebCore::addCookie. |
| |
| 2016-04-06 Ada Chan <adachan@apple.com> |
| |
| Add WebKitAdditions extension points around preferences |
| https://bugs.webkit.org/show_bug.cgi?id=156303 |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/WebPreferencesStore.cpp: |
| (WebKit::defaults): |
| * UIProcess/API/C/WKPreferences.cpp: |
| |
| 2016-04-07 Brian Burg <bburg@apple.com> |
| |
| CookieJar should support adding synthetic cookies for developer tools |
| https://bugs.webkit.org/show_bug.cgi?id=156091 |
| <rdar://problem/25581340> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Plumb the new method through the strategy and out to the network process. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::addCookie): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::addCookie): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2016-04-06 Alex Christensen <achristensen@webkit.org> |
| |
| Compile WebKitTestRunner with CMake on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=156310 |
| |
| Reviewed by Daniel Bates. |
| |
| * PlatformMac.cmake: |
| |
| 2016-04-05 Simon Fraser <simon.fraser@apple.com> |
| |
| Rename exposedRect to viewExposedRect and propagate it as Optional<> through WK2 |
| https://bugs.webkit.org/show_bug.cgi?id=156274 |
| |
| Reviewed by Tim Horton. |
| |
| DrawingArea and FrameView have an "exposedRect" property that is used by applications |
| on Mac, like Mail, that embed web views inside scroll views. However, this name is very |
| similar to the "exposedContentRect" that is used on iOS to denote the part of the view |
| whose pixels are visible, including through blurring overlaid UI. |
| |
| To disambiguate these two, rename the Mac "exposedRect" to "viewExposedRect" to |
| emphasize that it's a rect that takes into account clipping in the native view |
| hierarchy. |
| |
| Also make this rect Optional<> through the DrawingArea, removing comparisons against |
| FloatRect::infiniteRect(). |
| |
| Do some other minor renaming in VisibleContentRectUpdateInfo. |
| |
| * Shared/VisibleContentRectUpdateInfo.cpp: Rename "exposedRect" and "unobscuredRect" to |
| have "Content" in the names. |
| (WebKit::VisibleContentRectUpdateInfo::encode): |
| (WebKit::VisibleContentRectUpdateInfo::decode): |
| * Shared/VisibleContentRectUpdateInfo.h: |
| (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo): |
| (WebKit::VisibleContentRectUpdateInfo::exposedContentRect): |
| (WebKit::VisibleContentRectUpdateInfo::unobscuredContentRect): |
| (WebKit::operator==): |
| (WebKit::VisibleContentRectUpdateInfo::exposedRect): Deleted. |
| (WebKit::VisibleContentRectUpdateInfo::unobscuredRect): Deleted. |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::updateViewExposedRect): |
| * UIProcess/DrawingAreaProxy.cpp: |
| (WebKit::DrawingAreaProxy::DrawingAreaProxy): |
| (WebKit::DrawingAreaProxy::setViewExposedRect): |
| (WebKit::DrawingAreaProxy::viewExposedRectChangedTimerFired): |
| (WebKit::DrawingAreaProxy::setExposedRect): Deleted. |
| (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired): Deleted. |
| * UIProcess/DrawingAreaProxy.h: |
| (WebKit::DrawingAreaProxy::viewExposedRect): |
| (WebKit::DrawingAreaProxy::exposedRect): Deleted. |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::exposedContentRect): |
| (WebKit::WebPageProxy::unobscuredContentRect): |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::setViewExposedRect): |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation): |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator): |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::scaledExposedRect): Deleted. |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::setExposedRect): Deleted. This was only used |
| to position the indicator, and confusingly used either exposedContentRect() or viewExposedRect() |
| depending on platform. |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): |
| * WebProcess/WebPage/DrawingArea.h: |
| * WebProcess/WebPage/DrawingArea.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::updateVisibleContentRects): |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::setViewExposedRect): |
| (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect): |
| (WebKit::RemoteLayerTreeDrawingArea::flushLayers): |
| (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): Deleted. |
| (WebKit::RemoteLayerTreeDrawingArea::setExposedRect): Deleted. |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::flushLayers): |
| (WebKit::TiledCoreAnimationDrawingArea::setViewExposedRect): |
| (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect): |
| (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): Deleted. |
| (WebKit::TiledCoreAnimationDrawingArea::setExposedRect): Deleted. |
| |
| 2016-04-05 Alex Christensen <achristensen@webkit.org> |
| |
| Make CMake-generated binaries on Mac able to run |
| https://bugs.webkit.org/show_bug.cgi?id=156268 |
| |
| Reviewed by Daniel Bates. |
| |
| * CMakeLists.txt: |
| * PlatformMac.cmake: |
| |
| 2016-04-05 Brian Burg <bburg@apple.com> |
| |
| Web Automation: add support for getting, deleting, and adding cookies |
| https://bugs.webkit.org/show_bug.cgi?id=156090 |
| <rdar://problem/25477678> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add protocol commands for manipulating cookies with respect to a given page. |
| Implement all but the addSingleCookie command, which needs a new WebCore API. |
| |
| * UIProcess/Automation/Automation.json: |
| Copy the Page domain Cookie object. Add new commands. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::getAllCookies): |
| (WebKit::buildObjectForCookie): Copied from InspectorPageAgent. |
| (WebKit::buildArrayForCookies): Copied from InspectorPageAgent. |
| (WebKit::WebAutomationSession::didGetCookiesForFrame): |
| (WebKit::WebAutomationSession::deleteSingleCookie): |
| (WebKit::WebAutomationSession::didDeleteCookie): |
| (WebKit::WebAutomationSession::addSingleCookie): Added a stub for now. |
| (WebKit::WebAutomationSession::deleteAllCookies): |
| This command can use the WebCookieManager supplement directly instead of |
| proxying through AutomationSession. It doesn't block until the delete is |
| performed like the other methods do, but this shouldn't be a problem. |
| |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/Automation/WebAutomationSession.messages.in: |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| (WebKit::WebAutomationSessionProxy::getCookiesForFrame): |
| (WebKit::WebAutomationSessionProxy::deleteCookie): |
| * WebProcess/Automation/WebAutomationSessionProxy.h: |
| * WebProcess/Automation/WebAutomationSessionProxy.messages.in: |
| |
| 2016-04-05 Alex Christensen <achristensen@webkit.org> |
| |
| Fix Range requests when not using the NetworkCache with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=156036 |
| rdar://problem/25334939 |
| |
| Reviewed by Sam Weinig. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:dataTask:willCacheResponse:completionHandler:]): |
| Don't cache any responses with Content-Range headers to work around rdar://problem/20001985. |
| This is similar to the workaround in shouldCacheResponse in WebCoreNSURLSession.mm |
| (WebKit::NetworkSession::NetworkSession): |
| If we are using the NetworkCache, then don't use CFNetwork's cache. |
| |
| 2016-04-05 Brent Fulgham <bfulgham@apple.com> |
| |
| Correct applicationWillTerminate logic for ResourceLoadStatistics |
| https://bugs.webkit.org/show_bug.cgi?id=156249 |
| <rdar://problem/25179611> |
| |
| Reviewed by Andy Estes. |
| |
| The applicationWillTerminate handling for ResourceLoadStatistics incorrectly |
| assumes that a ResourceLoadStatistics object will always be present. |
| 1. The termination handling for 'dataStoresWithStorageManagers' should be |
| calling 'applicationWillTerminate' on any ResourceLoadStatistics |
| objects attached to the dataStore. |
| 2. platformInitialize should null-check before attempting to dispatch. |
| 3. platformDestroy should null check before attempting to dispatch. |
| |
| * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: |
| (WebKit::WebsiteDataStore::platformInitialize): |
| (WebKit::WebsiteDataStore::platformDestroy): Invoke 'applicationWillTerminate' on |
| m_resourceLoadStatistics if present. |
| |
| 2016-04-05 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Fetch API] Add a runtime flag to fetch API and related constructs |
| https://bugs.webkit.org/show_bug.cgi?id=156113 |
| |
| Reviewed by Alex Christensen. |
| |
| Add a fetch API runtime flag based on preferences. |
| Disable fetch API by default. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesGetCustomElementsEnabled): |
| (WKPreferencesSetFetchAPIEnabled): |
| (WKPreferencesGetFetchAPIEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-04-05 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Replace use of SerializedScriptValue with IDBValue. |
| https://bugs.webkit.org/show_bug.cgi?id=156242 |
| |
| Reviewed by Alex Christensen. |
| |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp: |
| (WebKit::WebIDBConnectionToClient::putOrAdd): |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h: |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in: |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| (WebKit::WebIDBConnectionToServer::putOrAdd): |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: |
| |
| 2016-04-05 Antoine Quint <graouts@apple.com> |
| |
| [WebGL2] Turn the ENABLE_WEBGL2 flag on |
| https://bugs.webkit.org/show_bug.cgi?id=156061 |
| <rdar://problem/25463193> |
| |
| Reviewed by Alex Christensen. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-04-05 Chris Dumez <cdumez@apple.com> |
| |
| We sometimes fail to remove outdated entry from the disk cache after revalidation and when the resource is no longer cacheable |
| https://bugs.webkit.org/show_bug.cgi?id=156048 |
| <rdar://problem/25514480> |
| |
| Reviewed by Antti Koivisto. |
| |
| We would sometimes fail to remove outdated entry from the disk cache |
| after revalidation and when the resource is no longer cacheable. This |
| was due to Storage::removeFromPendingWriteOperations() only removing |
| the first pending write operation with a given key instead of actually |
| removing all of the operations with this key. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::removeFromPendingWriteOperations): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| 2016-04-05 Antoine Quint <graouts@apple.com> |
| |
| [WebGL2] Allow enabling WebGL2 with a runtime flag |
| https://bugs.webkit.org/show_bug.cgi?id=156166 |
| <rdar://problem/25526929> |
| |
| Set the WebGL2 runtime flag based on preferences, disabled by default. |
| |
| Reviewed by Dean Jackson. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetWebGL2Enabled): |
| (WKPreferencesGetWebGL2Enabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-04-04 Zan Dobersek <zdobersek@igalia.com> |
| |
| [ThreadedCompositor] Move CompositingRunLoop class into a separate file |
| https://bugs.webkit.org/show_bug.cgi?id=156170 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Move the CompositingRunLoop class from the ThreadedCompositor.cpp file |
| into its own implementation file, with the class declaration placed |
| into the accompanying header file. This follows the general rule of |
| keeping different class implementations in separate files. |
| |
| No change in behavior, just refactoring. |
| |
| * PlatformGTK.cmake: |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp: Added. |
| (WebKit::CompositingRunLoop::CompositingRunLoop): |
| (WebKit::CompositingRunLoop::callOnCompositingRunLoop): |
| (WebKit::CompositingRunLoop::setUpdateTimer): |
| (WebKit::CompositingRunLoop::stopUpdateTimer): |
| (WebKit::CompositingRunLoop::updateTimerFired): |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h: Added. |
| (WebKit::CompositingRunLoop::runLoop): |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::CompositingRunLoop::CompositingRunLoop): Deleted. |
| (WebKit::CompositingRunLoop::callOnCompositingRunLoop): Deleted. |
| (WebKit::CompositingRunLoop::setUpdateTimer): Deleted. |
| (WebKit::CompositingRunLoop::stopUpdateTimer): Deleted. |
| (WebKit::CompositingRunLoop::runLoop): Deleted. |
| (WebKit::CompositingRunLoop::updateTimerFired): Deleted. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: |
| |
| 2016-04-04 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Dump blobs to disk before storing them in an object store. |
| https://bugs.webkit.org/show_bug.cgi?id=156068 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: |
| (WebKit::NetworkBlobRegistry::writeBlobsToTemporaryFiles): |
| * NetworkProcess/FileAPI/NetworkBlobRegistry.h: |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| |
| * WebProcess/FileAPI/BlobRegistryProxy.cpp: |
| (WebKit::BlobRegistryProxy::writeBlobsToTemporaryFiles): |
| * WebProcess/FileAPI/BlobRegistryProxy.h: |
| |
| * WebProcess/Network/NetworkProcessConnection.cpp: |
| (WebKit::NetworkProcessConnection::didClose): |
| (WebKit::NetworkProcessConnection::writeBlobsToTemporaryFiles): |
| (WebKit::NetworkProcessConnection::didWriteBlobsToTemporaryFiles): |
| * WebProcess/Network/NetworkProcessConnection.h: |
| * WebProcess/Network/NetworkProcessConnection.messages.in: |
| |
| 2016-04-04 Chelsea Pugh <cpugh@apple.com> |
| |
| [iOS] Allow clients in the bundle to know whether a field was focused by user interaction |
| https://bugs.webkit.org/show_bug.cgi?id=156118 |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Add delegate method that takes userIsInteracting bool so that bundle clients get this information. |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: Call API with userIsInteracting property if delegate implements it, otherwise call existing API if |
| userIsInteracting is true, as we previously did in WebKit::WebPage::elementDidFocus. Move FIXME from WebKit::WebPage::elementDidFocus to here, since we are checking userIsInteracting. |
| * WebProcess/InjectedBundle/APIInjectedBundleFormClient.h: |
| (API::InjectedBundle::FormClient::willBeginInputSession): Add userIsInteracting bool to arguments so we can use it for call to the new API as well as preserving behavior of the old API. |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::elementDidFocus): Remove check if user is interacting and call willBeginInputSession unconditionally. Move FIXME to where we check |
| userIsInteracting. Pass m_userIsInteracting to willBeginInputSession so we can use it there. |
| |
| 2016-04-04 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed GTK build fix after r199020 |
| |
| * UIProcess/API/gtk/WebKitUserContentManager.cpp: |
| (webkit_user_content_manager_register_script_message_handler): |
| (webkit_user_content_manager_unregister_script_message_handler): |
| |
| 2016-04-04 Alex Christensen <achristensen@webkit.org> |
| |
| CMake build fix. |
| |
| * PlatformMac.cmake: |
| |
| 2016-04-04 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Tapping on tabs in webpages caused WK crash at WebKit: WebKit::WebFrame::didReceivePolicyDecision |
| https://bugs.webkit.org/show_bug.cgi?id=156119 |
| <rdar://problem/20732167> |
| |
| Reviewed by Andy Estes. |
| |
| Protect the m_frame so that it is present for completion handlers. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): |
| |
| 2016-04-04 Beth Dakin <bdakin@apple.com> |
| |
| Add some logic to decide when a video can control the videoControlsManager |
| https://bugs.webkit.org/show_bug.cgi?id=156089 |
| -and corresponding- |
| rdar://problem/23833752 |
| |
| Reviewed by Eric Carlson and Tim Horton. |
| |
| The biggest change in WebKit2 is to push all of the logic for the |
| videoControlsManager into WebCore. With this change, WebCore will invoke |
| setUpVideoControlsManager() when there is a video to control the manager, and |
| it will call clearVideoControlsManager() when there is not. |
| |
| Add clearVideoControlsManager(). |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::clearVideoControlsManager): |
| |
| Re-name isPlayingMediaDidChange() to videoControlsManagerDidChange(). This |
| ties the logic to the lifetime of the videoControlsManager instead of |
| figuring it out in the UIProcess based on the media state. |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::videoControlsManagerDidChange): |
| (WebKit::WebViewImpl::isPlayingMediaDidChange): Deleted. |
| * UIProcess/PageClient.h: |
| |
| Also change isPlayingVideoWithAudio() into hasActiveVideoForControlsManager() |
| Again, this ties the logic to the lifetime of the videoControlsManager |
| instead of figuring it out in the UIProcess based on the media state. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::isPlayingMediaDidChange): |
| (WebKit::WebPageProxy::videoControlsManagerDidChange): |
| (WebKit::WebPageProxy::hasActiveVideoForControlsManager): |
| (WebKit::WebPageProxy::isPlayingVideoWithAudio): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::videoControlsManagerDidChange): |
| (WebKit::PageClientImpl::isPlayingMediaDidChange): Deleted. |
| |
| New WebChromeClient function clearVideoControlsManager(). |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::clearVideoControlsManager): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| |
| Do the work to clear the videoControlsManager. |
| * WebProcess/cocoa/WebVideoFullscreenManager.h: |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::clearVideoControlsManager): |
| (WebKit::WebVideoFullscreenManager::exitVideoFullscreenToModeWithoutAnimation): |
| |
| 2016-04-04 Brent Fulgham <bfulgham@apple.com> |
| |
| REGRESSION(r198955): com.apple.WebKit.Networking.Development crashed in WebKit::NetworkLoad::setPendingDownloadID + 11 |
| https://bugs.webkit.org/show_bug.cgi?id=156177 |
| <rdar://problem/25508037> |
| |
| Reviewed by Alex Christensen. |
| |
| We do not currently create a NetworkDataTask when we encounter a BLOB URL when building with |
| NETWORK_SESSION enabled. This causes us to crash when the download system attempts to work |
| with a BLOB URL. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::setPendingDownloadID): Add null check for m_task. |
| (WebKit::NetworkLoad::setPendingDownload): Ditto. |
| |
| 2016-04-03 Sam Weinig <sam@webkit.org> |
| |
| Add SPI to allow install script message handlers in isolated worlds |
| https://bugs.webkit.org/show_bug.cgi?id=156153 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Scripts/webkit/messages.py: |
| (headers_for_type): |
| * Shared/WebUserContentControllerDataTypes.cpp: |
| (WebKit::WebScriptMessageHandlerData::encode): |
| (WebKit::WebScriptMessageHandlerData::decode): |
| * Shared/WebUserContentControllerDataTypes.h: |
| Add WebKit::WebScriptMessageHandlerData, matching WebKit::WebUserScriptData and |
| WebKit::WebUserStyleSheetData. |
| |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController addScriptMessageHandler:name:]): |
| (-[WKUserContentController removeScriptMessageHandlerForName:]): |
| (-[WKUserContentController _removeAllUserStyleSheetsAssociatedWithUserContentWorld:]): |
| (-[WKUserContentController _addScriptMessageHandler:name:userContentWorld:]): |
| (-[WKUserContentController _removeScriptMessageHandlerForName:userContentWorld:]): |
| (-[WKUserContentController _removeAllScriptMessageHandlersAssociatedWithUserContentWorld:]): |
| * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: |
| Add SPI for adding and removing ScriptMessageHandlers associated with a world. |
| |
| * UIProcess/UserContent/WebScriptMessageHandler.cpp: |
| (WebKit::WebScriptMessageHandler::create): |
| (WebKit::WebScriptMessageHandler::WebScriptMessageHandler): |
| (WebKit::WebScriptMessageHandlerHandle::encode): Deleted. |
| (WebKit::WebScriptMessageHandlerHandle::decode): Deleted. |
| * UIProcess/UserContent/WebScriptMessageHandler.h: |
| (WebKit::WebScriptMessageHandler::identifier): |
| (WebKit::WebScriptMessageHandler::name): |
| (WebKit::WebScriptMessageHandler::userContentWorld): |
| (WebKit::WebScriptMessageHandler::client): |
| (WebKit::WebScriptMessageHandler::handle): Deleted. |
| Add the world and move the data object to WebUserContentControllerDataTypes.h |
| |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler): |
| (WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName): |
| (WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers): |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| Update for worlds, matching UserScript/UserStyleSheet model. |
| |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserMessageHandlerDescriptorProxy::WebUserMessageHandlerDescriptorProxy): |
| Change to inherit directly from WebCore::UserMessageHandlerDescriptor. |
| |
| (WebKit::WebUserContentController::addUserScriptMessageHandlers): |
| (WebKit::WebUserContentController::removeUserScriptMessageHandler): |
| (WebKit::WebUserContentController::removeAllUserScriptMessageHandlers): |
| (WebKit::WebUserContentController::addUserScriptMessageHandlerInternal): |
| (WebKit::WebUserContentController::removeUserScriptMessageHandlerInternal): |
| Add support for worlds, matching UserScript/UserStyleSheet model. |
| |
| (WebKit::WebUserContentController::addUserStyleSheets): |
| Add missing call to invalidateInjectedStyleSheetCacheInAllFramesInAllPages() |
| |
| (WebKit::WebUserContentController::removeAllUserStyleSheets): |
| Switch to only calling invalidateInjectedStyleSheetCacheInAllFramesInAllPages() once |
| after the loop and only if any stylesheets were removed. |
| |
| (WebKit::WebUserContentController::addUserStyleSheetInternal): |
| Remove call to invalidateInjectedStyleSheetCacheInAllFramesInAllPages(), make |
| callers call it. This allows us to avoid calling it repeatedly in removeAllUserStyleSheets(). |
| |
| (WebKit::WebUserContentController::addUserStyleSheet): |
| Call invalidateInjectedStyleSheetCacheInAllFramesInAllPages() explicitly since it |
| is no longer called in addUserStyleSheetInternal(). |
| |
| (WebKit::WebUserContentController::forEachUserMessageHandler): |
| Implement by iterating the m_userMessageHandlers map. |
| |
| * WebProcess/UserContent/WebUserContentController.messages.in: |
| Update for worlds, matching UserScript/UserStyleSheet model. |
| |
| 2016-04-04 Joonghun Park <jh718.park@samsung.com> |
| |
| [EFL] Fix build break since r198800 |
| https://bugs.webkit.org/show_bug.cgi?id=156011 |
| |
| Reviewed by Alex Christensen. |
| |
| * CMakeLists.txt: Currently circular dependency state exists between WebCoreDerivedSources and WebCore targets. |
| By adding -Wl,--start-group -Wl,--end-group linker option, we can resolve this problem. |
| In case there is no such circular dependency, this linker option does nothing. |
| |
| 2016-04-04 Konstantin Tokarev <annulen@yandex.ru> |
| |
| [GTK] Added missing inspector files under UserInterface/Proxies. |
| https://bugs.webkit.org/show_bug.cgi?id=156165 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * PlatformGTK.cmake: |
| |
| 2016-04-04 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r198792): [GTK] Inspector crashes in Inspector::Protocol::getEnumConstantValue since r198792 |
| https://bugs.webkit.org/show_bug.cgi?id=155745 |
| <rdar://problem/25289456> |
| |
| Reviewed by Brian Burg. |
| |
| Use Inspector::Protocol::AutomationEnums namespace for getEnumConstantValue(). |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| (WebKit::WebAutomationSessionProxy::didClearWindowObjectForFrame): |
| (WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction): |
| (WebKit::WebAutomationSessionProxy::resolveChildFrameWithOrdinal): |
| (WebKit::WebAutomationSessionProxy::resolveChildFrameWithNodeHandle): |
| (WebKit::WebAutomationSessionProxy::resolveChildFrameWithName): |
| (WebKit::WebAutomationSessionProxy::resolveParentFrame): |
| (WebKit::WebAutomationSessionProxy::computeElementLayout): |
| |
| 2016-04-04 Emanuele Aina <emanuele.aina@collabora.com> |
| |
| Fix WEB_PROCESS_CMD_PREFIX and NETWORK_PROCESS_CMD_PREFIX after r196500 |
| https://bugs.webkit.org/show_bug.cgi?id=156060 |
| |
| Reviewed by Darin Adler. |
| |
| Commit r196500 was a bit too eager in removing the |
| platformGetLaunchOptions() callsites as non-mac platform still use |
| that in debug builds to attach debugging tools to spawned |
| subprocesses (eg. gdbserver). |
| |
| Instead of reinstating them and relying on each subprocess type to |
| implement its own platformGetLaunchOptions() version (all alike), |
| avoid duplication and check the *_PROCESS_CMD_PREFIX environment |
| variables in a single place, ChildProcessProxy::getLaunchOptions(). |
| |
| Doing so also improves consistency in *_PROCESS_CMD_PREFIX support: |
| only WEB_PROCESS_CMD_PREFIX and NETWORK_PROCESS_CMD_PREFIX worked with |
| both the GTK and EFL ports while PLUGIN_PROCESS_CMD_PREFIX only |
| worked for EFL and there was no corresponding |
| DATABASE_PROCESS_CMD_PREFIX implementation. |
| |
| * UIProcess/ChildProcessProxy.cpp: |
| (WebKit::ChildProcessProxy::getLaunchOptions): Check the |
| appropriate *_PROCESS_CMD_PREFIX environment variable. |
| * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: |
| (WebKit::PluginProcessProxy::platformGetLaunchOptions): Drop |
| check for PLUGIN_PROCESS_COMMAND_PREFIX, now handled by |
| ChildProcessProxy::getLaunchOptions(). |
| * UIProcess/Databases/DatabaseProcessProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/WebProcessProxy.h: Drop platformGetLaunchOptions() |
| prototypes. |
| * UIProcess/Network/soup/NetworkProcessProxySoup.cpp: |
| * UIProcess/Databases/efl/DatabaseProcessProxyEfl.cpp: |
| * UIProcess/Databases/gtk/DatabaseProcessProxyGtk.cpp: |
| * UIProcess/efl/WebProcessProxyEfl.cpp: |
| * UIProcess/gtk/WebProcessProxyGtk.cpp: Removed, they only contained |
| platformGetLaunchOptions() implementations. |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: Drop removed files. |
| |
| 2016-04-02 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r198933): Web Inspector and inspected page hang in local builds |
| https://bugs.webkit.org/show_bug.cgi?id=156138 |
| <rdar://problem/25507724> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Similar to the sandbox policy for WebProcess and NetworkProcess, grant a Database process |
| read-only filesystem access and mach lookup capability to various Security framework files |
| and SecurityServer, respectively. |
| |
| * DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in: |
| |
| 2016-04-02 Daniel Bates <dabates@apple.com> |
| |
| Another attempt to fix the Apple Internal Yosemite and El Capitan builds following |
| <http://trac.webkit.org/changeset/198933> (https://bugs.webkit.org/show_bug.cgi?id=155455) |
| |
| Similar to the sandbox policy for WebProcess and NetworkProcess, grant a Database process |
| access to the passed user's cache directory and passed user's temporary directory so that |
| the Security framework can verify the code signature of the app that launched it when the |
| Database process is itself code signed. |
| |
| * DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in: |
| |
| 2016-04-01 Daniel Bates <dabates@apple.com> |
| |
| Attempt to fix the Apple Internal Yosemite and El Capitan builds following |
| <http://trac.webkit.org/changeset/198933> (https://bugs.webkit.org/show_bug.cgi?id=155455) |
| <rdar://problem/25502181> |
| |
| Only check the code signature of the client app if the "user-directory-suffix" sandbox |
| initialization parameter will not be used. This parameter is only used/passed as an |
| initialization parameter if the client app is not sandboxed, which seems sufficient |
| criterion to determine whether it is safe to honor it. |
| |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::ChildProcess::initializeSandbox): |
| |
| 2016-04-01 Jiewen Tan <jiewen_tan@apple.com> |
| |
| WebKit should dispatchDidFailProvisionalLoad while loading invalid URLs |
| https://bugs.webkit.org/show_bug.cgi?id=155995 |
| <rdar://problem/14967004> |
| |
| Reviewed by Andy Estes. |
| |
| Ensure that alternative HTML string will not be loaded back to back for |
| failing provisional loads. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::loadAlternateHTMLString): |
| (WebKit::WebPageProxy::didFinishLoadForFrame): |
| * UIProcess/WebPageProxy.h: |
| |
| 2016-04-01 Brent Fulgham <bfulgham@apple.com> |
| |
| Confirm <a download> satisfies specification criteria |
| https://bugs.webkit.org/show_bug.cgi?id=156057 |
| |
| Reviewed by Andy Estes. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp: |
| (WKBundleNavigationActionGetHasDownloadAttribute): Added. |
| * WebProcess/InjectedBundle/API/c/WKBundleNavigationActionPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: |
| (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction): |
| * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h: |
| (WebKit::InjectedBundleNavigationAction::hasDownloadAttribute): Added. |
| |
| 2016-04-01 Alex Christensen <achristensen@webkit.org> |
| |
| CMake build fix. |
| |
| * PlatformMac.cmake: |
| |
| 2016-04-01 Alex Christensen <achristensen@webkit.org> |
| |
| Compile DumpRenderTree with CMake on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=156088 |
| |
| Reviewed by Brent Fulgham. |
| |
| * CMakeLists.txt: |
| * PlatformMac.cmake: |
| * UIProcess/API/Cocoa/WebKitLegacy.h: Added. |
| |
| 2016-03-31 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| Unreviewed EFL build fix caused by r198929. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::layerVolatilityTimerFired): Need to use type casting in WEBPAGE_LOG_ALWAYS_ERROR() log. |
| |
| 2016-03-31 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r194660): Navigating to HTTPS sites may fail with error |
| https://bugs.webkit.org/show_bug.cgi?id=155455 |
| <rdar://problem/24308793> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Fixes an issue where navigating to an HTTPS site may fail because the Security Framework uses |
| a cache directory that it does not have permission to use. |
| |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::codeSigningIdentifierForProcess): Queries the Security Framework for the code signed |
| bundle identifier/code signing identifier. |
| (WebKit::ChildProcess::initializeSandbox): Use the client identifier as part of the user directory |
| suffix. Verify that the client identifier matches the code signed bundled identifier/code |
| signing identifier for the code signed app/tool. Fix minor code style issue; use a C++-style cast |
| instead of a C-style cast when casting an OSStatus to a long. |
| (WebKit::findSecCodeForProcess): Deleted; incorporated logic into WebKit::codeSigningIdentifierForProcess(). |
| |
| 2016-03-31 Saam barati <sbarati@apple.com> |
| |
| Revert rewrite const as var workaround |
| https://bugs.webkit.org/show_bug.cgi?id=155393 |
| |
| Reviewed by Mark Lam. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2016-03-31 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Both WebPage's volatility timer and WebProcess's processSuspensionCleanupTimer are trying to make surfaces volatile with very short interval |
| https://bugs.webkit.org/show_bug.cgi?id=156065 |
| <rdar://problem/25452004> |
| |
| Reviewed by Simon Fraser. |
| |
| Upon process suspension, both the WebPage's volatility timer and |
| WebProcess' processSuspensionCleanupTimer are trying to make surfaces |
| volatile with a very short interval. This is overly aggressive given |
| that this operation normally succeeds very quickly or does not (due |
| to underlying bugs). |
| |
| This patch does the following: |
| - Drop the WebProcess' processSuspensionCleanupTimer and have the |
| WebProcess drive the WebPages' volatility timer instead. |
| - Update the WebPages' volatility timer to do exponential back off. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::layerVolatilityTimerFired): |
| (WebKit::WebPage::markLayersVolatileImmediatelyIfPossible): |
| (WebKit::WebPage::markLayersVolatile): |
| (WebKit::WebPage::cancelMarkLayersVolatile): |
| (WebKit::WebPage::isAlwaysOnLoggingAllowed): |
| (WebKit::WebPage::setLayerTreeStateIsFrozen): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::markLayersVolatile): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::applicationDidEnterBackground): |
| (WebKit::WebPage::applicationWillEnterForeground): |
| (WebKit::WebPage::applicationDidBecomeActive): Deleted. |
| (WebKit::adjustVelocityDataForBoundedScale): Deleted. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::actualPrepareToSuspend): |
| (WebKit::WebProcess::processWillSuspendImminently): |
| (WebKit::WebProcess::prepareToSuspend): |
| (WebKit::WebProcess::cancelPrepareToSuspend): |
| (WebKit::WebProcess::markAllLayersVolatile): |
| (WebKit::WebProcess::cancelMarkAllLayersVolatile): |
| (WebKit::WebProcess::setAllLayerTreeStatesFrozen): |
| (WebKit::WebProcess::processDidResume): |
| (WebKit::WebProcess::WebProcess): Deleted. |
| * WebProcess/WebProcess.h: |
| |
| 2016-03-31 Brian Burg <bburg@apple.com> |
| |
| Web Automation: the interaction queue in WebAutomationSession::performKeyInteractions doesn't work |
| https://bugs.webkit.org/show_bug.cgi?id=156083 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::performKeyboardInteractions): |
| Use Vector::reserveCapacity instead of the size constructor since we use append. |
| Empty the interaction queue outside of loops so all interactions are performed once. |
| |
| 2016-03-31 Timothy Hatcher <timothy@apple.com> |
| |
| Web Automation: Add support for script timeouts to the evaluateJavaScriptFunction command |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156052 |
| rdar://problem/25457151 |
| |
| Address additional review comments. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.js: |
| (AutomationSessionProxy.prototype.evaluateJavaScriptFunction): Add semicolons and remove |
| and clearTimeout that wasn't needed. |
| |
| 2016-03-31 Timothy Hatcher <timothy@apple.com> |
| |
| Web Automation: Navigation commands should not return until page loads or fails |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156063 |
| rdar://problem/25464373 |
| |
| Reviewed by Brian Burg. |
| |
| * UIProcess/Automation/Automation.json: Make navigation commands async. |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::navigateBrowsingContext): Save callback and timeout previous. |
| (WebKit::WebAutomationSession::goBackInBrowsingContext): Ditto. |
| (WebKit::WebAutomationSession::goForwardInBrowsingContext): Ditto. |
| (WebKit::WebAutomationSession::reloadBrowsingContext): Ditto. |
| (WebKit::WebAutomationSession::navigationOccuredForPage): Added. Fire callback for page. |
| * UIProcess/Automation/WebAutomationSession.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didFinishLoadForFrame): Call WebAutomationSession::navigationOccuredForPage. |
| (WebKit::WebPageProxy::didFailLoadForFrame): Ditto. |
| (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto. |
| |
| * UIProcess/WebProcessPool.h: Added automationSession() getter. |
| |
| 2016-03-30 Timothy Hatcher <timothy@apple.com> |
| |
| Web Automation: Add support for script timeouts to the evaluateJavaScriptFunction command |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156052 |
| rdar://problem/25457151 |
| |
| Reviewed by Brian Burg. |
| |
| * UIProcess/Automation/Automation.json: Added callbackTimeout to evaluateJavaScriptFunction. |
| Also made expectsImplicitCallbackArgument optional, since it is not required. Added JavaScriptTimeout error. |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::evaluateJavaScriptFunction): Added callbackTimeout. |
| * UIProcess/Automation/WebAutomationSession.h: |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| (WebKit::evaluateJavaScriptCallback): Send JavaScriptTimeout error if the timeout fired. |
| (WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction): Added callbackTimeout. |
| * WebProcess/Automation/WebAutomationSessionProxy.h: |
| * WebProcess/Automation/WebAutomationSessionProxy.js: |
| (AutomationSessionProxy.prototype.evaluateJavaScriptFunction): Set a timeout to fire if the |
| callback is not called, then return an error. |
| * WebProcess/Automation/WebAutomationSessionProxy.messages.in: |
| (EvaluateJavaScriptFunction): Added callbackTimeout parameter. |
| |
| 2016-03-31 Jiewen Tan <jiewen_tan@apple.com> |
| |
| WebKit should set Original URL of a download request correctly |
| https://bugs.webkit.org/show_bug.cgi?id=155914 |
| <rdar://problem/10473811> |
| |
| Reviewed by Anders Carlsson. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::convertTaskToDownload): |
| (WebKit::NetworkLoad::didReceiveResponseNetworkSession): |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::findPendingDownloadLocation): |
| * NetworkProcess/NetworkProcess.h: |
| Add logic to set the original URL of a download request when a main resource load |
| is converted to a download. |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::download): |
| * UIProcess/WebProcessPool.h: |
| Add logic to set the original URL of a download request during a context menu: |
| Download Linked File action. |
| |
| 2016-03-31 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Automation: Add Automation.screenshot |
| https://bugs.webkit.org/show_bug.cgi?id=156073 |
| <rdar://problem/25468646> |
| |
| Reviewed by Timothy Hatcher and Brian Burg. |
| |
| * UIProcess/Automation/Automation.json: |
| Add Automation.screenshot which returns base64 encoded PNG data. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.h: |
| * WebProcess/Automation/WebAutomationSessionProxy.messages.in: |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::screenshot): |
| (WebKit::WebAutomationSession::didTakeScreenshot): |
| (WebKit::WebAutomationSession::platformGetBase64EncodedPNGData): |
| Send a message to the WebPage to get an Image of the page |
| and handle the response. |
| |
| * UIProcess/Cocoa/WebAutomationSessionCocoa.mm: |
| (WebKit::WebAutomationSession::platformGetBase64EncodedPNGData): |
| Convert the bitmap data to a base64 encoded PNG. |
| |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/Automation/WebAutomationSession.messages.in: |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| (WebKit::evaluateJavaScriptCallback): |
| (WebKit::WebAutomationSessionProxy::didClearWindowObjectForFrame): |
| (WebKit::WebAutomationSessionProxy::resolveChildFrameWithOrdinal): |
| (WebKit::WebAutomationSessionProxy::resolveChildFrameWithNodeHandle): |
| (WebKit::WebAutomationSessionProxy::resolveChildFrameWithName): |
| (WebKit::WebAutomationSessionProxy::resolveParentFrame): |
| (WebKit::WebAutomationSessionProxy::computeElementLayout): |
| Use null string where possible for efficiency. |
| |
| (WebKit::WebAutomationSessionProxy::takeScreenshot): |
| Take an image of the entire page and pass back to the UIProcess. |
| |
| 2016-03-31 Timothy Hatcher <timothy@apple.com> |
| |
| Web Automation: Handle undefined when calling a function that has no result |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156075 |
| rdar://problem/25468907 |
| |
| Reviewed by Brian Burg. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.js: |
| (let.AutomationSessionProxy.prototype._jsonParse): Return undefined for empty string. |
| (let.AutomationSessionProxy.prototype._jsonStringify): Always return a string. |
| |
| 2016-03-31 Jeremy Jones <jeremyj@apple.com> |
| |
| mediaShouldUsePersistentCache() is redundant. Use Page::usesEphemeralSession() instead. |
| https://bugs.webkit.org/show_bug.cgi?id=155924 |
| |
| Reviewed by Simon Fraser. |
| |
| Remove machinery for mediaShouldUsePersistentCache as it is redundant. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): Deleted. |
| (WebKit::WebPageCreationParameters::decode): Deleted. |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): Deleted. |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::mediaShouldUsePersistentCache): Deleted. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_mediaShouldUsePersistentCache): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::mediaShouldUsePersistentCache): Deleted. |
| |
| 2016-03-30 Ada Chan <adachan@apple.com> |
| |
| Add the new "toggle enhanced fullscreen" context menu item to the video context menu on supporting platforms. |
| https://bugs.webkit.org/show_bug.cgi?id=156031 |
| |
| Reviewed by Eric Carlson. |
| |
| * Shared/API/c/WKContextMenuItemTypes.h: |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toAPI): |
| (WebKit::toImpl): |
| |
| 2016-03-31 Brent Fulgham <bfulgham@apple.com> |
| |
| Unreviewed build fix after r198893. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::findPendingDownloadLocation): Pass |
| new argument to download method. |
| |
| 2016-03-31 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2] Support download attribute feature |
| https://bugs.webkit.org/show_bug.cgi?id=102914 |
| <rdar://problem/13177492> |
| |
| Reviewed by Darin Adler. |
| |
| A first draft implementation of this feature. |
| |
| * NetworkProcess/Downloads/Download.cpp: |
| (WebKit::Download::Download): Update to accept default filename. |
| (WebKit::Download::didStart): Send default filename in message. |
| * NetworkProcess/Downloads/Download.h: |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::startDownload): Expect a default filename argument. |
| * NetworkProcess/Downloads/DownloadManager.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::startDownload): Expect a default |
| filename argument. |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Update messages to |
| expect a default filename argument. |
| * Shared/NavigationActionData.cpp: |
| (WebKit::NavigationActionData::encode): Handle the download attribute flag and |
| the default filename. |
| (WebKit::NavigationActionData::decode): Ditto. |
| * Shared/NavigationActionData.h: |
| * UIProcess/API/APINavigationAction.h: |
| * UIProcess/Downloads/DownloadProxy.cpp: |
| (WebKit::DownloadProxy::didStart): Expect a default filename argument. |
| (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename): Use the suggested |
| filename if the client delegate does not override it. |
| * UIProcess/Downloads/DownloadProxy.h: |
| * UIProcess/Downloads/DownloadProxy.messages.in: Include a default filename value. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::receivedPolicyDecision): If the feature is enabled, and |
| the load was started with a download attribute, convert a "PolicyUse" decision |
| to "PolicyDownload". |
| (WebKit::WebPageProxy::decidePolicyForNavigationAction): Remember if the load |
| is happening due to a 'download' attribute link. |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::createWindow): Populate the navigationActionData object |
| with any download attribute and suggested filename. |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Populate the |
| navigationActionData object with any download attribute and suggested filename. |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto. |
| (WebKit::WebFrameLoaderClient::startDownload): Expect a suggested filename argument. |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::startDownload): Expect a suggested filename argument. |
| * WebProcess/WebPage/WebFrame.h: |
| |
| 2016-03-30 Alex Christensen <achristensen@webkit.org> |
| |
| CMake build fix. |
| |
| * PlatformMac.cmake: |
| |
| 2016-03-30 Alex Christensen <achristensen@webkit.org> |
| |
| Speculative Yosemite fix after r198872. |
| |
| * UIProcess/Cocoa/WebAutomationSessionCocoa.mm: |
| (WebKit::WebAutomationSession::platformSimulateKeySequence): |
| Yosemite didn't like _Nullable. |
| |
| 2016-03-30 Yongjun Zhang <yongjun_zhang@apple.com> |
| |
| Need to expose makeAllShadowRootsOpen in WKWebProcessPlugInScriptWorld. |
| https://bugs.webkit.org/show_bug.cgi?id=156046 |
| |
| Add an SPI makeAllShadowRootsOpen method in WKWebProcessPlugInScriptWorld. |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm: |
| (-[WKWebProcessPlugInScriptWorld makeAllShadowRootsOpen]): |
| |
| 2016-03-30 Brian Burg <bburg@apple.com> |
| |
| Web Automation: Add Automation.performKeyboardInteractions |
| https://bugs.webkit.org/show_bug.cgi?id=155990 |
| <rdar://problem/25426408> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add a command that allows automation to simulate single |
| key strokes or insertion of an entire string, character |
| by character. |
| |
| * UIProcess/Automation/Automation.json: Add new command. |
| Add a large enumeration of all virtual keys that exist |
| on a US 109-key keyboard layout. Add an interaction object. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::performKeyboardInteractions): |
| Added. This method validates the incoming key interactions |
| from the protocol and makes a list of simulated interactions |
| to perform. If everything validates, then delegate the key |
| interaction simulations to platform-specific methods. |
| |
| (WebKit::WebAutomationSession::platformSimulateKeyStroke): |
| (WebKit::WebAutomationSession::platformSimulateKeySequence): |
| Add stubs for other platforms. |
| |
| * UIProcess/Automation/WebAutomationSession.h: Add new |
| protocol command handler and platform simulation methods. |
| |
| * UIProcess/Cocoa/WebAutomationSessionCocoa.mm: |
| (WebKit::WebAutomationSession::platformSimulateKeyStroke): |
| (WebKit::WebAutomationSession::platformSimulateKeySequence): |
| These methods implement keyboard simulation for AppKit, used |
| by the Mac port. In the keystroke case, figure out the AppKit |
| keyCode for the key as well as any key modifiers that should |
| be included with the key event. Keep track of sticky modifiers |
| and update the session state appropriately. In the key sequence |
| case, split the string into combining character sequences and |
| send a 'key up/down'. This is a weird way to send non-ASCII |
| text, so a better alternative should be explored in the future. |
| |
| 2016-03-30 Brady Eidson <beidson@apple.com> |
| |
| Make BlobData use ThreadSafeSharedBuffer instead of RawData. |
| https://bugs.webkit.org/show_bug.cgi?id=156041 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: |
| (WebKit::NetworkBlobRegistry::filesInBlob): |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<BlobPart>::decode): |
| |
| 2016-03-30 Daniel Bates <dabates@apple.com> |
| |
| Unreviewed, rolling out r198856. |
| |
| Broke the tests on the Apple El Capitan Release WK2 (Tests) |
| bot. Further investigation needed. |
| |
| Reverted changeset: |
| |
| "REGRESSION (r194660): Navigating to HTTPS sites may fail with |
| error" |
| https://bugs.webkit.org/show_bug.cgi?id=155455 |
| http://trac.webkit.org/changeset/198856 |
| |
| 2016-03-30 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r194660): Navigating to HTTPS sites may fail with error |
| https://bugs.webkit.org/show_bug.cgi?id=155455 |
| <rdar://problem/24308793> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Fixes an issue where navigating to an HTTPS site may fail because the Security Framework uses |
| a cache directory that it does not have permission to use. |
| |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::codeSigningIdentifierForProcess): Queries the Security Framework for the code signed |
| bundle identifier/code signing identifier. |
| (WebKit::ChildProcess::initializeSandbox): Use the client identifier as part of the user directory |
| suffix. Verify that the client identifier matches the code signed bundled identifier/code |
| signing identifier for the code signed app/tool. Fix minor code style issue; use a C++-style cast |
| instead of a C-style cast when casting an OSStatus to a long. |
| (WebKit::findSecCodeForProcess): Deleted; incorporated logic into WebKit::codeSigningIdentifierForProcess(). |
| |
| 2016-03-30 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Use references instead of pointers in scrollbar-related code |
| https://bugs.webkit.org/show_bug.cgi?id=155998 |
| |
| Reviewed by Dean Jackson. |
| |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h: |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::PDFPlugin::convertFromScrollbarToContainingView): |
| (WebKit::PDFPlugin::convertFromContainingViewToScrollbar): |
| (WebKit::PDFPlugin::invalidateScrollbarRect): |
| |
| 2016-03-29 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION: Yosemite-only: com.apple.WebKit.Plugin.32.Development crashed in PluginProcessShim.dylib: WebKit::shimMachVMMap + 26 |
| <http://webkit.org/b/156000> |
| <rdar://problem/25272133> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * PluginProcess/mac/PluginProcessShim.mm: |
| (WebKit::shimMachVMMap): Add SUPPRESS_ASAN attribute on |
| Yosemite. |
| |
| 2016-03-28 Enrica Casucci <enrica@apple.com> |
| |
| When moving focus from one select element to another (iPhone) the value is committed to the newly focused element. |
| https://bugs.webkit.org/show_bug.cgi?id=155958 |
| rdar://problem/22738524 |
| |
| Reviewed by Tim Horton. |
| |
| We should not delay the call to endEditing until we receive |
| stopAssistingNode, because by then the assisted node might have already |
| changed. We need to call endEditing to commit potential changes every |
| time we tap. This way we can make sure the editing session on the select |
| element has been completed. This affects only single select elements on |
| iPhone, where the change to the actual DOM element is delayed until we |
| stop interacting with the element. On iPad or for multi-select elements, |
| the change to the DOM happens immediately. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _singleTapCommited:]): |
| (-[WKContentView _attemptClickAtLocation:]): |
| (-[WKContentView _stopAssistingNode]): |
| |
| 2016-03-29 Brian Burg <bburg@apple.com> |
| |
| Unreviewed build fix after r198793. |
| |
| * UIProcess/API/Cocoa/_WKAutomationSession.h: |
| * UIProcess/API/Cocoa/_WKAutomationSession.mm: |
| The wasEventSynthesizedForAutomation method should only be available on Mac. |
| |
| 2016-03-29 Brian Burg <bburg@apple.com> |
| |
| Unreviewed build fix after r198792. |
| |
| * UIProcess/Cocoa/WebAutomationSessionCocoa.mm: |
| (WebKit::WebAutomationSession::platformSimulateMouseInteraction): |
| We (still) can't use lightweight generics in Objective-C code. |
| Also, use RetainPtr instead of new, since this is not ARC code. |
| |
| 2016-03-29 Alex Christensen <achristensen@webkit.org> |
| |
| Fix CMake build after r198792. |
| |
| * PlatformMac.cmake: |
| |
| 2016-03-29 Brian Burg <bburg@apple.com> |
| |
| Web Automation: Add SPI to tell whether an NSEvent was synthesized for automation |
| https://bugs.webkit.org/show_bug.cgi?id=155963 |
| <rdar://problem/25405747> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Tag all NSEvents that were synthesized with an associated object before sending. |
| Do all associated object work below the API layer so we don't get into trouble |
| using things that may be guarded by WK_API_ENABLED. |
| |
| * UIProcess/API/Cocoa/_WKAutomationSession.h: |
| * UIProcess/API/Cocoa/_WKAutomationSession.mm: |
| (-[_WKAutomationSession wasEventSynthesizedForAutomation:]): |
| Forward to the wrapped session object. |
| |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/Cocoa/WebAutomationSessionCocoa.mm: |
| (WebKit::WebAutomationSession::sendSynthesizedEventsToPage): |
| Tag outgoing NSEvents with the session identifier as an associated object. |
| |
| (WebKit::WebAutomationSession::wasEventSynthesizedForAutomation): |
| Check an incoming NSEvent to see if its associated object is the session identifier. |
| |
| 2016-03-28 Brian Burg <bburg@apple.com> |
| |
| Web Automation: implement Automation.performMouseInteraction |
| https://bugs.webkit.org/show_bug.cgi?id=155606 |
| <rdar://problem/25227576> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This method implements common mouse interactions by synthesizing native events. |
| The creation and dispatching of simulated events is implemented separately per |
| application/window/event framework. This patch adds an implementation for ports |
| that use AppKit. |
| |
| The event is created synthetically in a platform-specific way and delivered to |
| the platform's window in the UIProcess. The event goes through all the |
| layers of processing that a real mouse event could go through once it reaches |
| WebKit itself. |
| |
| * UIProcess/Automation/Automation.json: Add new enums and command. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::protocolModifierToWebEventModifier): |
| (WebKit::WebAutomationSession::performMouseInteraction): Added. |
| Clip the requested cursor position so that it stays within the selected window's |
| frame and doesn't wander off into other windows or applications. Fire it using |
| the platform-specific simulation method. |
| |
| (WebKit::WebAutomationSession::platformSimulateMouseInteraction): Added. |
| |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/Cocoa/WebAutomationSessionCocoa.mm: |
| (WebKit::WebAutomationSession::platformSimulateMouseInteraction): Added. |
| Convert Automation protocol values to AppKit values. Simulate and dispatch |
| one or more events depending on the desired interaction. |
| * WebKit2Prefix.h: Include AppKitCompatibilityDeclarations.h so newer |
| NSEventTypes can be used. |
| |
| 2016-03-29 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Follow up to r198580. |
| |
| Simplify the code even more as suggested by Darin. |
| |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::setViewNeedsDisplay): |
| |
| 2016-03-28 Alex Christensen <achristensen@webkit.org> |
| |
| Fix Mac Ninja build after r198766. |
| |
| * CMakeLists.txt: |
| |
| 2016-03-28 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Remove abstract base classes for all IDB DOM classes. |
| https://bugs.webkit.org/show_bug.cgi?id=155951 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| |
| 2016-03-28 Brian Burg <bburg@apple.com> |
| |
| Web Automation: add commands to move and resize a browsing context's window |
| https://bugs.webkit.org/show_bug.cgi?id=155349 |
| <rdar://problem/25104911> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Parse the new origin or size and request the window to change to the |
| new frame. This calls through to PageUIClient::setWindowFrame(). |
| |
| * UIProcess/Automation/Automation.json: |
| Add new enum values for protocol parsing error cases. |
| Add new commands. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::resizeWindowOfBrowsingContext): |
| (WebKit::WebAutomationSession::moveWindowOfBrowsingContext): |
| Added. Parse the incoming payload and bail if nothing would happen |
| or the values are not usable or out of range. Complain if a change |
| did not happen when the requested and actual size are different. |
| |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/WebPageProxy.h: Move setWindowFrame to be public. |
| |
| 2016-03-28 Brian Burg <bburg@apple.com> |
| |
| Web Automation: split protocol object BrowsingContext.windowFrame into two separate members |
| https://bugs.webkit.org/show_bug.cgi?id=155952 |
| <rdar://problem/25393597> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Using the name 'windowFrame' causes conflicts with some Objective-C code. |
| |
| * UIProcess/Automation/Automation.json: |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::buildBrowsingContextForPage): |
| |
| 2016-03-28 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [CMake] Unreviewed build fix after r198736. |
| https://bugs.webkit.org/show_bug.cgi?id=155221 |
| |
| Unreviewed. |
| |
| * CMakeLists.txt: Fix typo, add WebAutomationSession.cpp and declare JavaScriptCore_SCRIPTS_DIR. |
| * WebProcess/Automation/WebAutomationSessionProxy.h: Add missing include. |
| |
| 2016-03-28 Alex Christensen <achristensen@webkit.org> |
| |
| Use std::exchange for std::functions instead of WTFMove |
| https://bugs.webkit.org/show_bug.cgi?id=155950 |
| rdar://problem/25348817 |
| |
| Reviewed by Anders Carlsson. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::convertTaskToDownload): |
| (WebKit::NetworkLoad::setPendingDownloadID): |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| This makes the member variable nullptr when the value is moved so we don't use it again. |
| |
| 2016-03-28 Brian Burg <bburg@apple.com> |
| |
| Web Automation: report the browsing context's window frame (size and origin) |
| https://bugs.webkit.org/show_bug.cgi?id=155323 |
| <rdar://problem/25094089> |
| |
| Reviewed by Timothy Hatcher. |
| |
| To prepare for implementing resize and move commands, add a |
| windowFrame member to the browsing context protocol type. |
| |
| * UIProcess/Automation/Automation.json: |
| Add a frame Rect to BrowsingContext. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::handleForWebPageProxy): |
| (WebKit::WebAutomationSession::buildBrowsingContextForPage): |
| Extract the code to build a BrowsingContext object. Add |
| code to calculate and insert the page's window frame size. |
| |
| (WebKit::WebAutomationSession::getBrowsingContexts): |
| (WebKit::WebAutomationSession::getBrowsingContext): |
| (WebKit::WebAutomationSession::createBrowsingContext): |
| (WebKit::WebAutomationSession::switchToBrowsingContext): |
| Refactoring as above. |
| |
| * UIProcess/Automation/WebAutomationSession.h: |
| Adjust signatures. |
| |
| * UIProcess/WebPageProxy.h: Make getWindowFrame public. |
| |
| 2016-03-28 Brian Burg <bburg@apple.com> |
| |
| Unreviewed, fix the build. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| InspectorProtocolObjects.h was renamed to AutomationProtocolObjects.h. |
| |
| 2016-03-28 Chris Dumez <cdumez@apple.com> |
| |
| Disk cache speculative validation requests do not have the 'Referer' HTTP header set |
| https://bugs.webkit.org/show_bug.cgi?id=155890 |
| <rdar://problem/25279962> |
| |
| Reviewed by Antti Koivisto. |
| |
| Disk cache speculative validation requests did not have the 'Referer' |
| HTTP header set. This was breaking some streaming sites (such as |
| twitch.tv). |
| |
| We now store all the original request's HTTP headers in the disk cache |
| so we can re-use them for the speculative validation requests. When the |
| actual request comes later on, we also make sure that the HTTP headers |
| used in the speculative validation request match the ones from the |
| effective request. If they don't we don't use the speculatively |
| validated resource as the server may return a different resource in |
| such case. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::retrieve): |
| Pass the effective ResourceRequest to the NetworkCacheSpeculativeLoadManager |
| so it can check that the speculative validation request's HTTP headers |
| match the effective request's headers. |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::constructRevalidationRequest): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::revalidationRequest): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::wasRevalidated): |
| We now have a member in PreloadedEntry to keep the request used for validation, if |
| speculative validation was done. This is so that we can compare its HTTP headers |
| with the ones of the effective request later on. |
| |
| (WebKit::NetworkCache::dumpHTTPHeadersDiff): |
| Debug function that prints which HTTP headers did not match in the speculative |
| validation request and in the effective request. |
| |
| (WebKit::NetworkCache::requestsHeadersMatch): |
| New utility function to check that the speculative validation request's HTTP |
| headers match the ones of the effective requests. Note that we allow for |
| headers related to validation to differ. |
| |
| (WebKit::NetworkCache::SpeculativeLoadManager::canUsePreloadedEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::canUsePendingPreload): |
| (WebKit::NetworkCache::SpeculativeLoadManager::retrieve): |
| Check that the speculative validation request's HTTP headers match the |
| ones of the effective request. If they don't then do not use the |
| speculatively validated resource. |
| |
| (WebKit::NetworkCache::SpeculativeLoadManager::addPreloadedEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h: |
| |
| * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp: |
| (WebKit::NetworkCache::SubresourceInfo::encode): |
| (WebKit::NetworkCache::SubresourceInfo::decode): |
| (WebKit::NetworkCache::SubresourcesEntry::encodeAsStorageRecord): |
| (WebKit::NetworkCache::SubresourcesEntry::decodeStorageRecord): |
| * NetworkProcess/cache/NetworkCacheSubresourcesEntry.h: |
| (WebKit::NetworkCache::SubresourceInfo::SubresourceInfo): |
| - Keep all the request's headers in SubresourceInfo instead of just the |
| 'User-Agent' one. |
| - Drop the custom copy constructor / assignment operator for |
| SubresourceInfo that were making isolated copies on the members. |
| We technically don't need to use SubresourceInfo objects in other |
| threads than the main one. In SpeculativeLoadManager::preloadEntry(), |
| we now make capture a SubresourceInfo* in the lambda to avoid calling |
| the copy constructor. We also make sure that the object gets destroyed |
| in the lambda function, which is executed in the main thread. |
| |
| 2016-03-25 Timothy Hatcher <timothy@apple.com> |
| |
| Web Automation: Add Automation protocol commands to handle JavaScript dialogs |
| |
| https://bugs.webkit.org/show_bug.cgi?id=155888 |
| rdar://problem/25360218 |
| |
| Reviewed by Brian Burg. |
| |
| * UIProcess/API/APIAutomationSessionClient.h: |
| (API::AutomationSessionClient::isShowingJavaScriptDialogOnPage): Added. |
| (API::AutomationSessionClient::dismissCurrentJavaScriptDialogOnPage): Added. |
| (API::AutomationSessionClient::acceptCurrentJavaScriptDialogOnPage): Added. |
| (API::AutomationSessionClient::messageOfCurrentJavaScriptDialogOnPage): Added. |
| (API::AutomationSessionClient::setUserInputForCurrentJavaScriptPromptOnPage): Added. |
| |
| * UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h: |
| |
| * UIProcess/Automation/Automation.json: Added new commands. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::isShowingJavaScriptDialog): Added. |
| (WebKit::WebAutomationSession::dismissCurrentJavaScriptDialog): Added. |
| (WebKit::WebAutomationSession::acceptCurrentJavaScriptDialog): Added. |
| (WebKit::WebAutomationSession::messageOfCurrentJavaScriptDialog): Added. |
| (WebKit::WebAutomationSession::setUserInputForCurrentJavaScriptPrompt): Added. |
| * UIProcess/Automation/WebAutomationSession.h: |
| |
| * UIProcess/Cocoa/AutomationSessionClient.h: |
| * UIProcess/Cocoa/AutomationSessionClient.mm: |
| (WebKit::AutomationSessionClient::AutomationSessionClient): Added. |
| (WebKit::AutomationSessionClient::isShowingJavaScriptDialogOnPage): Added. |
| (WebKit::AutomationSessionClient::dismissCurrentJavaScriptDialogOnPage): Added. |
| (WebKit::AutomationSessionClient::acceptCurrentJavaScriptDialogOnPage): Added. |
| (WebKit::AutomationSessionClient::messageOfCurrentJavaScriptDialogOnPage): Added. |
| (WebKit::AutomationSessionClient::setUserInputForCurrentJavaScriptPromptOnPage): Added. |
| |
| 2016-03-24 Timothy Hatcher <timothy@apple.com> |
| |
| Web Automation: Add commands to compute layout of an element |
| |
| https://bugs.webkit.org/show_bug.cgi?id=155841 |
| rdar://problem/25340075 |
| |
| Reviewed by Brian Burg. |
| |
| * UIProcess/Automation/Automation.json: Added computeElementLayout. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::computeElementLayout): Added. |
| (WebKit::WebAutomationSession::didComputeElementLayout): Added. |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/Automation/WebAutomationSession.messages.in: |
| (DidComputeElementLayout): Added. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| (WebKit::WebAutomationSessionProxy::computeElementLayout): Added. |
| * WebProcess/Automation/WebAutomationSessionProxy.h: |
| * WebProcess/Automation/WebAutomationSessionProxy.messages.in: |
| (ComputeElementLayout): Added. |
| |
| 2016-03-18 Timothy Hatcher <timothy@apple.com> |
| |
| Web Automation: Add Automation protocol commands to resolve frames as handles |
| |
| https://bugs.webkit.org/show_bug.cgi?id=155650 |
| rdar://problem/25242422 |
| |
| Reviewed by Brian Burg. |
| |
| * UIProcess/Automation/Automation.json: |
| Added resolveFrameHandle and resolveParentFrameHandle. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::webFrameProxyForHandle): Added. |
| (WebKit::WebAutomationSession::handleForWebFrameID): Added. |
| (WebKit::WebAutomationSession::handleForWebFrameProxy): Added. |
| (WebKit::WebAutomationSession::evaluateJavaScriptFunction): Use frame handles now. |
| (WebKit::WebAutomationSession::resolveChildFrameHandle): Added. |
| (WebKit::WebAutomationSession::didChildResolveFrame): Added. |
| (WebKit::WebAutomationSession::resolveParentFrameHandle): Added. |
| (WebKit::WebAutomationSession::didResolveParentFrame): Added. |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/Automation/WebAutomationSession.messages.in: |
| (DidResolveChildFrame): Added. |
| (DidResolveParentFrame): Added. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| (WebKit::WebAutomationSessionProxy::elementForNodeHandle): Added. |
| (WebKit::WebAutomationSessionProxy::resolveChildFrameWithOrdinal): Added. |
| (WebKit::WebAutomationSessionProxy::resolveChildFrameWithNodeHandle): Added. |
| (WebKit::WebAutomationSessionProxy::resolveChildFrameWithName): Added. |
| (WebKit::WebAutomationSessionProxy::resolveParentFrame): Added. |
| (WebKit::WebAutomationSessionProxy::focusFrame): Added. |
| * WebProcess/Automation/WebAutomationSessionProxy.h: |
| * WebProcess/Automation/WebAutomationSessionProxy.messages.in: |
| (ResolveChildFrameWithOrdinal): Added. |
| (ResolveChildFrameWithNodeHandle): Added. |
| (ResolveChildFrameWithName): Added. |
| (ResolveParentFrame): Added. |
| (FocusFrame): Added. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.js: |
| (AutomationSessionProxy.prototype.nodeForIdentifier): Added. |
| Public method that eats the exception thrown by the private method. |
| |
| 2016-03-17 Timothy Hatcher <timothy@apple.com> |
| |
| Web Automation: Add Automation.evaluateJavaScriptFunction |
| |
| https://bugs.webkit.org/show_bug.cgi?id=155524 |
| rdar://problem/25181888 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UIProcess/Automation/Automation.json: Added evaluateJavaScriptFunction command. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::evaluateJavaScriptFunction): Added. |
| (WebKit::WebAutomationSession::didEvaluateJavaScriptFunction): Added. |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/Automation/WebAutomationSession.messages.in: Added didEvaluateJavaScriptFunction. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| (WebKit::toJSArray): Added. |
| (WebKit::callPropertyFunction): Added. |
| (WebKit::evaluateJavaScriptCallback): Added. |
| (WebKit::WebAutomationSessionProxy::didClearWindowObjectForFrame): Dispatch pending callbacks as errors. |
| (WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction): Added. |
| (WebKit::WebAutomationSessionProxy::didEvaluateJavaScriptFunction): Added. |
| * WebProcess/Automation/WebAutomationSessionProxy.h: |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.js: |
| (AutomationSessionProxy): Added maps for node handles. |
| (AutomationSessionProxy.prototype.evaluateJavaScriptFunction): Added. |
| (AutomationSessionProxy.prototype._jsonParse): Added. |
| (AutomationSessionProxy.prototype._jsonStringify): Added. |
| (AutomationSessionProxy.prototype._reviveJSONValue): Added. |
| (AutomationSessionProxy.prototype._replaceJSONValue): Added. |
| (AutomationSessionProxy.prototype._createNodeHandle): Added. |
| (AutomationSessionProxy.prototype._nodeForIdentifier): Added. |
| (AutomationSessionProxy.prototype._identifierForNode): Added. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.messages.in: Added evaluateJavaScriptFunction. |
| |
| 2016-03-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebAutomationSessionProxy for WebProcess side automation tasks |
| |
| https://bugs.webkit.org/show_bug.cgi?id=155221 |
| rdar://problem/25054868 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * CMakeLists.txt: Add build step to build-in WebAutomationSessionProxy.js. |
| * DerivedSources.make: Ditto. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::~WebAutomationSession): |
| (WebKit::WebAutomationSession::setProcessPool): Add / remove message receiver. |
| * UIProcess/Automation/WebAutomationSession.h: |
| |
| * UIProcess/Automation/WebAutomationSession.messages.in: Added. |
| Test message to get things to build. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::removeMessageReceiver): |
| (WebKit::WebProcessPool::setAutomationSession): |
| * UIProcess/WebProcessPool.h: |
| |
| * WebKit2.xcodeproj/project.pbxproj: Added new files. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: Added. |
| (WebKit::toJSString): |
| (WebKit::toJSValue): |
| (WebKit::WebAutomationSessionProxy::WebAutomationSessionProxy): |
| (WebKit::WebAutomationSessionProxy::~WebAutomationSessionProxy): |
| (WebKit::evaluate): |
| (WebKit::createUUID): |
| (WebKit::WebAutomationSessionProxy::scriptObjectForFrame): |
| (WebKit::WebAutomationSessionProxy::didClearWindowObjectForFrame): |
| Create a script object per frame that is evaluated from WebAutomationSessionProxy.js. |
| Clear the script object when the window object is cleared. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.h: Added. |
| (WebKit::WebAutomationSessionProxy::test): |
| Added test message to let the messages files build. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.js: Added. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.messages.in: Added. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): |
| Call WebAutomationSessionProxy::didClearWindowObjectForFrame to clear the script object. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::ensureAutomationSessionProxy): |
| (WebKit::WebProcess::destroyAutomationSessionProxy): |
| Creates and destroys the WebAutomationSessionProxy when the UIProcess WebAutomationSession |
| is set or removed on the WebProcessPool. |
| |
| * WebProcess/WebProcess.h: |
| (WebKit::WebProcess::automationSessionProxy): Added. |
| |
| * WebProcess/WebProcess.messages.in: Added. Test message to get things to build. |
| |
| 2016-03-28 Dan Bernstein <mitz@apple.com> |
| |
| Tried to fix the build after r198728. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::gestureEvent): |
| |
| 2016-03-28 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed GTK build fix for the threaded compositor feature after r198655. |
| Adjust the first parameter of ThreadSafeCoordinatedSurface::copyToTexture(). |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: |
| (WebKit::ThreadSafeCoordinatedSurface::copyToTexture): |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h: |
| |
| 2016-03-27 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [EFL] REGRESSION(r188793): It made 200 layout tests and Bindings/event-target-wrapper.html performance test fail |
| https://bugs.webkit.org/show_bug.cgi?id=148470 |
| |
| Reviewed by Darin Adler. |
| |
| UI events are suppressed in webPage after r188793. |
| I revert the r136133 for passing the events to WebPage |
| |
| * WebProcess/WebPage/WebPage.cpp: Removed the codes which was uploaded at r136133. |
| (WebKit::WebPage::mouseEvent): |
| (WebKit::WebPage::wheelEvent): |
| (WebKit::WebPage::keyEvent): |
| (WebKit::WebPage::touchEvent): |
| (WebKit::WebPage::canHandleUserEvents): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2016-03-26 Dan Bernstein <mitz@apple.com> |
| |
| Tried to fix the build. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _takeViewSnapshot]): |
| |
| 2016-03-26 Dan Bernstein <mitz@apple.com> |
| |
| Tried to fix the build. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _takeViewSnapshot]): |
| |
| 2016-03-26 Dean Jackson <dino@apple.com> |
| |
| Fix build after my most recent commit. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (WebKit::bufferFormat): Delete the WebKitAdditions include. |
| |
| 2016-03-25 Dean Jackson <dino@apple.com> |
| |
| Move extended color detection into Open Source |
| https://bugs.webkit.org/show_bug.cgi?id=155909 |
| <rdar://problem/25369754> |
| |
| Reviewed by Anders Carlsson. |
| |
| The code for detecting extended color displays |
| was hidden while the iPad Pro 9.7" was in development. |
| Now it is public, move the detection to Open Source. |
| |
| While doing this, add a new method to PlatformScreen |
| so that we have a more obvious way to detect such |
| displays. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::bufferFormat): No need to use WebKitAdditions any |
| more. |
| |
| 2016-03-26 Dan Bernstein <mitz@apple.com> |
| |
| Treat SHA-1-signed certificates as insecure by default. |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/APIPageConfiguration.h: Initialize m_treatsSHA1SignedCertificatesAsInsecure |
| to true. |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): Initialize _treatsSHA1SignedCertificatesAsInsecure to YES. |
| |
| 2016-03-25 Dean Jackson <dino@apple.com> |
| |
| Remove use of extern "C" to include QuartzCore files |
| https://bugs.webkit.org/show_bug.cgi?id=155905 |
| |
| Reviewed by Anders Carlson. |
| |
| We can avoid having to wrap constants in extern "C", since they |
| are mangled the same in both C and C++. |
| |
| * UIProcess/mac/RemoteLayerTreeHost.mm: Remove the |
| mention of CABackdropLayer. |
| |
| 2016-03-25 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: protocol generator should prefix C++ filenames with the protocol group |
| https://bugs.webkit.org/show_bug.cgi?id=155859 |
| <rdar://problem/25349859> |
| |
| Reviewed by Alex Christensen and Joseph Pecoraro. |
| |
| Adjust header include and build system paths. |
| |
| * CMakeLists.txt: |
| Revert the workaround introduced in r198659 since this change fixes the |
| underlying issue. |
| |
| * DerivedSources.make: |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| * UIProcess/Automation/WebAutomationSession.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-03-25 Alex Christensen <achristensen@webkit.org> |
| |
| Remove unused lambda capture after r196984. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| resourceResponse is not used in the lambda. |
| |
| 2016-03-25 Alex Christensen <achristensen@webkit.org> |
| |
| Fix Mac CMake build. |
| |
| * PlatformMac.cmake: |
| |
| 2016-03-24 Alex Christensen <achristensen@webkit.org> |
| |
| Fix Mac CMake build. |
| |
| * CMakeLists.txt: |
| Temporarily add DERIVED_SOURCES_JAVASCRIPTCORE_DIR after DERIVED_SOURCES_WEBCORE_DIR, |
| because both contain a unique header named InspectorBackendDispatchers.h and this include |
| order includes the correct one for WebKit2 first. |
| * PlatformMac.cmake: |
| Add new files. Optionally link to AVFAudio. |
| |
| 2016-03-24 Said Abou-Hallawa <sabouhallawa@apple,com> |
| |
| Change NativeImagePtr for CG to be RetainPtr<CGImageRef> |
| https://bugs.webkit.org/show_bug.cgi?id=155412 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: |
| (WebKit::WebCoordinatedSurface::createWithSurface): |
| (WebKit::WebCoordinatedSurface::create): |
| (WebKit::WebCoordinatedSurface::WebCoordinatedSurface): |
| (WebKit::WebCoordinatedSurface::copyToTexture): |
| * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: |
| * Shared/ShareableBitmap.cpp: |
| (WebKit::ShareableBitmap::create): |
| (WebKit::ShareableBitmap::createShareable): |
| (WebKit::ShareableBitmap::ShareableBitmap): |
| * Shared/ShareableBitmap.h: |
| Replace PassRefPtr with RefPtr and use WTFMove() instead of RefPtr::release() |
| when passing the RefPtr. |
| |
| * Shared/cairo/ShareableBitmapCairo.cpp: |
| (WebKit::createSurfaceFromData): |
| (WebKit::ShareableBitmap::createCairoSurface): |
| Replace PassRefPtr with RefPtr. |
| |
| (WebKit::ShareableBitmap::createImage): |
| * Shared/cg/ShareableBitmapCG.cpp: |
| (WebKit::ShareableBitmap::createImage): |
| Replace PassRefPtr with RefPtr and use the move semantics when calling |
| BitmapImage::create(). |
| |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::createCoordinatedSurface): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: |
| (WebKit::ThreadedCoordinatedLayerTreeHost::createCoordinatedSurface): |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: |
| Replace PassRefPtr with RefPtr |
| |
| 2016-03-24 Enrica Casucci <enrica@apple.com> |
| |
| Adopt new SPI from DataDetectorsCore to decide link behavior. |
| https://bugs.webkit.org/show_bug.cgi?id=155780 |
| rdar://problem/25303631 |
| |
| Reviewed by Sam Weinig. |
| |
| Changed use of data detection functions to take |
| a reference to Element instead of a pointer. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::handleTap): |
| (WebKit::WebPage::commitPotentialTap): |
| (WebKit::WebPage::getPositionInformation): |
| |
| 2016-03-24 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Disable network cache speculative validation by default |
| https://bugs.webkit.org/show_bug.cgi?id=155857 |
| <rdar://problem/25233210> |
| |
| Reviewed by Alex Christensen. |
| |
| Disable network cache speculative validation by default. Clients such |
| as Safari now use the API added in r198544 to enable if they want. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| |
| 2016-03-24 Alex Christensen <achristensen@webkit.org> |
| |
| Fix null dereferencing in NetworkLoad::continueCanAuthenticateAgainstProtectionSpace |
| https://bugs.webkit.org/show_bug.cgi?id=155799 |
| rdar://25289012 |
| |
| Reviewed by Tim Horton. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| Null-check all the things! |
| |
| 2016-03-23 Tim Horton <timothy_horton@apple.com> |
| |
| MiniBrowser doesn't use accelerated drawing in WebKit2 windows if a WebKit1 window was opened first |
| https://bugs.webkit.org/show_bug.cgi?id=141576 |
| <rdar://problem/25304548> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences init]): |
| Make the NSUserDefaults key prefix for debug preferences (the only ones read |
| from NSUserDefaults) "WebKitDebug" instead of just "WebKit" so that they |
| don't conflict with the names that WebKit1 registers default values for. |
| |
| 2016-03-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Use Region instead of IntRect in PageClient and WebPageProxy setViewNeedsDisplay method |
| https://bugs.webkit.org/show_bug.cgi?id=155747 |
| |
| Reviewed by Darin Adler. |
| |
| This way instead of calling setViewNeedsDisplay() for every |
| rectangle in the damage area, we can build a region and call |
| setViewNeedsDisplay() once. GTK+ has API to queue a redraw for a |
| given region, so we also avoid scheduling multiple redraws in GTK+ |
| port. |
| |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::setViewNeedsDisplay): Convert the Region |
| into a cairo_region_t and use gtk_widget_queue_draw_region() |
| instyead of gtk_widget_queue_draw_area(). |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/DrawingAreaProxyImpl.cpp: |
| (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Build a Region |
| with the damage rectangles and call |
| WebPageProxy::setViewNeedsDisplay() once. |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setViewNeedsDisplay): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/efl/WebView.cpp: |
| (WebKit::WebView::setViewNeedsDisplay): |
| * UIProcess/efl/WebView.h: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::setViewNeedsDisplay): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::setViewNeedsDisplay): |
| |
| 2016-03-22 Tim Horton <timothy_horton@apple.com> |
| |
| Invoking a link preview on a complex link (e.g. an image) results in an empty TextIndicator |
| https://bugs.webkit.org/show_bug.cgi?id=155779 |
| <rdar://problem/22408793> |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::dictionaryPopupInfoForRange): |
| (WebKit::WebPage::performImmediateActionHitTestAtLocation): |
| Use the TextIndicator mode where we give up on selection-only snapshotting |
| and just paint all content on Mac, similar to what we do for 3D Touch indicators. |
| |
| 2016-03-22 Alex Christensen <achristensen@webkit.org> |
| |
| Fix HTTPS on Mac using NSURLSession after r198457 |
| https://bugs.webkit.org/show_bug.cgi?id=155774 |
| <rdar://problem/25301027> |
| |
| Reviewed by Anders Carlsson. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSession::NetworkSession): |
| r198457 was intended to fix an issue on iOS and have no change in behavior on Mac. |
| It did have a subtle change in behavior, setting the source application bundle identifier |
| on iOS and was causing problems with HTTPS connections using NSURLSession, so this patch |
| reverts that change. |
| |
| 2016-03-22 Beth Dakin <bdakin@apple.com> |
| |
| Advanced spell checking should be guarded behind |
| HAVE(ADVANCED_SPELL_CHECKING) |
| https://bugs.webkit.org/show_bug.cgi?id=155738 |
| |
| Reviewed by Geoff Garen. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded): |
| (WebKit::WebViewImpl::handleRequestedCandidates): |
| (WebKit::WebViewImpl::insertText): |
| * UIProcess/mac/TextCheckerMac.mm: |
| (WebKit::TextChecker::checkTextOfParagraph): |
| (WebKit::TextChecker::getGuessesForWord): |
| * config.h: |
| |
| 2016-03-22 Chris Dumez <cdumez@apple.com> |
| |
| Add a setting to let the client toggle support for network cache speculative validation |
| https://bugs.webkit.org/show_bug.cgi?id=155622 |
| <rdar://problem/25233209> |
| |
| Reviewed by Antti Koivisto. |
| |
| Copy new m_diskCacheSpeculativeValidationEnabled member introduced |
| in r198470 in ProcessPoolConfiguration::copy(). |
| |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::copy): |
| |
| 2016-03-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] WebInspector broken after r197620 |
| https://bugs.webkit.org/show_bug.cgi?id=155497 |
| <rdar://problem/25171910> |
| |
| Reviewed by Philippe Normand. |
| |
| Stop registering resource:// URLs as local, because they are not |
| like a local file at all. Compare also the URL protocols when |
| checking whether requested URL is main or test inspector page |
| instead of checking that the protocol is registered as local. |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::isMainOrTestInspectorPage): Compare also the URL protocols. |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): Do not |
| set setAllowFileAccessFromFileURLs setting to true. |
| * UIProcess/gtk/WebProcessPoolGtk.cpp: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): Do not |
| register resource:// URLS as local. |
| |
| 2016-03-22 Alberto Garcia <berto@igalia.com> |
| |
| Unreviewed typo fixes. |
| |
| * Shared/linux/WebMemorySamplerLinux.cpp: |
| (WebKit::WebMemorySampler::sampleWebKit): "Commited" => "Committed" |
| * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: |
| (webkit_file_chooser_request_select_files): "choosen" => "chosen" |
| * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp: |
| (webkit_user_media_permission_request_class_init): "Wether" => "Whether" |
| |
| 2016-03-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Remove unused display and scroll view methods from PageClient and WebPageProxy |
| https://bugs.webkit.org/show_bug.cgi?id=155744 |
| |
| Reviewed by Andreas Kling. |
| |
| We have displayView(), canScrollView() and scrollView() that are |
| used by DrawingAreaProxyImpl which is only used by GTK+ port that |
| doesn't implement those methods. |
| |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::displayView): Deleted. |
| (WebKit::PageClientImpl::scrollView): Deleted. |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/DrawingAreaProxyImpl.cpp: |
| (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Update the |
| whole view when scrolling, or the damage area otherwise. |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::displayView): Deleted. |
| (WebKit::WebPageProxy::canScrollView): Deleted. |
| (WebKit::WebPageProxy::scrollView): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/efl/WebView.cpp: |
| (WebKit::WebView::displayView): Deleted. |
| (WebKit::WebView::scrollView): Deleted. |
| * UIProcess/efl/WebView.h: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::displayView): Deleted. |
| (WebKit::PageClientImpl::canScrollView): Deleted. |
| (WebKit::PageClientImpl::scrollView): Deleted. |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::displayView): Deleted. |
| (WebKit::PageClientImpl::canScrollView): Deleted. |
| (WebKit::PageClientImpl::scrollView): Deleted. |
| |
| 2016-03-22 Zan Dobersek <zdobersek@igalia.com> |
| |
| [CoordinatedGraphics] Polish std::function<> usage in ThreadedCompositor, CoordinatedGraphicsScene |
| https://bugs.webkit.org/show_bug.cgi?id=155726 |
| |
| Reviewed by Darin Adler. |
| |
| Adjust the methods in ThreadedCompositor and CoordinatedGraphicsScene |
| classes to accept std::function<> arguments via rvalue references. This |
| should prevent both unnecessary copies and moves. |
| |
| Fix lambda expressions that are most commonly used to construct the |
| std::function<> objects so that they don't capture-by-value by default, |
| but instead list the captured values verbosely. This part alone exposed |
| an issue in ThreadedCompositor::didChangeVisibleRect() where we were |
| capturing the `this' value by default, instead of a protector RefPtr. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::dispatchOnMainThread): |
| (WebKit::CoordinatedGraphicsScene::dispatchOnClientRunLoop): |
| (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext): |
| (WebKit::CoordinatedGraphicsScene::onNewBufferAvailable): |
| (WebKit::CoordinatedGraphicsScene::commitSceneState): |
| (WebKit::CoordinatedGraphicsScene::purgeGLResources): |
| (WebKit::CoordinatedGraphicsScene::commitScrollOffset): |
| (WebKit::CoordinatedGraphicsScene::appendUpdate): |
| (WebKit::CoordinatedGraphicsScene::setActive): |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::CompositingRunLoop::CompositingRunLoop): |
| (WebKit::CompositingRunLoop::callOnCompositingRunLoop): |
| (WebKit::ThreadedCompositor::setNeedsDisplay): |
| (WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing): |
| (WebKit::ThreadedCompositor::setDeviceScaleFactor): |
| (WebKit::ThreadedCompositor::didChangeViewportSize): |
| (WebKit::ThreadedCompositor::didChangeViewportAttribute): |
| (WebKit::ThreadedCompositor::didChangeContentsSize): |
| (WebKit::ThreadedCompositor::scrollTo): |
| (WebKit::ThreadedCompositor::scrollBy): |
| (WebKit::ThreadedCompositor::didChangeVisibleRect): |
| (WebKit::ThreadedCompositor::callOnCompositingThread): |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: |
| |
| 2016-03-22 Zan Dobersek <zdobersek@igalia.com> |
| |
| [CoordinatedGraphics] Prefer RunLoop::main().dispatch() over callOnMainThread() |
| https://bugs.webkit.org/show_bug.cgi?id=155725 |
| |
| Reviewed by Darin Adler. |
| |
| Unify the CoordinatedGraphics code in the WebKit2 layer to use RunLoop |
| for dispatching tasks on either the main thread or the composition thread |
| in case of using the threaded compositor. The latter is already the default, |
| so this patch just replaces calls to callOnMainThread() with calls to |
| RunLoop::main().dispatch(). |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::dispatchOnMainThread): |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::didChangeVisibleRect): |
| |
| 2016-03-18 Enrica Casucci <enrica@apple.com> |
| |
| Enable preview of images as attachments. |
| https://bugs.webkit.org/show_bug.cgi?id=155674 |
| rdar://problem/25242656 |
| |
| Reviewed by Darin Adler. |
| |
| If the client cannot handle image preview, but can handle attachments, |
| let them handle images as attachments. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _dataForPreviewItemController:atPosition:type:]): |
| |
| 2016-03-20 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] Determine TARGET_MAC_OS_X_VERSION_MAJOR from MACOSX_DEPLOYMENT_TARGET rather than from MAC_OS_X_VERSION_MAJOR |
| https://bugs.webkit.org/show_bug.cgi?id=155707 |
| <rdar://problem/24980691> |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/Base.xcconfig: Set TARGET_MAC_OS_X_VERSION_MAJOR based on the last |
| component of MACOSX_DEPLOYMENT_TARGET. |
| * Configurations/DebugRelease.xcconfig: For engineering builds, preserve the behavior of |
| TARGET_MAC_OS_X_VERSION_MAJOR being the host’s OS version. |
| |
| 2016-03-20 Darin Adler <darin@apple.com> |
| |
| Disable Caches in Safari's Develop menu does not disable caches. |
| https://bugs.webkit.org/show_bug.cgi?id=64483 |
| |
| Reviewed by Antti Koivisto. |
| |
| Moved functions from WKPreferences to WKPage. |
| |
| * Shared/WebPreferencesDefinitions.h: Removed ResourceCachingDisabled. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageGetResourceCachingDisabled): Added. |
| (WKPageSetResourceCachingDisabled): Added. |
| * UIProcess/API/C/WKPagePrivate.h: Added above functions. |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetResourceCachingDisabled): Deleted. |
| (WKPreferencesGetResourceCachingDisabled): Deleted. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: Deleted above functions. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setResourceCachingDisabled): Added. |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::isResourceCachingDisabled): Added. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): Removed code to set the setting |
| for resourceCachingDisabled.. |
| (WebKit::WebPage::setResourceCachingDisabled): Added. |
| * WebProcess/WebPage/WebPage.h: Declared setResourceCachingDisabled. |
| * WebProcess/WebPage/WebPage.messages.in: Added SetResourceCachingDisabled. |
| |
| 2016-03-20 Dan Bernstein <mitz@apple.com> |
| |
| Update build settings |
| |
| Rubber-stamped by Andy Estes. |
| |
| * Configurations/DebugRelease.xcconfig: |
| * Configurations/FeatureDefines.xcconfig: |
| * Configurations/Version.xcconfig: |
| |
| 2016-03-19 Chris Dumez <cdumez@apple.com> |
| |
| Add a setting to let the client toggle support for network cache speculative validation |
| https://bugs.webkit.org/show_bug.cgi?id=155622 |
| <rdar://problem/25233209> |
| |
| Reviewed by Darin Adler. |
| |
| Add SPI to toggle support for network cache speculative validation. |
| Enable network cache speculative validation by default for now, until |
| I have a chance to update the clients to use the new SPI. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextSetDiskCacheSpeculativeValidationEnabled): |
| * UIProcess/API/C/WKContextPrivate.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration diskCacheSpeculativeValidationEnabled]): |
| (-[_WKProcessPoolConfiguration setDiskCacheSpeculativeValidationEnabled:]): |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeNetworkProcess): |
| |
| 2016-03-19 Yongjun Zhang <yongjun_zhang@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=155664 |
| Consider to cap the size of session history data. |
| |
| In iOS, if the total history entries data exceeds a threshold (2MB at the moment), don't |
| accumulate more data into the session state blob. |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/mac/LegacySessionStateCoding.cpp: |
| (WebKit::encodeSessionHistory): Stop encoding further history entries data into session state |
| if the total size exceed 2MB in iOS. |
| |
| 2016-03-18 Alex Christensen <achristensen@webkit.org> |
| |
| Give NSURLSessionConfiguration information about parent process |
| https://bugs.webkit.org/show_bug.cgi?id=155661 |
| rdar://problem/25225850 |
| |
| Reviewed by Anders Carlsson. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkSession::sessionID): |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::partitionName): |
| (WebKit::NetworkProcess::sourceApplicationAuditData): |
| (WebKit::NetworkProcess::cfURLCacheOrigins): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::globalCustomProtocolManager): |
| (WebKit::globalSourceApplicationAuditTokenData): |
| (WebKit::NetworkSession::setCustomProtocolManager): |
| (WebKit::NetworkSession::setSourceApplicationAuditTokenData): |
| (WebKit::NetworkSession::defaultSession): |
| (WebKit::NetworkSession::NetworkSession): |
| Tell the NSURLSessionConfiguration what the source application bundle identifier |
| and audit token data are so we can correctly keep track of which application is using data. |
| This also gives CFNetwork enough information to determine if the application is allowed to |
| use cell data in Settings, so it seems like we do not need to explicitly set allowsCellularAccess. |
| * NetworkProcess/mac/RemoteNetworkingContext.mm: |
| (WebKit::RemoteNetworkingContext::sourceApplicationAuditData): |
| (WebKit::RemoteNetworkingContext::sourceApplicationIdentifier): |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: |
| (WebKit::WebFrameNetworkingContext::sourceApplicationAuditData): |
| (WebKit::WebFrameNetworkingContext::sourceApplicationIdentifier): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| * WebProcess/WebProcess.h: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformTerminate): |
| (WebKit::WebProcess::sourceApplicationAuditData): |
| (WebKit::WebProcess::initializeSandbox): |
| I moved the calls to getAuditToken from RemoteNetworkingContext.mm and WebFrameNetworkingContext.mm |
| to NetworkProcessCocoa.mm and WebProcessCocoa.mm, respectively, to share with NetworkSession code, |
| which does not use NetworkingContexts. |
| |
| 2016-03-18 Simon Fraser <simon.fraser@apple.com> |
| |
| Build fix after r198455. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::layerTreeCommitComplete): |
| |
| 2016-03-18 Simon Fraser <simon.fraser@apple.com> |
| |
| Sideways-scrollable RTL document has wrong initial and reload offset in WKWebView |
| https://bugs.webkit.org/show_bug.cgi?id=155660 |
| |
| Reviewed by Tim Horton. |
| |
| There were two problems with the scroll position of RTL documents on initial and reload |
| in WKWebView. |
| |
| First, in the delegatesScrolling() code path, ScrollView::updateScrollbars() needs to |
| tell someone that the scroll origin changed, to trigger a scroll to the page origin. |
| |
| Secondly, WKWebView had scrollPosition/scrollOffset confusion in various places. In |
| the restorePageState() code path, WebCore passes an exposedRect; this patch makes |
| it explicit that it's an exposedContentRect, and passes scrollOrigin so that it can |
| be mapped into scrollOffset-relative coordinates that the UIScrollView wants. |
| |
| When reloading an RTL page, there was an additional issue; restorePageState() |
| restored the exposedRect, but then we'd see the origin change as a programmatic scroll |
| to 0,0, clobbering the exposedRect. Fix by using a "_commitDidRestoreExposedRect" flag |
| on the WKWebView that is used to ignore the programmatic scroll in that case. |
| |
| Ideally these changes would fix fast/scrolling/scroll-position-on-reload-rtl.html, but the |
| test still fails because of timing differences between OS X and iOS. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didCommitLayerTree:]): |
| (-[WKWebView _layerTreeCommitComplete]): |
| (-[WKWebView _restorePageStateToExposedRect:scrollOrigin:scale:]): |
| (-[WKWebView _scrollToContentScrollPosition:scrollOrigin:]): |
| (-[WKWebView _restorePageStateToExposedRect:scale:]): Deleted. |
| (-[WKWebView _scrollToContentOffset:scrollOrigin:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::requestScroll): |
| (WebKit::PageClientImpl::layerTreeCommitComplete): |
| (WebKit::PageClientImpl::restorePageState): |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView _layerTreeCommitComplete]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::layerTreeCommitComplete): |
| (WebKit::WebPageProxy::restorePageState): |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::restorePageState): |
| |
| 2016-03-18 Brady Eidson <beidson@apple.com> |
| |
| NSURLSession: Set download resume data when a download fails due to an error. |
| https://bugs.webkit.org/show_bug.cgi?id=155665 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]): Save the resume data from the |
| NSError userInfo if it exists. |
| |
| 2016-03-18 Chris Dumez <cdumez@apple.com> |
| |
| Speculative revalidation requests do not have their HTTP user-agent set |
| https://bugs.webkit.org/show_bug.cgi?id=155620 |
| <rdar://problem/24657567> |
| |
| Reviewed by Brady Eidson. |
| |
| Speculative revalidation requests do not have their HTTP user-agent set |
| which could lead to different content getting returned by the server. |
| |
| To address the problem, we save the original request's 'user-agent' in |
| the disk cache and re-use it later on for speculative validation |
| requests. |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::constructRevalidationRequest): |
| (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry): |
| * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp: |
| (WebKit::NetworkCache::SubresourceInfo::encode): |
| (WebKit::NetworkCache::SubresourceInfo::decode): |
| (WebKit::NetworkCache::SubresourceInfo::SubresourceInfo): |
| (WebKit::NetworkCache::SubresourceInfo::operator=): |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry): |
| (WebKit::NetworkCache::SubresourcesEntry::updateSubresourceLoads): |
| (WebKit::NetworkCache::SubresourcesEntry::decodeStorageRecord): Deleted. |
| * NetworkProcess/cache/NetworkCacheSubresourcesEntry.h: |
| (WebKit::NetworkCache::SubresourceInfo::SubresourceInfo): |
| |
| 2016-03-18 Enrica Casucci <enrica@apple.com> |
| |
| Add id attribute to _WKActivatedElementInfo. |
| https://bugs.webkit.org/show_bug.cgi?id=155666 |
| rdar://problem/25181956 |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/ios/InteractionInformationAtPosition.h: |
| * Shared/ios/InteractionInformationAtPosition.mm: |
| (WebKit::InteractionInformationAtPosition::encode): |
| (WebKit::InteractionInformationAtPosition::decode): |
| * UIProcess/API/Cocoa/_WKActivatedElementInfo.h: |
| * UIProcess/API/Cocoa/_WKActivatedElementInfo.mm: |
| (-[_WKActivatedElementInfo _initWithType:URL:location:title:ID:rect:image:]): |
| (-[_WKActivatedElementInfo ID]): |
| (-[_WKActivatedElementInfo _initWithType:URL:location:title:rect:image:]): Deleted. |
| * UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h: |
| * UIProcess/ios/WKActionSheetAssistant.mm: |
| (-[WKActionSheetAssistant showImageSheet]): |
| (-[WKActionSheetAssistant showLinkSheet]): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _showAttachmentSheet]): |
| (-[WKContentView _showLinkSheet]): |
| (-[WKContentView _dataForPreviewItemController:atPosition:type:]): |
| (-[WKContentView _presentedViewControllerForPreviewItemController:]): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::getPositionInformation): |
| |
| 2016-03-18 Antti Koivisto <antti@apple.com> |
| |
| Protect against excessive cache traversal |
| https://bugs.webkit.org/show_bug.cgi?id=155635 |
| rdar://problem/24241008 |
| |
| Reviewed by Darin Adler. |
| |
| We can't handle unlimited number of parallel cache traversal requests from the client. |
| We'll run out of dispatch queues and other system resources. CPU will spin. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::traverse): |
| |
| Add limit of maximum 3 traversals. When exceeded return nothing and log an error. |
| |
| * NetworkProcess/cache/NetworkCache.h: |
| |
| 2016-03-18 Darin Adler <darin@apple.com> |
| |
| Disable Caches in Safari's Develop menu does not disable caches. |
| https://bugs.webkit.org/show_bug.cgi?id=64483 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Shared/WebPreferencesDefinitions.h: Added ResourceCachingDisabled. |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetResourceCachingDisabled): Added. |
| (WKPreferencesGetResourceCachingDisabled): Added. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: Ditto. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): Push ResourceCachingDisabled setting |
| into WebCore. |
| |
| 2016-03-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Try to fix GTK+ debug build after r198364. |
| |
| * WebProcess/gtk/WebProcessMainGtk.cpp: Use WTF::sleep(). |
| |
| 2016-03-17 Alex Christensen <achristensen@webkit.org> |
| |
| SpeculativeLoad needs to continue NetworkLoad when it receives a redirect response |
| https://bugs.webkit.org/show_bug.cgi?id=155612 |
| |
| Reviewed by Andy Estes. |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: |
| (WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest): |
| Call continueWillSendRequest. Otherwise, we will hang a thread in the NetworkProcess |
| if we are using ResourceHandle or we will not call the willPerformHTTPRedirection |
| completion handler if we are using NetworkSession. This will cause us to stop loading |
| from the server after the maximum number of connections is reached. |
| |
| 2016-03-17 Tim Horton <timothy_horton@apple.com> |
| |
| Find-in-page indicator in Mail viewer is the wrong scale and cut off |
| https://bugs.webkit.org/show_bug.cgi?id=155605 |
| <rdar://problem/23948165> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/mac/WKTextFinderClient.mm: |
| (-[WKTextFinderClient didGetImageForMatchResult:]): |
| Initialize the NSImage with the correct size, instead of inferring the |
| size from the bitmap, so that we don't lose information about device pixel ratio. |
| |
| 2016-03-17 Anders Carlsson <andersca@apple.com> |
| |
| Remove use of dyld_register_image_state_change_handler() in PluginProcessMac.mm |
| https://bugs.webkit.org/show_bug.cgi?id=155596 |
| |
| Reviewed by Dan Bernstein. |
| |
| Use _dyld_register_func_for_add_image instead which is API. Use dladdr to find the image path given its header. |
| |
| * Platform/spi/Cocoa/DyldSPI.h: Removed. |
| * PluginProcess/mac/PluginProcessMac.mm: |
| (WebKit::PluginProcess::platformInitializeProcess): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-03-17 Chris Dumez <cdumez@apple.com> |
| |
| Set the WebContent process's main thread QoS to USER-INTERACTIVE |
| https://bugs.webkit.org/show_bug.cgi?id=155595 |
| <rdar://problem/22534965> |
| |
| Reviewed by Antti Koivisto. |
| |
| Increase the WebContent process main thread's QoS to USER-INTERACTIVE |
| instead of USER-INITIATED as it is drawing UI. However, use a relative |
| priority of -1 so that its priority is lower than the one of the |
| scrolling thread. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2016-03-17 Alex Christensen <achristensen@webkit.org> |
| |
| Support manually accepting invalid SSL certificates with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=155442 |
| <rdar://problem/24847398> |
| |
| Reviewed by Darin Adler. |
| |
| When we click continue after getting a warning about an invalid SSL certificate, we call |
| NSURLRequest setAllowsSpecificHTTPSCertificate in NetworkProcess::allowSpecificHTTPSCertificateForHost, |
| which stores information in CFNetwork about the specific invalid SSL certificate we want to accept. |
| If we see such a certificate during a server trust evaluation, we want to tell CFNetwork to accept it. |
| This fixes a loop when going to https://badssl.com, clicking on expired, and clicking continue. |
| |
| * NetworkProcess/NetworkDataTask.h: |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::didReceiveChallenge): |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::transferSandboxExtensionToDownload): |
| (WebKit::certificatesMatch): |
| (WebKit::NetworkDataTask::allowsSpecificHTTPSCertificateForHost): |
| (WebKit::NetworkDataTask::suggestedFilename): |
| |
| 2016-03-17 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [Mac][cmake] Unreviewed buildfix after r198070. Just for fun. |
| |
| * PlatformMac.cmake: |
| |
| 2016-03-17 Andy Estes <aestes@apple.com> |
| |
| [Mac] Enable Content-Disposition: attachment sandbox |
| https://bugs.webkit.org/show_bug.cgi?id=155578 |
| <rdar://problem/21886326> |
| |
| Reviewed by Dan Bernstein. |
| |
| Covered by the existing set of attachment sandbox tests, which have always been run on Mac. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| |
| 2016-03-16 Beth Dakin <bdakin@apple.com> |
| |
| Provide NSSpellChecker spellChecking methods with the current insertion point |
| https://bugs.webkit.org/show_bug.cgi?id=155532 |
| -and corresponding- |
| rdar://problem/24066952 |
| |
| Reviewed by Simon Fraser. |
| |
| Pass the insertionPoint to the UIProcess |
| * UIProcess/TextChecker.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::checkTextOfParagraph): |
| (WebKit::WebPageProxy::getGuessesForWord): |
| (WebKit::WebPageProxy::requestCheckingOfString): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/efl/TextCheckerEfl.cpp: |
| (WebKit::TextChecker::checkTextOfParagraph): |
| (WebKit::TextChecker::getGuessesForWord): |
| (WebKit::TextChecker::requestCheckingOfString): |
| * UIProcess/gtk/TextCheckerGtk.cpp: |
| (WebKit::TextChecker::getGuessesForWord): |
| (WebKit::TextChecker::requestCheckingOfString): |
| (WebKit::TextChecker::checkTextOfParagraph): |
| * UIProcess/ios/TextCheckerIOS.mm: |
| (WebKit::TextChecker::checkTextOfParagraph): |
| (WebKit::TextChecker::getGuessesForWord): |
| (WebKit::TextChecker::requestCheckingOfString): |
| * UIProcess/mac/TextCheckerMac.mm: |
| (WebKit::TextChecker::checkTextOfParagraph): |
| (WebKit::TextChecker::getGuessesForWord): |
| (WebKit::TextChecker::ignoreWord): |
| (WebKit::TextChecker::requestCheckingOfString): |
| |
| Extract the insertion point from the VisibleSelection that WebCore has |
| passed. |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::insertionPointFromCurrentSelection): |
| (WebKit::WebEditorClient::checkTextOfParagraph): |
| (WebKit::WebEditorClient::getGuessesForWord): |
| (WebKit::WebEditorClient::requestCheckingOfString): |
| * WebProcess/WebCoreSupport/WebEditorClient.h: |
| |
| 2016-03-16 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r192184): CleanMyDrive 2's tutorial window is blank |
| https://bugs.webkit.org/show_bug.cgi?id=155550 |
| <rdar://problem/24250689> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setDrawsTransparentBackground:]): |
| The app is using this SPI via key-value coding, so just keeping the implementation |
| is sufficient to make AppKit stop throwing an undefined key exception. |
| Log once that this is deprecated (... it's also SPI) and then forward to setDrawsBackground. |
| |
| 2016-03-16 Daniel Bates <dabates@apple.com> |
| |
| <video> and <audio> elements do not obey Content Security Policy on redirect |
| https://bugs.webkit.org/show_bug.cgi?id=155509 |
| <rdar://problem/10234844> |
| |
| Reviewed by Alex Christensen. |
| |
| Use 0ms as the maximum buffering time for media resource just as we do currently. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::maximumBufferingTime): |
| |
| 2016-03-16 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, rolling out r198235, r198240, r198241, and |
| r198252. |
| |
| Causing crashes on ARM |
| |
| Reverted changesets: |
| |
| "Remove compile time define for SEPARATED_HEAP" |
| https://bugs.webkit.org/show_bug.cgi?id=155508 |
| http://trac.webkit.org/changeset/198235 |
| |
| "Gardening: build fix after r198235." |
| http://trac.webkit.org/changeset/198240 |
| |
| "Build fix." |
| http://trac.webkit.org/changeset/198241 |
| |
| "Rename performJITMemcpy to something more inline with our |
| normal webkit function names" |
| https://bugs.webkit.org/show_bug.cgi?id=155525 |
| http://trac.webkit.org/changeset/198252 |
| |
| 2016-03-16 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r196803. |
| https://bugs.webkit.org/show_bug.cgi?id=155534 |
| |
| Introduced several rendering issues in popular websites |
| (Requested by KaL on #webkit). |
| |
| Reverted changeset: |
| |
| "[GTK] Limit the number of tiles according to the visible |
| area" |
| https://bugs.webkit.org/show_bug.cgi?id=126122 |
| http://trac.webkit.org/changeset/196803 |
| |
| 2016-03-15 Enrica Casucci <enrica@apple.com> |
| |
| Follow up to r195769. |
| https://bugs.webkit.org/show_bug.cgi?id=155519 |
| rdar://problem/25146483 |
| |
| Reviewed by Tim Horton. |
| |
| There are two code paths that lead to calling handleSyntheticClick() |
| where we need to check if the default action can be performed on the |
| data detector link. |
| Only one was covered in r195769 and this patch addresses the missing one. |
| I've also discovered that the point reported in DidNotHandleTapAsClick was |
| incorrectly always (0, 0) and I've fixed it. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::handleTap): |
| |
| 2016-03-15 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r198230. |
| |
| This change caused LayoutTests to fail on Mac |
| |
| Reverted changeset: |
| |
| "REGRESSION (r194660): Navigating to HTTPS sites may fail with |
| error" |
| https://bugs.webkit.org/show_bug.cgi?id=155455 |
| http://trac.webkit.org/changeset/198230 |
| |
| 2016-03-15 Oliver Hunt <oliver@apple.com> |
| |
| Remove compile time define for SEPARATED_HEAP |
| https://bugs.webkit.org/show_bug.cgi?id=155508 |
| |
| Reviewed by Mark Lam. |
| |
| Remove the feature define. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-03-15 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r194660): Navigating to HTTPS sites may fail with error |
| https://bugs.webkit.org/show_bug.cgi?id=155455 |
| <rdar://problem/24308793> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Fixes an issue where navigating to an HTTPS site may fail because the Security Framework uses |
| a cache directory that it does not have permission to use. |
| |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::codeSigningIdentifierForProcess): Queries the Security Framework for the code signed |
| bundle identifier/code signing identifier. |
| (WebKit::ChildProcess::initializeSandbox): Use the client identifier as part of the user directory |
| suffix. Verify that the client identifier matches the code signed bundled identifier/code |
| signing identifier for the code signed app/tool. Fix minor code style issue; use a C++-style cast |
| instead of a C-style cast when casting an OSStatus to a long. |
| (WebKit::findSecCodeForProcess): Deleted; incorporated logic into WebKit::codeSigningIdentifierForProcess(). |
| |
| 2016-03-15 Antti Koivisto <antti@apple.com> |
| |
| Add Antti to WebKit2 Owners file |
| https://bugs.webkit.org/show_bug.cgi?id=155504 |
| |
| Reviewed by Anders Carlsson and Sam Weinig. |
| |
| * Owners: |
| |
| 2016-03-15 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| EFL build has been broken since r198180 |
| https://bugs.webkit.org/show_bug.cgi?id=155488 |
| |
| Unreviewed build fix. |
| |
| * WebProcess/UserContent/WebUserContentController.h: Use ENABLE(USER_MESSAGE_HANDLERS) guard. |
| |
| 2016-03-15 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r197939): ASSERTION FAILED: url.containsOnlyASCII() in URL.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=155449 |
| <rdar://problem/25134826> |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Bump WK2 Network Disk Cache version after r197939 as the new cache format |
| is not compatible with the old one and leads to assertions being hit when |
| browsing in Debug builds. |
| |
| SubresourceInfo used to only contain a boolean and would therefore be |
| serialized as "0" / "1". However, after r197939, a URL field was added |
| and when trying to decode old cache entries with the new format, we |
| would try to construct a URL from the String "0" or "1". This would |
| assert because these are not valid URLs. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| 2016-03-14 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, rolling out r197981. |
| |
| Caused a massive PLT regression on Mac. |
| |
| Reverted changeset: |
| |
| "Font antialiasing (smoothing) changes when elements are |
| rendered into compositing layers" |
| https://bugs.webkit.org/show_bug.cgi?id=23364 |
| http://trac.webkit.org/changeset/197981 |
| |
| 2016-03-14 Sam Weinig <sam@webkit.org> |
| |
| Add a baseURL parameter to _WKUserStyleSheet |
| https://bugs.webkit.org/show_bug.cgi?id=155219 |
| |
| Reviewed by Tim Horton. |
| |
| - Moves to a model for user content where instead of using a WebCore::UserContentController |
| object, we implement the new WebCore::UserContentProvider interface (on the existing |
| WebUserContentController object). |
| - Uses this to maintain maps of UserStylesSheets and UserScripts along with their identifiers, |
| freeing up the URL, which had been acting as the identifier, to be used as the baseURL which |
| was what it was intended for. |
| - Adds a baseURL property to _WKUserStyleSheet. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| * Scripts/webkit/messages.py: |
| (headers_for_type): |
| Add support for sending WebUserContentControllerDataTypes. |
| |
| * Shared/WebUserContentControllerDataTypes.cpp: Added. |
| (WebKit::WebUserScriptData::encode): |
| (WebKit::WebUserScriptData::decode): |
| (WebKit::WebUserStyleSheetData::encode): |
| (WebKit::WebUserStyleSheetData::decode): |
| * Shared/WebUserContentControllerDataTypes.h: Added. |
| Add helper types for sending user content over IPC. |
| |
| * UIProcess/API/APIUserScript.cpp: |
| (API::UserScript::generateUniqueURL): |
| (API::UserScript::UserScript): |
| * UIProcess/API/APIUserScript.h: |
| * UIProcess/API/APIUserStyleSheet.cpp: |
| (API::UserStyleSheet::generateUniqueURL): |
| (API::UserStyleSheet::UserStyleSheet): |
| * UIProcess/API/APIUserStyleSheet.h: |
| Add identifiers for tracking across processes. |
| |
| * UIProcess/API/Cocoa/_WKUserStyleSheet.h: |
| * UIProcess/API/Cocoa/_WKUserStyleSheet.mm: |
| (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:baseURL:userContentWorld:]): |
| (-[_WKUserStyleSheet baseURL]): |
| Add new initializer which takes a baseURL as well as an accessor for the baseURL. |
| |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::addUserScript): |
| (WebKit::WebUserContentControllerProxy::removeUserScript): |
| (WebKit::WebUserContentControllerProxy::addUserStyleSheet): |
| (WebKit::WebUserContentControllerProxy::removeUserStyleSheet): |
| Pass identifiers as well as user content. |
| |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::addUserScript): |
| (WebKit::InjectedBundle::addUserStyleSheet): |
| Move user content in via move semantics rather than using a unique_ptr. |
| |
| (WebKit::InjectedBundle::removeUserScript): |
| (WebKit::InjectedBundle::removeUserStyleSheet): |
| (WebKit::InjectedBundle::removeUserScripts): |
| (WebKit::InjectedBundle::removeUserStyleSheets): |
| (WebKit::InjectedBundle::removeAllUserContent): |
| Update for new function signatures. |
| |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::WebUserContentController): |
| (WebKit::WebUserContentController::~WebUserContentController): |
| (WebKit::WebUserContentController::addUserContentWorlds): |
| (WebKit::WebUserContentController::removeUserContentWorlds): |
| (WebKit::WebUserContentController::addUserScripts): |
| (WebKit::WebUserContentController::removeUserScript): |
| (WebKit::WebUserContentController::removeAllUserScripts): |
| (WebKit::WebUserContentController::addUserStyleSheets): |
| (WebKit::WebUserContentController::removeUserStyleSheet): |
| (WebKit::WebUserContentController::removeAllUserStyleSheets): |
| (WebKit::WebUserContentController::addUserScriptMessageHandlers): |
| (WebKit::WebUserContentController::removeUserScriptMessageHandler): |
| (WebKit::WebUserContentController::addUserContentExtensions): |
| (WebKit::WebUserContentController::removeUserContentExtension): |
| (WebKit::WebUserContentController::removeAllUserContentExtensions): |
| (WebKit::WebUserContentController::addUserScriptInternal): |
| (WebKit::WebUserContentController::addUserScript): |
| (WebKit::WebUserContentController::removeUserScriptWithURL): |
| (WebKit::WebUserContentController::removeUserScriptInternal): |
| (WebKit::WebUserContentController::removeUserScripts): |
| (WebKit::WebUserContentController::addUserStyleSheetInternal): |
| (WebKit::WebUserContentController::addUserStyleSheet): |
| (WebKit::WebUserContentController::removeUserStyleSheetWithURL): |
| (WebKit::WebUserContentController::removeUserStyleSheetInternal): |
| (WebKit::WebUserContentController::removeUserStyleSheets): |
| (WebKit::WebUserContentController::removeAllUserContent): |
| (WebKit::WebUserContentController::forEachUserScript): |
| (WebKit::WebUserContentController::forEachUserStyleSheet): |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/UserContent/WebUserContentController.messages.in: |
| Convert to inheriting from UserContentProvider, rather than containing a UserContentController. |
| This means adding the storage for the user content, which has been simplified to avoid using |
| unique_ptrs. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::addUserScript): |
| (WebKit::WebPage::addUserStyleSheet): |
| (WebKit::WebPage::removeAllUserContent): |
| Update to call the WebUserContentController, rather than going to the UserContentController, which |
| no longer exists. |
| |
| * WebProcess/WebPage/WebPageGroupProxy.cpp: |
| (WebKit::WebPageGroupProxy::userContentController): |
| * WebProcess/WebPage/WebPageGroupProxy.h: |
| Return the WebUserContentController rather than old UserContentController. |
| |
| 2016-03-14 Joonghun Park <jh718.park@samsung.com> |
| |
| Purge PassRefPtr from ArrayBuffer, ArchiveResource, Pasteboard, LegacyWebArchive and DataObjectGtk |
| https://bugs.webkit.org/show_bug.cgi?id=150497 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/APIWebArchive.mm: |
| (API::WebArchive::WebArchive): |
| * Shared/APIWebArchiveResource.mm: |
| (API::WebArchiveResource::data): |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::PDFPlugin::addArchiveResource): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::bufferForType): |
| (WebKit::WebPlatformStrategies::readBufferFromPasteboard): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm: |
| (WebKit::WebEditorClient::documentFragmentFromAttributedString): |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| (WebKit::WebDragClient::declareAndWriteDragImage): |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::webArchiveData): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::resourceDataForFrame): |
| |
| 2016-03-14 Oliver Hunt <oliver@apple.com> |
| |
| Temporarily disable the separated heap. |
| https://bugs.webkit.org/show_bug.cgi?id=155472 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Temporarily disable this. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-03-14 Beth Dakin <bdakin@apple.com> |
| |
| [iOS] WKPreviewAction conforms to NSCopying but doesn’t override - |
| copyWithZone: |
| https://bugs.webkit.org/show_bug.cgi?id=155395 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/Cocoa/WKPreviewActionItem.mm: |
| (-[WKPreviewAction copyWithZone:]): |
| |
| 2016-03-14 Anders Carlsson <andersca@apple.com> |
| |
| Remove usage of -[UIGestureRecognizer requireOtherGestureToFail:] |
| https://bugs.webkit.org/show_bug.cgi?id=155461 |
| rdar://problem/25143282 |
| |
| Reviewed by Beth Dakin. |
| |
| Use -[UIGestureRecognizer requireGestureRecognizerToFail:] instead, which has been API ever since UIGestureRecognizer was added. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]): |
| |
| 2016-03-14 Anders Carlsson <andersca@apple.com> |
| |
| REGRESSION (r191691): Can't Share Selected Text |
| https://bugs.webkit.org/show_bug.cgi?id=155459 |
| rdar://problem/24893625 |
| |
| Reviewed by Tim Horton. |
| |
| Add the selected text as well. Somehow this got lost in the refactoring. |
| |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::createShareMenuItem): |
| |
| 2016-03-14 Tim Horton <timothy_horton@apple.com> |
| |
| Revert r194125 and r194186: We're going to fix this a different way. |
| |
| * Shared/NativeWebGestureEvent.h: |
| * Shared/mac/NativeWebGestureEventMac.mm: |
| (WebKit::pointForEvent): |
| (WebKit::NativeWebGestureEvent::NativeWebGestureEvent): |
| (WebKit::distanceForTouches): Deleted. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView selectFindMatch:completionHandler:]): |
| (-[WKWebView _web_superInputContext]): |
| (-[WKWebView touchesBeganWithEvent:]): Deleted. |
| (-[WKWebView touchesMovedWithEvent:]): Deleted. |
| (-[WKWebView touchesEndedWithEvent:]): Deleted. |
| (-[WKWebView touchesCancelledWithEvent:]): Deleted. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView namesOfPromisedFilesDroppedAtDestination:]): |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| (-[WKView touchesBeganWithEvent:]): Deleted. |
| (-[WKView touchesMovedWithEvent:]): Deleted. |
| (-[WKView touchesEndedWithEvent:]): Deleted. |
| (-[WKView touchesCancelledWithEvent:]): Deleted. |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::WebViewImpl): |
| (WebKit::WebViewImpl::magnifyWithEvent): |
| (WebKit::WebViewImpl::smartMagnifyWithEvent): |
| (WebKit::WebViewImpl::rotateWithEvent): |
| (WebKit::WebViewImpl::touchesOrderedByAge): Deleted. |
| (WebKit::WebViewImpl::touchesBeganWithEvent): Deleted. |
| (WebKit::WebViewImpl::touchesMovedWithEvent): Deleted. |
| (WebKit::WebViewImpl::touchesEndedWithEvent): Deleted. |
| (WebKit::WebViewImpl::touchesCancelledWithEvent): Deleted. |
| |
| 2016-03-14 Anders Carlsson <andersca@apple.com> |
| |
| Fix build. |
| |
| Create an empty PDF selection. |
| |
| * Shared/mac/PDFKitImports.h: |
| * Shared/mac/PDFKitImports.mm: |
| (WebKit::pdfSelectionClass): |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::PDFPlugin::nextMatchForString): |
| |
| 2016-03-14 Beth Dakin <bdakin@apple.com> |
| |
| Unable to commit previews in Mobile Safari |
| https://bugs.webkit.org/show_bug.cgi?id=155450 |
| -and corresponding- |
| rdar://problem/25135529 |
| |
| Reviewed by Tim Horton. |
| |
| _uiDelegateProvidedPreviewingViewController was being consulted before |
| invoking the old SPI, which was always wrong. It should have been consulted |
| before calling the new API! But also, it doesn’t seem to be necessary at all |
| since [WKContentView _previewItemController:commitPreview:] is only invoked |
| when a custom view controller has been provided. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _registerPreview]): |
| (-[WKContentView _unregisterPreview]): |
| (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]): |
| (-[WKContentView _presentedViewControllerForPreviewItemController:]): |
| (-[WKContentView _previewItemController:commitPreview:]): |
| |
| 2016-03-14 Brent Fulgham <bfulgham@apple.com> |
| |
| PingHandle delete's itself but pointer is still used by handleDataURL |
| https://bugs.webkit.org/show_bug.cgi?id=154752 |
| <rdar://problem/24872347> |
| |
| Reviewed by Alex Christensen. |
| |
| When a PingLoad is destroyed, we should tell its client so that the client can clear the pointer it |
| holds to the element to avoid accidentally attempting to use deallocated memory. |
| |
| * NetworkProcess/PingLoad.h: |
| (WebKit::PingLoad::~PingLoad): Notify the client we are being destroyed. |
| |
| 2016-03-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix the GTK+ build after r198124. |
| |
| WebsiteDataTypes is now an OptionSet. |
| |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkit_web_context_clear_cache): |
| |
| 2016-03-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Reimplement webkit_web_context_clear_cache functionality. |
| https://bugs.webkit.org/show_bug.cgi?id=146041 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkit_web_context_clear_cache): |
| |
| 2016-03-14 Jeremy Huddleston Sequoia <jeremyhu@apple.com> |
| |
| Install WebKit2 WebProcess NetworkProcess on OSX when not building the Mac PORT |
| https://bugs.webkit.org/show_bug.cgi?id=152651 |
| |
| Reviewed by Philippe Normand. |
| |
| * CMakeLists.txt: |
| |
| 2016-03-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove ENABLE(ES6_TEMPLATE_LITERAL_SYNTAX) guards |
| https://bugs.webkit.org/show_bug.cgi?id=155417 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-03-13 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] Injected bundle in relocatable WebContent service can’t use XPC services from other relocatable frameworks |
| https://bugs.webkit.org/show_bug.cgi?id=155414 |
| <rdar://problem/24428418> |
| |
| Reviewed by Sam Weinig. |
| |
| * Configurations/DebugRelease.xcconfig: |
| Set WK_WEBCONTENT_SERVICE_NEEDS_XPC_DOMAIN_EXTENSION_ENTITLEMENT to NO, because |
| engineering builds are ad-hoc signed and therefore can’t have a private entitlement. |
| |
| * Configurations/WebContent-OSX.entitlements: Added. Includes the XPC domain extension |
| entitlement. |
| |
| * Configurations/WebContentService.xcconfig: |
| Set WK_WEBCONTENT_SERVICE_NEEDS_XPC_DOMAIN_EXTENSION_ENTITLEMENT to YES if not already set |
| and the framework is relocatable. Set CODE_SIGN_ENTITLEMENTS to the new entitlements file |
| if the domain extension entitlement is needed. |
| |
| * WebKit2.xcodeproj/project.pbxproj: Added reference to new file. |
| |
| 2016-03-13 Dean Jackson <dino@apple.com> |
| |
| <attachment> should be a runtime-enabled feature |
| https://bugs.webkit.org/show_bug.cgi?id=155413 |
| <rdar://problem/25120753> |
| |
| Reviewed by Sam Weinig and Anders Carlsson. |
| |
| Add an internal setting on WKWebViewConfiguration |
| to enable the <attachment> element support. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _attachmentElementEnabled]): |
| (-[WKWebViewConfiguration _setAttachmentElementEnabled:]): |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-03-12 Sam Weinig <sam@webkit.org> |
| |
| WebKit can easily crash below NetworkSession::dataTaskForIdentifier() with NSURLSession enabled |
| <rdar://problem/25129946> |
| https://bugs.webkit.org/show_bug.cgi?id=155401 |
| |
| Reviewed by Alex Christensen. |
| |
| The issue was that NSURLSessionDataTasks can continue to invoke their NSURLSession's delegate methods |
| after -[NSURLSession invalidateAndCancel] is called. So, when the NetworkSession was destroyed, and |
| still had outstanding data tasks, the session delegate would get called, try to use the session, and |
| crash. To fix this I: |
| |
| - Made NetworkSession RefCounted. |
| - Gave NetworkSession two delegates, one for each NSURLSession. |
| - Made each delegate have a strong reference to the NetworkSession that gets cleared out in the |
| newly implemented URLSession:didBecomeInvalidWithError: method. |
| - Changed from simply destroying the NetworkSession in SessionTracker::destroySession(), to derefing |
| it and explicitly calling invalidateAndCancel on the two associated NSURLSessions (which in turn |
| eventually cause the URLSession:didBecomeInvalidWithError: to fire). |
| - To ensure the correct lifetime of the WebCore::NetworkStorageSession, I made it a member of the |
| NetworkSession. This also allowed some simplification inside SessionTracker. |
| |
| * NetworkProcess/NetworkDataTask.h: |
| (WebKit::NetworkDataTask::setPendingDownload): |
| (WebKit::NetworkDataTask::pendingDownloadLocation): |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkSession::sessionID): |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| (WebKit::NetworkDataTask::~NetworkDataTask): |
| (WebKit::NetworkDataTask::willPerformHTTPRedirection): |
| (WebKit::NetworkDataTask::tryPasswordBasedAuthentication): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate initWithNetworkSession:]): |
| (-[WKNetworkSessionDelegate URLSession:didBecomeInvalidWithError:]): |
| (WebKit::NetworkSession::setCustomProtocolManager): |
| (WebKit::NetworkSession::create): |
| (WebKit::NetworkSession::defaultSession): |
| (WebKit::NetworkSession::NetworkSession): |
| (WebKit::NetworkSession::~NetworkSession): |
| (WebKit::NetworkSession::invalidateAndCancel): |
| (WebKit::NetworkSession::networkStorageSession): |
| (WebKit::NetworkSession::clearCredentials): |
| * NetworkProcess/mac/RemoteNetworkingContext.mm: |
| (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): |
| * Shared/SessionTracker.cpp: |
| (WebKit::identifierBase): |
| (WebKit::SessionTracker::getIdentifierBase): |
| (WebKit::SessionTracker::setIdentifierBase): |
| (WebKit::staticSessionMap): |
| (WebKit::SessionTracker::networkSession): |
| (WebKit::SessionTracker::storageSession): |
| (WebKit::staticStorageSessionMap): |
| (WebKit::SessionTracker::sessionID): |
| (WebKit::SessionTracker::setSession): |
| (WebKit::SessionTracker::destroySession): |
| (WebKit::SessionTracker::forEachNetworkStorageSession): |
| (WebKit::storageSessionToID): Deleted. |
| (WebKit::SessionTracker::storageSessionMap): Deleted. |
| * Shared/SessionTracker.h: |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: |
| (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): |
| (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): |
| (WebKit::WebFrameNetworkingContext::localFileContentSniffingEnabled): |
| (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs): |
| * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: |
| (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): |
| (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): |
| (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext): |
| |
| 2016-03-12 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Delete dead SVG Font code |
| https://bugs.webkit.org/show_bug.cgi?id=154718 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-03-12 Beth Dakin <bdakin@apple.com> |
| |
| Make preview inline navigation work API |
| https://bugs.webkit.org/show_bug.cgi?id=155383 |
| -and corresponding- |
| rdar://problem/25117985 |
| |
| Reviewed by Dan Bernstein. |
| |
| With this patch: |
| _WKElementInfo is now WKElementInfo in file and class names. Header is now |
| public. |
| |
| _WKPreviewElementInfo is now WKPreviewElementInfo in file and class names. |
| Header is now public. |
| |
| _WKPreviewAction is now WKPreviewActionItem in filenames (header is now |
| public), the protocol _WKPreviewActionItem is now WKPreviewActionItem, and |
| the _WKPreviewAction class is now WKPreviewAction. (The internal header is |
| still project, of course.) |
| and |
| WKPreviewActionIdentifiersPrivate.h/mm is now |
| WKPreviewActionItemIdentifiers.h/mm and all the the identifiers have been |
| updated. Header is now public. |
| |
| * Shared/API/Cocoa/WebKit.h: |
| * UIProcess/API/Cocoa/WKElementInfo.h: Copied from UIProcess/API/Cocoa/_WKElementInfo.h. |
| * UIProcess/API/Cocoa/WKElementInfo.mm: Copied from UIProcess/API/Cocoa/_WKElementInfo.mm. |
| (-[WKElementInfo copyWithZone:]): |
| (-[_WKElementInfo copyWithZone:]): Deleted. |
| * UIProcess/API/Cocoa/WKElementInfoInternal.h: Copied from UIProcess/API/Cocoa/_WKElementInfoInternal.h. |
| * UIProcess/API/Cocoa/WKPreviewActionIdentifiersPrivate.h: Removed. |
| * UIProcess/API/Cocoa/WKPreviewActionIdentifiersPrivate.mm: Removed. |
| * UIProcess/API/Cocoa/WKPreviewActionItem.h: Copied from UIProcess/API/Cocoa/_WKPreviewAction.h. |
| * UIProcess/API/Cocoa/WKPreviewActionItem.mm: Copied from UIProcess/API/Cocoa/_WKPreviewAction.mm. |
| * UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.h: Copied from UIProcess/API/Cocoa/WKPreviewActionIdentifiersPrivate.h. |
| * UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.mm: Copied from UIProcess/API/Cocoa/WKPreviewActionIdentifiersPrivate.mm. |
| * UIProcess/API/Cocoa/WKPreviewActionItemInternal.h: Copied from UIProcess/API/Cocoa/_WKPreviewActionInternal.h. |
| * UIProcess/API/Cocoa/WKPreviewElementInfo.h: Copied from UIProcess/API/Cocoa/_WKPreviewElementInfo.h. |
| * UIProcess/API/Cocoa/WKPreviewElementInfo.mm: Copied from UIProcess/API/Cocoa/_WKPreviewElementInfo.mm. |
| (-[WKPreviewElementInfo _initWithLinkURL:]): |
| (-[_WKPreviewElementInfo _initWithLinkURL:]): Deleted. |
| * UIProcess/API/Cocoa/WKPreviewElementInfoInternal.h: Copied from UIProcess/API/Cocoa/_WKPreviewElementInfoInternal.h. |
| * UIProcess/API/Cocoa/WKUIDelegate.h: |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: |
| * UIProcess/API/Cocoa/_WKElementInfo.h: Removed. |
| * UIProcess/API/Cocoa/_WKElementInfo.mm: Removed. |
| * UIProcess/API/Cocoa/_WKElementInfoInternal.h: Removed. |
| * UIProcess/API/Cocoa/_WKPreviewAction.h: Removed. |
| * UIProcess/API/Cocoa/_WKPreviewAction.mm: Removed. |
| * UIProcess/API/Cocoa/_WKPreviewActionInternal.h: Removed. |
| * UIProcess/API/Cocoa/_WKPreviewElementInfo.h: Removed. |
| * UIProcess/API/Cocoa/_WKPreviewElementInfo.mm: Removed. |
| * UIProcess/API/Cocoa/_WKPreviewElementInfoInternal.h: Removed. |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]): |
| (previewIdentifierForElementAction): |
| (-[WKContentView _presentedViewControllerForPreviewItemController:]): |
| (-[WKContentView _previewItemController:commitPreview:]): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-03-12 Jeremy Huddleston Sequoia <jeremyhu@apple.com> |
| |
| [GTK][Mac] Use DYLD_LIBRARY_PATH on OSX rather then LD_LIBRARY_PATH |
| https://bugs.webkit.org/show_bug.cgi?id=152650 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * PlatformGTK.cmake: |
| |
| 2016-03-11 John Wilander <wilander@apple.com> |
| |
| Move prevalent resource classifier from WebCore to WebKit. |
| https://bugs.webkit.org/show_bug.cgi?id=155242 |
| <rdar://problem/24913272> |
| |
| Reviewed by Andy Estes. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::create): |
| (WebKit::WebResourceLoadStatisticsStore::~WebResourceLoadStatisticsStore): |
| (WebKit::hasPrevalentResourceCharacteristics): |
| (WebKit::classifyPrevalentResources): |
| - Moved these two functions from WebCore. |
| (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated): |
| - Calls processStatistics with a lamda function to classify prevalent resources. |
| * WebKit2.xcodeproj/project.pbxproj: |
| - Fixed the ordering of source files. |
| |
| 2016-03-11 Sam Weinig <sam@webkit.org> |
| |
| WebKit needs a new sandbox profile addition for DataDetectors |
| <rdar://problem/25091102> |
| |
| Reviewed by Brent Fulgham. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2016-03-11 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r198040): WebKit2.DocumentStartUserScriptAlertCrashTest API test is crashing in debug |
| https://bugs.webkit.org/show_bug.cgi?id=155382 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| r198040 introduced an assertion to make sure we never call |
| applicationBundleIsEqualTo() before setApplicationBundleIdentifier() |
| is called. This new assertion found a bug as it turns out we were |
| calling setApplicationBundleIdentifier() too late during the |
| WebProcess initialization and some runtime applications checks were |
| already done by then. |
| |
| To address the problem, this patch moves the |
| setApplicationBundleIdentifier() call as early as possible during |
| the WebProcess and the NetworkProcess initialization. It also moves |
| it to the Cocoa specific files for clarity. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2016-03-11 Enrica Casucci <enrica@apple.com> |
| |
| Use only selected text for Look up. |
| https://bugs.webkit.org/show_bug.cgi?id=155380 |
| |
| Reviewed by Tim Horton. |
| |
| The corresponding piece that uses the extended context for Look up |
| is not ready yet. For the moment default to retrieving the selected text. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _lookup:]): |
| |
| 2016-03-11 Chelsea Pugh <cpugh@apple.com> |
| |
| [iOS] Allow clients to specify text suggestions to be used for a form input session |
| https://bugs.webkit.org/show_bug.cgi?id=155343 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/_WKFormInputSession.h: |
| * UIProcess/API/Cocoa/_WKInputDelegate.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKFormInputSession suggestions]): Add a getter for suggestions. |
| (-[WKFormInputSession setSuggestions:]): Add a setter, which calls setSuggestions with our suggestions on the input delegate. |
| (-[WKContentView insertTextSuggestion:]): Call _webView:insertTextSuggestion:inInputSession: on our input delegate so clients know |
| a text suggestion was tapped. |
| |
| 2016-03-11 Anders Carlsson <andersca@apple.com> |
| |
| Creating and releasing a WKBackForwardListItem crashes |
| https://bugs.webkit.org/show_bug.cgi?id=155376 |
| rdar://problem/17377712 |
| |
| Reviewed by Dan Bernstein. |
| |
| Make init unavailable. |
| |
| * UIProcess/API/Cocoa/WKBackForwardListItem.h: |
| |
| 2016-03-11 Beth Dakin <bdakin@apple.com> |
| |
| Follow-up to: |
| |
| _WKPreviewAction should be in an internal header |
| https://bugs.webkit.org/show_bug.cgi?id=155370 |
| |
| Rubber-stamped by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/_WKPreviewActionInternal.h: |
| |
| 2016-03-11 Beth Dakin <bdakin@apple.com> |
| |
| _WKPreviewAction should be in an internal header |
| https://bugs.webkit.org/show_bug.cgi?id=155370 |
| |
| Reviewed by Tim Horton. |
| |
| Move _WKPreviewAction to an Internal header since only the protocol needs to |
| be SPI. |
| * UIProcess/API/Cocoa/_WKPreviewAction.h: |
| * UIProcess/API/Cocoa/_WKPreviewAction.mm: |
| * UIProcess/API/Cocoa/_WKPreviewActionInternal.h: Added. |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-03-11 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Implement Reflect.set without receiver support |
| https://bugs.webkit.org/show_bug.cgi?id=155024 |
| |
| Reviewed by Geoffrey Garen. |
| |
| NPJSObject::setProperty may call `methodTable()->put` operation, but we intentionally do not propagate it to the caller's ::put. |
| In the current implementation, we just use the result of ::setProperty call. |
| This is `true` when ::setProperty attempts to call `methodTable()->put`. |
| In ::setProperty, after calling `methodTable()->put`, ::setProperty function clears the exception state. |
| So this is not the same semantics to the simple data property store. Rather, this is like the accessor. |
| In ECMA262 [[Set]], it returns true if there is a setter. So we just use the returned value of ::setProperty. |
| This indicates that there is a setter for the given [[Set]] operation. |
| |
| * WebProcess/Plugins/Netscape/JSNPObject.cpp: |
| (WebKit::JSNPObject::put): |
| * WebProcess/Plugins/Netscape/JSNPObject.h: |
| |
| 2016-03-10 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION (r197986): Don't try to link to undefined $(WEBKIT_SYSTEM_INTERFACE_LIBRARY) |
| |
| Follow-up build fix for: |
| AX: Force allow user zoom |
| <https://bugs.webkit.org/show_bug.cgi?id=155056> |
| |
| Fixes the following build failure: |
| ld: library not found for -l-lAccessibility |
| clang: error: linker command failed with exit code 1 (use -v to see invocation) |
| |
| * Configurations/WebKit.xcconfig: Remove |
| "-l$(WEBKIT_SYSTEM_INTERFACE_LIBRARY)" from OTHER_LDFLAGS since |
| that macro is not defined, and there is no need to link to |
| libWebKitSystemInterface.a. |
| |
| 2016-03-10 Jeremy Jones <jeremyj@apple.com> |
| |
| Set AVURLAssetUsesNoPersistentCacheKey on AVAsset to match caching policy. |
| https://bugs.webkit.org/show_bug.cgi?id=155117 |
| rdar://problem/6802240 |
| |
| Reviewed by Simon Fraser. |
| |
| Make AVAsset AVURLAssetUsesNoPersistentCacheKey match !m_websiteDataStore->isPersistent() |
| This will prevent persistent media caches when webkit is using in-memory caching. |
| |
| * Shared/WebPageCreationParameters.cpp: Add mediaShouldUsePersistentCache. |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): Add mediaShouldUsePersistentCache. |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::mediaShouldUsePersistentCache): Added. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_mediaUsesPersistentCache): Added. |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::mediaShouldUsePersistentCache): Added. |
| |
| 2016-03-10 Nan Wang <n_wang@apple.com> |
| |
| AX: Force allow user zoom |
| https://bugs.webkit.org/show_bug.cgi?id=155056 |
| |
| Reviewed by Simon Fraser. |
| |
| Linked libAccessibility library so that we can observe the accessibility |
| setting change for the force always user scalable feature. |
| |
| * Configurations/WebKit.xcconfig: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (shouldAllowPictureInPictureMediaPlayback): |
| (forceAlwaysUserScalableChangedCallback): |
| (-[WKWebView _initializeWithConfiguration:]): |
| (-[WKWebView dealloc]): |
| (-[WKWebView _navigationGestureDidEnd]): |
| (-[WKWebView _updateForceAlwaysUserScalable]): |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize): |
| (WebKit::WebPageProxy::updateForceAlwaysUserScalable): |
| (WebKit::WebPageProxy::setMaximumUnobscuredSize): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::disableInspectorNodeSearch): |
| (WebKit::WebPage::updateForceAlwaysUserScalable): |
| (WebKit::innerFrameQuad): |
| |
| 2016-03-10 Simon Fraser <simon.fraser@apple.com> |
| |
| Font antialiasing (smoothing) changes when elements are rendered into compositing layers |
| https://bugs.webkit.org/show_bug.cgi?id=23364 |
| |
| Reviewed by Tim Horton. |
| |
| Send the ContentsFormat to the UI process (but nothing happens to it there yet). |
| |
| Allow internal clients to turn off smoothed layer text, so that WebKitTestRunner |
| can disable it. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * Shared/mac/RemoteLayerTreeTransaction.h: |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextEnableSmoothedLayerText): |
| * UIProcess/API/C/WKContextPrivate.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| (WebKit::WebProcessPool::enableSmoothedLayerText): |
| (WebKit::WebProcessPool::WebProcessPool): Deleted. |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::setContentsFormat): |
| (WebKit::PlatformCALayerRemote::contentsFormat): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| (WebKit::WebProcess::enableSmoothedLayerText): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2016-03-10 Enrica Casucci <enrica@apple.com> |
| |
| Expose additional WKDataDetectorTypes. |
| https://bugs.webkit.org/show_bug.cgi?id=155331 |
| rdar://problem/24175813 |
| |
| Reviewed by Tim Horton. |
| |
| Adding API to enable data detection of tracking numbers, |
| flight number and spotlight suggestions. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (fromWKDataDetectorTypes): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| |
| 2016-03-10 Beth Dakin <bdakin@apple.com> |
| |
| defaultActions in UIDelegate method |
| _webView:previewingViewControllerForElement:defaultActions: need to be |
| use-able by a client |
| https://bugs.webkit.org/show_bug.cgi?id=155304 |
| -and corresponding- |
| rdar://problem/24269296 |
| |
| Reviewed by Anders Carlsson. |
| |
| This patch adds a new protocol, WKPreviewActionItem, which is a sub-protocol |
| of UIPreviewActionItem. The new protocol adds an identifier so that clients |
| can identify which of our default actions they want to use. In order for a |
| client to use our default action items, they need to return those actions in |
| their UIViewController's implementation of previewActionItems. |
| |
| Change the defaultActions to NSArray <id <WKPreviewActionItem>> * |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| |
| This new file defines our sub-protocol and sub-class for WKPreviewActions. |
| * UIProcess/API/Cocoa/_WKPreviewAction.h: Added. |
| * UIProcess/API/Cocoa/_WKPreviewAction.mm: Added. |
| (+[_WKPreviewAction actionWithIdentifier:title:style:handler:]): |
| |
| New BOOL _uiDelegateProvidedPreviewingViewController keeps track of whether |
| the client returned a view controller from |
| _webView:previewingViewControllerForElement:defaultActions:. If they did |
| return a view controller, then we should invoke |
| _webView:commitPreviewingViewController: at commit time. If they returned |
| nil, then they indicated that WebKit should continue with default previewing |
| behavior, so we will not invoke the UIDelegate’s commit method. |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _registerPreview]): |
| (-[WKContentView _unregisterPreview]): |
| (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]): |
| |
| In order for our default actions to be useful, we have to create |
| _WKPreviewActions. |
| (-[WKContentView _presentedViewControllerForPreviewItemController:]): |
| |
| Only invoke _webView:commitPreviewedViewController: if |
| _uiDelegateProvidedPreviewingViewController is YES. |
| (-[WKContentView _previewItemController:commitPreview:]): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-03-10 Jer Noble <jer.noble@apple.com> |
| |
| Add WebCore, WebKit, & WebKit2 preference/setting to enable Main Content heuristic. |
| https://bugs.webkit.org/show_bug.cgi?id=155326 |
| <rdar://problem/25095408> |
| |
| Reviewed by Beth Dakin. |
| |
| Add SPI to get and set the new preference. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetMainContentUserGestureOverrideEnabled): |
| (WKPreferencesGetMainContentUserGestureOverrideEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _mainContentUserGestureOverrideEnabled]): |
| (-[WKWebViewConfiguration _setMainContentUserGestureOverrideEnabled:]): |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-03-10 Alex Christensen <achristensen@webkit.org> |
| |
| Remove firing assertion after r197865. |
| https://bugs.webkit.org/show_bug.cgi?id=155137 |
| rdar://problem/25096835 |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]): |
| This assertion was firing. I'm looking into why. |
| |
| 2016-03-07 Jer Noble <jer.noble@apple.com> |
| |
| Add separate WK and WK2 preferences for requiring user gestures for video media, distinct from user gestures for media generally |
| https://bugs.webkit.org/show_bug.cgi?id=155141 |
| |
| Reviewed by Beth Dakin. |
| |
| Add a new preference, videoPlaybackRequiresUserGesture, distinct from mediaPlaybackRequiresUserGesture. Legacy clients of |
| mediaPlaybackRequiresUserGesture will still be able to use it normally, as setting that preference to true will effectively |
| set both audioPlaybackRequiresUserGesture and videoPlaybackRequiresUserGesture to true. Make these preferences all available |
| universally, rather than just on PLATFORM(IOS). This requires adding a definition for -setRequiresUserActionForMediaPlayback: |
| and -requiresUserActionForMediaPlayback on !PLATFORM(IOS). |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetVideoPlaybackRequiresUserGesture): |
| (WKPreferencesGetVideoPlaybackRequiresUserGesture): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| (-[WKWebView _setObscuredInsets:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| (-[WKWebViewConfiguration encodeWithCoder:]): |
| (-[WKWebViewConfiguration initWithCoder:]): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration requiresUserActionForMediaPlayback]): |
| (-[WKWebViewConfiguration setRequiresUserActionForMediaPlayback:]): |
| (-[WKWebViewConfiguration allowsInlineMediaPlayback]): |
| (-[WKWebViewConfiguration setAllowsInlineMediaPlayback:]): |
| (-[WKWebViewConfiguration _requiresUserActionForVideoPlayback]): |
| (-[WKWebViewConfiguration _setRequiresUserActionForVideoPlayback:]): |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-03-10 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r197943. |
| https://bugs.webkit.org/show_bug.cgi?id=155317 |
| |
| This change broke Windows, WinCairo, GTK and EFL builds |
| (Requested by ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "Add a baseURL parameter to _WKUserStyleSheet" |
| https://bugs.webkit.org/show_bug.cgi?id=155219 |
| http://trac.webkit.org/changeset/197943 |
| |
| 2016-03-10 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] push media stream state to the UI process |
| https://bugs.webkit.org/show_bug.cgi?id=155281 |
| |
| Reviewed by Dean Jackson. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didCommitLoadForFrame): Don't clear m_mediaState, it is done in |
| WebPageProxy::resetState. This reverts a change added in r197929. |
| |
| |
| 2016-03-08 Sam Weinig <sam@webkit.org> |
| |
| Add a baseURL parameter to _WKUserStyleSheet |
| https://bugs.webkit.org/show_bug.cgi?id=155219 |
| |
| Reviewed by Tim Horton. |
| |
| - Moves to a model for user content where instead of using a WebCore::UserContentController |
| object, we implement the new WebCore::UserContentProvider interface (on the existing |
| WebUserContentController object). |
| - Uses this to maintain maps of UserStylesSheets and UserScripts along with their identifiers, |
| freeing up the URL, which had been acting as the identifier, to be used as the baseURL which |
| was what it was intended for. |
| - Adds a baseURL property to _WKUserStyleSheet. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| * Scripts/webkit/messages.py: |
| (headers_for_type): |
| Add support for sending WebUserContentControllerDataTypes. |
| |
| * Shared/WebUserContentControllerDataTypes.cpp: Added. |
| (WebKit::WebUserScriptData::encode): |
| (WebKit::WebUserScriptData::decode): |
| (WebKit::WebUserStyleSheetData::encode): |
| (WebKit::WebUserStyleSheetData::decode): |
| * Shared/WebUserContentControllerDataTypes.h: Added. |
| Add helper types for sending user content over IPC. |
| |
| * UIProcess/API/APIUserScript.cpp: |
| (API::UserScript::generateUniqueURL): |
| (API::UserScript::UserScript): |
| * UIProcess/API/APIUserScript.h: |
| * UIProcess/API/APIUserStyleSheet.cpp: |
| (API::UserStyleSheet::generateUniqueURL): |
| (API::UserStyleSheet::UserStyleSheet): |
| * UIProcess/API/APIUserStyleSheet.h: |
| Add identifiers for tracking across processes. |
| |
| * UIProcess/API/Cocoa/_WKUserStyleSheet.h: |
| * UIProcess/API/Cocoa/_WKUserStyleSheet.mm: |
| (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:baseURL:userContentWorld:]): |
| (-[_WKUserStyleSheet baseURL]): |
| Add new initializer which takes a baseURL as well as an accessor for the baseURL. |
| |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::addUserScript): |
| (WebKit::WebUserContentControllerProxy::removeUserScript): |
| (WebKit::WebUserContentControllerProxy::addUserStyleSheet): |
| (WebKit::WebUserContentControllerProxy::removeUserStyleSheet): |
| Pass identifiers as well as user content. |
| |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::addUserScript): |
| (WebKit::InjectedBundle::addUserStyleSheet): |
| Move user content in via move semantics rather than using a unique_ptr. |
| |
| (WebKit::InjectedBundle::removeUserScript): |
| (WebKit::InjectedBundle::removeUserStyleSheet): |
| (WebKit::InjectedBundle::removeUserScripts): |
| (WebKit::InjectedBundle::removeUserStyleSheets): |
| (WebKit::InjectedBundle::removeAllUserContent): |
| Update for new function signatures. |
| |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::WebUserContentController): |
| (WebKit::WebUserContentController::~WebUserContentController): |
| (WebKit::WebUserContentController::addUserContentWorlds): |
| (WebKit::WebUserContentController::removeUserContentWorlds): |
| (WebKit::WebUserContentController::addUserScripts): |
| (WebKit::WebUserContentController::removeUserScript): |
| (WebKit::WebUserContentController::removeAllUserScripts): |
| (WebKit::WebUserContentController::addUserStyleSheets): |
| (WebKit::WebUserContentController::removeUserStyleSheet): |
| (WebKit::WebUserContentController::removeAllUserStyleSheets): |
| (WebKit::WebUserContentController::addUserScriptMessageHandlers): |
| (WebKit::WebUserContentController::removeUserScriptMessageHandler): |
| (WebKit::WebUserContentController::addUserContentExtensions): |
| (WebKit::WebUserContentController::removeUserContentExtension): |
| (WebKit::WebUserContentController::removeAllUserContentExtensions): |
| (WebKit::WebUserContentController::addUserScriptInternal): |
| (WebKit::WebUserContentController::addUserScript): |
| (WebKit::WebUserContentController::removeUserScriptWithURL): |
| (WebKit::WebUserContentController::removeUserScriptInternal): |
| (WebKit::WebUserContentController::removeUserScripts): |
| (WebKit::WebUserContentController::addUserStyleSheetInternal): |
| (WebKit::WebUserContentController::addUserStyleSheet): |
| (WebKit::WebUserContentController::removeUserStyleSheetWithURL): |
| (WebKit::WebUserContentController::removeUserStyleSheetInternal): |
| (WebKit::WebUserContentController::removeUserStyleSheets): |
| (WebKit::WebUserContentController::removeAllUserContent): |
| (WebKit::WebUserContentController::forEachUserScript): |
| (WebKit::WebUserContentController::forEachUserStyleSheet): |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/UserContent/WebUserContentController.messages.in: |
| Convert to inheriting from UserContentProvider, rather than containing a UserContentController. |
| This means adding the storage for the user content, which has been simplified to avoid using |
| unique_ptrs. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::addUserScript): |
| (WebKit::WebPage::addUserStyleSheet): |
| (WebKit::WebPage::removeAllUserContent): |
| Update to call the WebUserContentController, rather than going to the UserContentController, which |
| no longer exists. |
| |
| * WebProcess/WebPage/WebPageGroupProxy.cpp: |
| (WebKit::WebPageGroupProxy::userContentController): |
| * WebProcess/WebPage/WebPageGroupProxy.h: |
| Return the WebUserContentController rather than old UserContentController. |
| |
| 2016-03-10 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r197923. |
| https://bugs.webkit.org/show_bug.cgi?id=155301 |
| |
| Rolling out this change due to breaking the build and |
| LayoutTests. (Requested by ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "Font antialiasing (smoothing) changes when elements are |
| rendered into compositing layers" |
| https://bugs.webkit.org/show_bug.cgi?id=23364 |
| http://trac.webkit.org/changeset/197923 |
| |
| 2016-03-10 Chris Dumez <cdumez@apple.com> |
| |
| Speculative revalidation requests do not have their 'first party for cookies' URL set |
| https://bugs.webkit.org/show_bug.cgi?id=155284 |
| <rdar://problem/25053203> |
| |
| Reviewed by Antti Koivisto. |
| |
| Speculative revalidation requests did not have their 'first party for cookies' |
| URL set. This means the underlying NSURLRequest has a nil mainDocumentURL. |
| Without a way to determine whether the cookie is in a third-party context, |
| CFNetwork defaults to accepting all cookies for these resources. |
| |
| * NetworkProcess/cache/NetworkCacheCoders.cpp: |
| (WebKit::NetworkCache::Coder<WebCore::URL>::encode): |
| (WebKit::NetworkCache::Coder<WebCore::URL>::decode): |
| * NetworkProcess/cache/NetworkCacheCoders.h: |
| Add template specialization to support encoding / decoding WebCore::URL. |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::constructRevalidationRequest): |
| Set the "first party for cookies" URL on the revalidation request. |
| |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::registerSubresourceLoad): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::saveToDiskIfReady): |
| Now keep the subresources' ResourceRequests, in addition to their key, so we can later |
| extract the 'first party for cookies' URL from the request and save it to disk. |
| |
| (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad): |
| Pass the ResourceRequest in addition to the key to |
| PendingFrameLoad::registerSubresourceLoad(). |
| |
| (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry): |
| Add an extra SubresourceInfo parameter, in addition to the Entry, so we |
| have access to the first party for cookies URL. Pass this URL to |
| constructRevalidationRequest(). |
| |
| (WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry): |
| Add an extra SubresourceInfo parameter, in addition to the Entry, so we |
| have access to the first party for cookies URL. |
| |
| (WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation): |
| Pass the SubresourceInfo to preloadEntry(). |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h: |
| |
| * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp: |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::encode): |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::decode): |
| Encode / Decode new firstPartyForCookies member. |
| |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry): |
| (WebKit::NetworkCache::SubresourcesEntry::updateSubresourceLoads): |
| Take SubresourceLoad objects in, instead of simple Key objects so we have |
| access to the ResourceRequest. We extract the first party for cookies URL |
| from the request and pass it to the SubresourceInfo constructor. |
| |
| * NetworkProcess/cache/NetworkCacheSubresourcesEntry.h: |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::SubresourceInfo): |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourceLoad::SubresourceLoad): |
| |
| 2016-02-22 Jer Noble <jer.noble@apple.com> |
| |
| Enable AVFoundationNSURLSessionEnabled by default |
| https://bugs.webkit.org/show_bug.cgi?id=154469 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| |
| 2016-03-10 Eric Carlson <eric.carlson@apple.com> |
| |
| Unreviewed, revert changes accidentally committed with previous patch. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2016-03-10 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] push media stream state to the UI process |
| https://bugs.webkit.org/show_bug.cgi?id=155281 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageGetMediaState): New. |
| * UIProcess/API/C/WKPagePrivate.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didCommitLoadForFrame): Clear m_mediaState. |
| (WebKit::WebPageProxy::isPlayingMediaDidChange): Call m_pageClient.isPlayingMediaDidChange when |
| audio or video state changes, call m_uiClient->isPlayingAudioDidChange when audio, vidoe, |
| or media stream state changes. |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::mediaStateFlags): New. |
| |
| 2016-03-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Artifacts when using web view background color |
| https://bugs.webkit.org/show_bug.cgi?id=155229 |
| |
| Reviewed by Mario Sanchez Prada. |
| |
| This is because when using a web view color, we fill with the |
| color every rectangle updated by the web process, but we should |
| always fill the entire backing store before rendering the actual |
| contents on top. |
| |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| (WebKit::DrawingAreaImpl::display): Ensure the web process always |
| renders the whole visible rectangle when background is rendered by |
| the UI process. |
| |
| 2016-03-09 Simon Fraser <simon.fraser@apple.com> |
| |
| Font antialiasing (smoothing) changes when elements are rendered into compositing layers |
| https://bugs.webkit.org/show_bug.cgi?id=23364 |
| rdar://problem/7288429 |
| |
| Reviewed by Tim Horton. |
| |
| Send the ContentsFormat to the UI process (but nothing happens to it there yet). |
| |
| * Shared/mac/RemoteLayerTreeTransaction.h: |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::setContentsFormat): |
| (WebKit::PlatformCALayerRemote::contentsFormat): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| |
| 2016-03-09 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add runtime flags for shadow DOM and custom elements |
| https://bugs.webkit.org/show_bug.cgi?id=155213 |
| |
| Reviewed by Dean Jackson. |
| |
| Set the runtime flag based on preferences. Enable shadow DOM and disable custom elements by default. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetShadowDOMEnabled): |
| (WKPreferencesGetShadowDOMEnabled): |
| (WKPreferencesSetCustomElementsEnabled): |
| (WKPreferencesGetCustomElementsEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-03-09 Brent Fulgham <bfulgham@apple.com> |
| |
| Handling 'allowUniversalAccessFromFileURLs' on WKWebViewConfiguration causes test breakage |
| https://bugs.webkit.org/show_bug.cgi?id=155265 |
| <rdar://problem/11101440> |
| |
| Reviewed by Andy Estes. |
| |
| We require "AllowUniversalAccessFromFileURLs" to permit file URLs from accessing |
| localStorage. However, this setting is not available on the Cocoa WKPreference (by design). |
| Instead, you need to set this value on the WKWebViewConfiguration. |
| |
| Back out the work-around landed in r197889, |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): Remove test workaround. |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): Set the correct flag on |
| the WKWebViewConfiguration. |
| |
| 2016-03-09 Enrica Casucci <enrica@apple.com> |
| |
| Retrieve additional context for some data detector link for preview and action menu. |
| https://bugs.webkit.org/show_bug.cgi?id=155278 |
| rdar://problem/24884951 |
| |
| Reviewed by Tim Horton. |
| |
| Data detector results for items like calendar events, can be augmented |
| retrieving the text surrounding the link. |
| |
| * Platform/spi/ios/DataDetectorsUISPI.h: |
| * Shared/ios/InteractionInformationAtPosition.h: |
| * Shared/ios/InteractionInformationAtPosition.mm: |
| (WebKit::InteractionInformationAtPosition::encode): |
| (WebKit::InteractionInformationAtPosition::decode): |
| * UIProcess/ios/WKActionSheetAssistant.mm: |
| (-[WKActionSheetAssistant showDataDetectorsSheet]): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _dataForPreviewItemController:atPosition:type:]): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::getPositionInformation): |
| |
| 2016-03-09 Gavin Barraclough <barraclough@apple.com> |
| |
| Last opened tab does not receive SetHiddenPageTimerThrottlingIncreaseLimit message |
| https://bugs.webkit.org/show_bug.cgi?id=155126 |
| |
| Reviewed by Anders Carlson. |
| |
| WebPageProxy will increment the hidden page throttling counter from within its constructor, |
| which currently causes the WebProcessPool to try to synchronously message all processes. |
| The web page triggering the increment then fails to receive the message, since it was |
| still being constructed. Make the update of the limit async, such that the page is fully |
| constructed before the WebProcessPool processes the update. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::m_hiddenPageThrottlingAutoIncreasesCounter): |
| - This now schedules a zero-delay timer to handle the update. |
| (WebKit::m_hiddenPageThrottlingTimer): |
| - This is now responsible for calling updateHiddenPageThrottlingAutoIncreaseLimit. |
| * UIProcess/WebProcessPool.h: |
| - Added m_hiddenPageThrottlingTimer. |
| |
| 2016-03-09 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION (r197149): Missing availability checks when soft-linking DataDetectors.framework |
| <http://webkit.org/b/155258> |
| |
| Reviewed by Andy Estes. |
| |
| * Platform/mac/MenuUtilities.mm: |
| (WebKit::menuItemForTelephoneNumber): |
| (WebKit::menuForTelephoneNumber): |
| - Add check that returns early if DataDetectors.framework is not |
| available. |
| |
| * Shared/mac/WebHitTestResultData.mm: |
| (WebKit::WebHitTestResultData::platformDecode): |
| - Add Debug assertion. The soft-linked code should never be |
| called if there was no actionContext passed in. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::dismissContentRelativeChildWindowsFromViewOnly): |
| - Protect calls to DDActionsManager with availability check. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]): |
| - Protect calls to DDActionsManager with availability check. |
| (-[WKImmediateActionController _animationControllerForDataDetectedText]): |
| (-[WKImmediateActionController _animationControllerForDataDetectedLink]): |
| - Add check that returns early if DataDetectors.framework is not |
| available. |
| |
| 2016-03-09 Keith Rollin <krollin@apple.com> |
| |
| Add state dumping facility |
| https://bugs.webkit.org/show_bug.cgi?id=154930 |
| <rdar://problem/24939135> |
| |
| Reviewed by Anders Carlsson. |
| |
| Collect the times at which pages are loaded. Dump them when an OS |
| state dump is triggered. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didCommitLoad): |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::lastPageLoadTime): |
| * WebProcess/WebProcess.h: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::registerWithStateDumper): |
| (WebKit::WebProcess::platformInitializeProcess): |
| |
| 2016-03-09 Anders Carlsson <andersca@apple.com> |
| |
| _WKWebsiteDataSize.h should be an SPI header. |
| |
| Rubber-stamped by Tim Horton. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-03-09 Brent Fulgham <bfulgham@apple.com> |
| |
| Handling 'allowUniversalAccessFromFileURLs' on WKWebViewConfiguration causes test breakage |
| https://bugs.webkit.org/show_bug.cgi?id=155265 |
| |
| Unreviewed work-around to allow testing to continue. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): Workaround build break. |
| |
| 2016-03-09 Alex Christensen <achristensen@webkit.org> |
| |
| Fix use-after-free when cancelling synchronous XHR when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=155253 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::continueWillSendRequest): |
| Store the completion handler on the stack before calling didFail, which deletes the |
| NetworkLoad, so we don't access m_redirectCompletionHandler after deleting the NetworkLoad. |
| |
| 2016-03-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r197698. |
| https://bugs.webkit.org/show_bug.cgi?id=155252 |
| |
| Caused assertions, and wasn't reviewed by a WK2 owner |
| (Requested by andersca on #webkit). |
| |
| Reverted changeset: |
| |
| "Last opened tab does not receive |
| SetHiddenPageTimerThrottlingIncreaseLimit message" |
| https://bugs.webkit.org/show_bug.cgi?id=155126 |
| http://trac.webkit.org/changeset/197698 |
| |
| 2016-03-09 Conrad Shultz <conrad_shultz@apple.com> |
| |
| WebsiteDataStore::Configuration::legacyWebsiteDataStoreConfiguration() should respect the passed-in configuration |
| https://bugs.webkit.org/show_bug.cgi?id=155250 |
| |
| Reviewed by Anders Carlsson. |
| |
| Note that the legacy directories are already set by default in ProcessPoolConfiguration::createWithLegacyOptions(), |
| which is also where the shouldHaveLegacyDataStore flag, which will cause this code path to be reached, is set. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::legacyWebsiteDataStoreConfiguration): |
| Use the passed-in configuration to set the application cache, network cache, and media keys storage directories. |
| |
| 2016-03-09 Chris Dumez <cdumez@apple.com> |
| |
| Speculative disk cache resource revalidations are sometimes wasted |
| https://bugs.webkit.org/show_bug.cgi?id=155187 |
| <rdar://problem/25032905> |
| |
| Reviewed by Antti Koivisto. |
| |
| Speculative disk cache resource revalidations were sometimes wasted. |
| |
| We would sometimes correctly revalidate a resource but the |
| NetworkResourceLoader then either: |
| 1. Fail to reuse the speculatively validated entry |
| 2. Reuse the speculatively validated entry but then validate it again |
| |
| Bug 1 was caused by the revalidated entry key sometimes being |
| different from the cached entry key. This could happen when |
| revalidation fails (the server did not send back a 304) in |
| which case we call NetworkCache::store() which creates a new |
| cache Entry, generating a cache key from our revalidation |
| request. If the original request has a cache partition or a |
| range, then the keys would not match because we did not set |
| the cache partition or the range on the revalidation request. |
| This has been addressed by setting the cache partition on the |
| revalidation request in constructRevalidationRequest() and by |
| not doing revalidation if the original request had a 'range' |
| header. |
| |
| Bug 2 was caused by us marking a speculatively revalidated entry |
| as "not needing revalidating" only in Cache::update(). Cache::update() |
| is only called in the case the revalidation was successful (server |
| returned a 304). If revalidation was not successful, Cache::store() |
| would be called instead was we would fail to update the |
| needsRevalidation flag. NetworkResourceLoader would then validate |
| again the resource that was already speculatively revalidated. |
| To address the problem, we now update the 'needsRevalidation' flag |
| as soon as the speculative revalidation completes, in |
| SpeculativeLoad::didComplete(). |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::retrieve): |
| (WebKit::NetworkCache::makeCacheKey): |
| (WebKit::NetworkCache::Cache::update): |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::setNeedsValidation): |
| * NetworkProcess/cache/NetworkCacheEntry.h: |
| * NetworkProcess/cache/NetworkCacheKey.cpp: |
| (WebKit::NetworkCache::noPartitionString): |
| (WebKit::NetworkCache::Key::Key): |
| (WebKit::NetworkCache::Key::hasPartition): |
| * NetworkProcess/cache/NetworkCacheKey.h: |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: |
| (WebKit::NetworkCache::SpeculativeLoad::didComplete): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::constructRevalidationRequest): |
| (WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage): |
| (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry): |
| |
| 2016-03-09 Brent Fulgham <bfulgham@apple.com> |
| |
| Local HTML should be blocked from localStorage access unless "Disable Local File Restrictions" is checked |
| https://bugs.webkit.org/show_bug.cgi?id=155185 |
| |
| Reviewed by Anders Carlsson. |
| <rdar://problem/11101440> |
| |
| Tested by TestWebKitAPI tests IndexedDB.IndexedDBMultiProcess and IndexedDB.IndexedDBPersistence. |
| |
| Allow Cocoa WKWebViewConfiguration access to the 'allowUniversalAccessFromFileURLs' setting. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (- [WKWebView _initializeWithConfiguration]): Set 'allowUniversalAccessFromFileURLsKey' in |
| page configuration. |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration _allowUniversalAccessFromFileURLs]): Added, |
| (-[WKWebViewConfiguration _setAllowUniversalAccessFromFileURLs:]): Added. |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| |
| 2016-03-09 Enrica Casucci <enrica@apple.com> |
| |
| Add two finger tap on links. |
| https://bugs.webkit.org/show_bug.cgi?id=155205 |
| rdar://problem/22937516 |
| |
| Reviewed by Sam Weinig. |
| |
| Adds two finger tap gesture recognizer. When performed |
| on a link, it calls the delegate. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView setupInteraction]): |
| (-[WKContentView cleanupInteraction]): |
| (-[WKContentView _removeDefaultGestureRecognizers]): |
| (-[WKContentView _addDefaultGestureRecognizers]): |
| (-[WKContentView _twoFingerSingleTapGestureRecognized:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::handleTwoFingerTapAtPoint): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::handleTwoFingerTapAtPoint): |
| |
| 2016-03-09 Alex Christensen <achristensen@webkit.org> |
| |
| Always call NSURLSession completion handlers |
| https://bugs.webkit.org/show_bug.cgi?id=155137 |
| |
| Reviewed by Darin Adler. |
| |
| There are some edge cases which should not be hit, but if they are they would cause the |
| network process to hang and network resources to be leaked. This can be avoided. |
| There are also a few release asserts that do not need to crash release builds. |
| |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| (WebKit::NetworkDataTask::didReceiveChallenge): |
| (WebKit::NetworkDataTask::didCompleteWithError): |
| (WebKit::NetworkDataTask::didReceiveResponse): |
| (WebKit::NetworkDataTask::didReceiveData): |
| (WebKit::NetworkDataTask::willPerformHTTPRedirection): |
| (WebKit::NetworkDataTask::scheduleFailure): |
| (WebKit::NetworkDataTask::tryPasswordBasedAuthentication): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| |
| 2016-03-08 Sam Weinig <sam@webkit.org> |
| |
| Roll r197632 back in now that the bots have caught up. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView textInputTraits]): |
| |
| 2016-03-08 Oliver Hunt <oliver@apple.com> |
| |
| Start moving to separated writable and executable mappings in the JIT |
| https://bugs.webkit.org/show_bug.cgi?id=155178 |
| |
| Reviewed by Fil Pizlo. |
| |
| Update feature defines. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-03-08 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][Mac] Allow processes to set "fast-dev-casheable" bit in Network Process |
| https://bugs.webkit.org/show_bug.cgi?id=155189 |
| <rdar://problem/25042678> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Update the NetworkProcess sandbox profiles with a declaration that using the |
| system-fctl to touch the "hot file" flag (to support caching operations) |
| is allowed. I should have done this in Bug 154503, but did not. |
| |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: Add sandbox permission. |
| |
| 2016-03-08 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r197793 and r197799. |
| https://bugs.webkit.org/show_bug.cgi?id=155195 |
| |
| something weird happened while landing this and everything |
| broke (Requested by olliej on #webkit). |
| |
| Reverted changesets: |
| |
| "Start moving to separated writable and executable mappings in |
| the JIT" |
| https://bugs.webkit.org/show_bug.cgi?id=155178 |
| http://trac.webkit.org/changeset/197793 |
| |
| "arm64 build fix after r197793." |
| http://trac.webkit.org/changeset/197799 |
| |
| 2016-03-08 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2] Grant explicit read access to ManagedPreferences |
| https://bugs.webkit.org/show_bug.cgi?id=155173 |
| <rdar://problem/24910550> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Add new |
| read permission. |
| |
| 2016-03-08 Anders Carlsson <andersca@apple.com> |
| |
| Ignore deprecation warnings. |
| |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::ChildProcess::stopNSAppRunLoop): |
| * Shared/mac/WebEventFactory.mm: |
| (WebKit::mouseButtonForEvent): |
| (WebKit::mouseEventTypeForEvent): |
| (WebKit::clickCountForEvent): |
| (WebKit::globalPointForEvent): |
| (WebKit::pointForEvent): |
| (WebKit::textFromEvent): |
| (WebKit::unmodifiedTextFromEvent): |
| (WebKit::isKeypadEvent): |
| (WebKit::isKeyUpEvent): |
| (WebKit::modifiersForEvent): |
| (WebKit::WebEventFactory::createWebKeyboardEvent): |
| * UIProcess/API/Cocoa/WKNavigationAction.mm: |
| (toNSEventModifierFlags): |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::becomeFirstResponder): |
| (WebKit::WebViewImpl::updateContentInsetsIfAutomatic): |
| (WebKit::WebViewImpl::viewDidMoveToWindow): |
| (WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent): |
| (WebKit::WebViewImpl::createFullScreenWindow): |
| (WebKit::WebViewImpl::sendToolTipMouseExited): |
| (WebKit::WebViewImpl::sendToolTipMouseEntered): |
| (WebKit::applicationFlagsForDrag): |
| (WebKit::WebViewImpl::setLastMouseDownEvent): |
| (WebKit::WebViewImpl::doneWithKeyEvent): |
| (WebKit::WebViewImpl::collectKeyboardLayoutCommandsForEvent): |
| (WebKit::WebViewImpl::performKeyEquivalent): |
| * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: |
| (WebKit::PluginProcessProxy::beginModal): |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::showContextMenu): |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformCanAttach): |
| * UIProcess/mac/WebPopupMenuProxyMac.mm: |
| (WebKit::WebPopupMenuProxyMac::populate): |
| (WebKit::WebPopupMenuProxyMac::showPopupMenu): |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::modifierFlagsFromWebEvent): |
| (WebKit::getEventTypeFromWebEvent): |
| * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: |
| (WebKit::cssAlignmentValueForNSTextAlignment): |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| (WebKit::convertImageToBitmap): |
| |
| 2016-03-08 Oliver Hunt <oliver@apple.com> |
| |
| Start moving to separated writable and executable mappings in the JIT |
| https://bugs.webkit.org/show_bug.cgi?id=155178 |
| |
| Reviewed by Filip Pizlo. |
| |
| Update feature defines. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-03-08 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r197766. |
| https://bugs.webkit.org/show_bug.cgi?id=155183 |
| |
| Has platform-specific code in non-platform files (Requested by |
| smfr on #webkit). |
| |
| Reverted changeset: |
| |
| "AX: Force allow user zoom" |
| https://bugs.webkit.org/show_bug.cgi?id=155056 |
| http://trac.webkit.org/changeset/197766 |
| |
| 2016-03-04 Ada Chan <adachan@apple.com> |
| |
| Fix lifetime issues regarding WebVideoFullscreenInterfaceMac |
| https://bugs.webkit.org/show_bug.cgi?id=155130 |
| |
| Reviewed by Beth Dakin. |
| |
| Now that both fullscreen and video controls manager rely on WebVideoFullscreenInterface, |
| we now keep track of a "client count" for each context ID so we'll only remove it |
| from the context map after all the "clients" are done with it. |
| |
| Before this change, every time WebVideoFullscreenManager::setUpVideoControlsManager() |
| is called, the existing interface is cleared and a new one is created even when there's |
| an existing interface for that. With this change, we reuse the existing interface for |
| the video element. |
| |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::invalidate): |
| Also clear out m_clientCounts. |
| (WebKit::WebVideoFullscreenManagerProxy::addClientForContext): |
| If the context ID is not in m_clientCounts yet, add the count of 1 to |
| that table for that ID. Otherwise, increment the count by 1. |
| (WebKit::WebVideoFullscreenManagerProxy::removeClientForContext): |
| Assert that we have added this context id to m_clientCounts before. |
| Decrement the count. If it reaches 0, remove this context ID from both |
| m_clientCounts and m_contextMap. |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): |
| We have started a new fullscreen session using this interface. Call |
| addClientForContext() to update the client count. |
| (WebKit::WebVideoFullscreenManagerProxy::setUpVideoControlsManagerWithID): |
| If the current controls manager set up has the same context ID as the one |
| passed in, we don't have to do anything. Otherwise, if we have set up |
| the video controls manager with a different ID before, call removeClientForContext() |
| on the old ID to decrement its client count. Set m_controlsManagerContextId |
| to the new value and call addClientForContext() with it. |
| (WebKit::WebVideoFullscreenManagerProxy::didCleanupFullscreen): |
| Instead of removing the mapping from m_contextMap directly, reset the fullscreen |
| mode on the interface and call removeClientForContext(), which removes the mapping |
| only if there's no more client using the interface. |
| * WebProcess/cocoa/WebVideoFullscreenManager.h: |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager): |
| Clear m_clientCounts. |
| (WebKit::WebVideoFullscreenManager::removeContext): |
| Add a helper method for removing the context. |
| (WebKit::WebVideoFullscreenManager::addClientForContext): |
| If the context ID is not in m_clientCounts yet, add the count of 1 to |
| that table for that ID. Otherwise, increment the count by 1. |
| (WebKit::WebVideoFullscreenManager::removeClientForContext): |
| Assert that we have added this context id to m_clientCounts before. |
| Decrement the count. If it reaches 0, remove this context ID from |
| m_clientCounts and call removeContext() to clean up this context. |
| (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): |
| We have started a new fullscreen session using this interface. Call |
| addClientForContext() to update the client count. Create a layer hosting |
| context if it's not there. |
| (WebKit::WebVideoFullscreenManager::setUpVideoControlsManager): |
| If we have set up a context for this video element before, see if it's |
| the one we are currently managing video controls for. If it is, return early. |
| Otherwise, call removeClientForContext() on the previous m_controlsManagerContextId |
| and update m_controlsManagerContextId to the context ID of this video element. |
| If there's no context created for this video element yet, set one up. |
| Send a SetUpVideoControlsManagerWithID message to the proxy object in the UI process |
| so it'll update its controls manager context ID. Also, conditionalize all of this |
| under PLATFORM(MAC) to be consistent with WebVideoFullscreenManagerProxy. |
| (WebKit::WebVideoFullscreenManager::didCleanupFullscreen): |
| Just reset the fullscreen mode on the interface and call removeClientForContext() which |
| only cleans up the context if there's no more client using it. |
| |
| 2016-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Add automation protocol methods for navigation |
| |
| https://bugs.webkit.org/show_bug.cgi?id=155163 |
| rdar://problem/25029054 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/Automation/Automation.json: |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::getBrowsingContexts): Set url. |
| (WebKit::WebAutomationSession::getBrowsingContext): Added. |
| (WebKit::WebAutomationSession::navigateBrowsingContext): Added. |
| (WebKit::WebAutomationSession::goBackInBrowsingContext): Added. |
| (WebKit::WebAutomationSession::goForwardInBrowsingContext): Added. |
| (WebKit::WebAutomationSession::reloadBrowsingContext): Added. |
| * UIProcess/Automation/WebAutomationSession.h: |
| |
| 2016-03-08 Nan Wang <n_wang@apple.com> |
| |
| AX: Force allow user zoom |
| https://bugs.webkit.org/show_bug.cgi?id=155056 |
| |
| Reviewed by Chris Fleizach. |
| |
| Soft linked libAccessibility library so that we can observe the accessibility |
| setting change for the force always user scalable feature. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::forceAlwaysUserScalableChangedCallback): |
| (WebKit::WebPage::create): |
| (WebKit::m_shouldDispatchFakeMouseMoveEvents): |
| (WebKit::WebPage::~WebPage): |
| (WebKit::WebPage::preferencesDidChange): |
| (WebKit::WebPage::updateForceAlwaysUserScalable): |
| (WebKit::WebPage::updatePreferences): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2016-03-08 Csaba Osztrogonác <ossy@webkit.org> |
| |
| One more unreviewed speculative buildfix after r197728. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didFinishLoading): |
| (WebKit::NetworkResourceLoader::continueWillSendRequest): |
| |
| 2016-03-08 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Unreviewed speculative buildfix after r197728. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::scheduleLoad): |
| |
| 2016-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Make WebAutomationSession::closeBrowsingContext work as expected |
| |
| https://bugs.webkit.org/show_bug.cgi?id=155162 |
| rdar://problem/25027191 |
| |
| Reviewed by Brian Burg. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::closeBrowsingContext): |
| Call closePage, the same method ultimately used by window.close(). |
| |
| * UIProcess/WebPageProxy.h: Make closePage public. |
| |
| 2016-03-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r197062): [GTK] Transparent backgrounds no longer work after r197062 |
| https://bugs.webkit.org/show_bug.cgi?id=155119 |
| |
| Reviewed by Martin Robinson. |
| |
| This is because after r197062 we are now realizing the view too |
| early, even before the toplevel window has been realized, forcing |
| the toplevel window to be realized. If the RGBA visual is set on |
| the window after it has been realzied it doesn't have any |
| effect. We should wait until the toplevel window is realized to |
| realize the web view, giving time to the application to set RGBA |
| visual and background color. If the toplevel window is already |
| realized we realize the web view immediately, so that this doesn't |
| affect the tearing problems fixed in r197062. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (toplevelWindowRealized): |
| (webkitWebViewBaseSetToplevelOnScreenWindow): |
| |
| 2016-03-07 Keith Rollin <krollin@apple.com> |
| |
| Enhance logging: Use "always on" macros |
| https://bugs.webkit.org/show_bug.cgi?id=154499 |
| <rdar://problem/24757730> |
| |
| Reviewed by Chris Dumez. |
| |
| Make use of new logging macros by reporting on frame and resource |
| load activity. |
| |
| Connection updated to report IPC errors, helping us identify when |
| messaging between processes breaks down. |
| |
| ChildProcess updated to log if it is terminating early. Some |
| sysdiagnose logging from customers indicate that this is happening in |
| the wild. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::startNetworkLoad): |
| (WebKit::NetworkResourceLoader::didFinishLoading): |
| (WebKit::NetworkResourceLoader::didFailLoading): |
| (WebKit::NetworkResourceLoader::continueWillSendRequest): |
| (WebKit::NetworkResourceLoader::isAlwaysOnLoggingAllowed): |
| * NetworkProcess/NetworkResourceLoader.h: |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::waitForSyncReply): |
| * Shared/ChildProcess.cpp: |
| (WebKit::didCloseOnConnectionWorkQueue): |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::scheduleLoad): |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::willSendRequest): |
| (WebKit::WebResourceLoader::didReceiveResponse): |
| (WebKit::WebResourceLoader::didReceiveData): |
| (WebKit::WebResourceLoader::didFinishResourceLoad): |
| (WebKit::WebResourceLoader::didFailResourceLoad): |
| (WebKit::WebResourceLoader::didReceiveResource): |
| (WebKit::WebResourceLoader::isAlwaysOnLoggingAllowed): |
| * WebProcess/Network/WebResourceLoader.h: |
| |
| 2016-03-07 Brent Fulgham <bfulgham@apple.com> |
| |
| Reduce startup and shutdown cost of resource load statistics |
| https://bugs.webkit.org/show_bug.cgi?id=155120 |
| <rdar://problem/25010167> |
| |
| Reviewed by Andy Estes. |
| |
| Use a dedicated WorkQueue to process resource load statistics data. Allow |
| processing to load (and save) previously stored statistics asynchronously so |
| that it does not delay startup. |
| |
| Now that we have a more rational storage situation, get rid of the 'writeToDisk' |
| method since it is no longer needed in the WK2 layer. |
| |
| Move all of the Resource Load Statistics file handling code from WebCore to this |
| API layer. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore): Initialize |
| member variable with storage path, rather than passing to WebCore code. |
| (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated): Revised to |
| use the new WorkQueue code. |
| (WebKit::WebResourceLoadStatisticsStore::setResourceLoadStatisticsEnabled): When |
| activating the feature, purge any old statistics before loading from disk. |
| (WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded): Added. |
| (WebKit::WebResourceLoadStatisticsStore::processWillOpenConnection): Added. |
| (WebKit::WebResourceLoadStatisticsStore::processDidCloseConnection): Added. |
| (WebKit::WebResourceLoadStatisticsStore::applicationWillTerminate): Make sure all |
| of the WorkQueue tasks are done before terminating. |
| (WebKit::WebResourceLoadStatisticsStore::persistentStoragePath): Moved from WebCore. |
| (WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk): Ditto. |
| (WebKit::WebResourceLoadStatisticsStore::createDecoderFromDisk): Ditto. |
| (WebKit::WebResourceLoadStatisticsStore::writeToDisk): Deleted. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| (WebKit::WebResourceLoadStatisticsStore::coreStore): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::webProcessWillOpenConnection): Call new WebResourceLoadStatisticsStore code. |
| (WebKit::WebsiteDataStore::webProcessDidCloseConnection): Ditto. |
| |
| 2016-03-07 Alex Christensen <achristensen@webkit.org> |
| |
| Fix cookies with private browsing and NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=155147 |
| rdar://problem/25018279 |
| |
| Reviewed by Brady Eidson. |
| |
| In the NetworkSession constructor, we look for a NetworkStorageSession in the SessionTracker |
| and use that NetworkStorageSession's CFHTTPCookieStorageRef in the NSURLSessionConfiguration. |
| NetworkStorageSessions were being set in SessionTracker's storageSessionMap after NetworkSessions |
| were created, causing the NSHTTPCookieStorage of the NSURLSession to be different from the |
| CFHTTPCookieStorageRef used by document.cookie in newly created private browsing sessions. |
| This fixes that problem by passing the NetworkStorageSession as a constructor parameter to the |
| NetworkSession so it can use the correct CFHTTPCookieStorageRef in its NSURLSessionConfiguration |
| before it is in the storageSessionMap. |
| |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkSession::sessionID): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSession::defaultSession): |
| (WebKit::NetworkSession::NetworkSession): |
| * NetworkProcess/mac/RemoteNetworkingContext.mm: |
| (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: |
| (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): |
| |
| 2016-03-07 Brent Fulgham <bfulgham@apple.com> |
| |
| Correct bug in resource load statistics debug flag for legacy clients |
| https://bugs.webkit.org/show_bug.cgi?id=155118 |
| <rdar://problem/25020088> |
| |
| Reviewed by Andy Estes. |
| |
| Some clients launch WebKit2 using the "legacy" configuration for the website data store. |
| The Resource Load Statistics code was not added to this type of configuration, which |
| prevents various WebKit2 clients from using this code. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::legacyWebsiteDataStoreConfiguration): Tell the legacy initializer where to |
| find the resource load statistics data. |
| |
| 2016-03-07 Daniel Bates <dabates@apple.com> |
| |
| Cleanup: Add convenience function URL::procotolIsBlob() |
| https://bugs.webkit.org/show_bug.cgi?id=155127 |
| <rdar://problem/25016829> |
| |
| Reviewed by Brent Fulgham. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): Modified to use URL::protocolIsBlob(). |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::NetworkResourceLoader): Ditto. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::canHandleRequest): Ditto. |
| |
| 2016-03-07 Simon Fraser <simon.fraser@apple.com> |
| |
| Use CGColorSpaceCopyICCData instead of CGColorSpaceCopyICCProfile |
| https://bugs.webkit.org/show_bug.cgi?id=155123 |
| rdar://problem/24990256 |
| |
| Reviewed by Tim Horton. |
| |
| On newer OSes, use CGColorSpaceCopyICCData(). |
| |
| * Shared/mac/ColorSpaceData.mm: |
| (WebKit::ColorSpaceData::encode): |
| |
| 2016-03-07 Gavin Barraclough <barraclough@apple.com> |
| |
| Last opened tab does not receive SetHiddenPageTimerThrottlingIncreaseLimit message |
| https://bugs.webkit.org/show_bug.cgi?id=155126 |
| |
| Reviewed by Chris Dumez. |
| |
| WebPageProxy will increment the hidden page throttling counter from within its constructor, |
| which currently causes the WebProcessPool to try to synchronously message all processes. |
| The web page triggering the increment then fails to receive the message, since it was |
| still being constructed. Make the update of the limit async, such that the page is fully |
| constructed before the WebProcessPool processes the update. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::m_hiddenPageThrottlingAutoIncreasesCounter): |
| - This now schedules a zero-delay timer to handle the update. |
| (WebKit::m_hiddenPageThrottlingTimer): |
| - This is now responsible for calling updateHiddenPageThrottlingAutoIncreaseLimit. |
| * UIProcess/WebProcessPool.h: |
| - Added m_hiddenPageThrottlingTimer. |
| |
| 2016-03-05 Enrica Casucci <enrica@apple.com> |
| |
| Support preview on attachment elements. |
| https://bugs.webkit.org/show_bug.cgi?id=155074 |
| rdar://problem/24806079 |
| |
| Reviewed by Sam Weinig. |
| |
| Allowing preview to start on attachment elements. |
| Adding a private UIDelegate method to provide the data for the preview. |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]): |
| (-[WKContentView _dataForPreviewItemController:atPosition:type:]): |
| |
| 2016-03-06 Andreas Kling <akling@apple.com> |
| |
| Reduce page cache capacity from 3 to 2. |
| <https://webkit.org/b/155087> |
| |
| Reviewed by Antti Koivisto. |
| |
| It's extremely rare that users go back more than 2 pages in the page cache, |
| and nowadays the network cache makes even un-cached pages fast to reload. |
| |
| Trimming the page cache from 3 to 2 entries has a very nice effect on heap |
| fragmentation. I'm seeing a ~5% progression on the iPad PLUM test locally; |
| average memory usage across 300 loads goes from ~121MB to ~114MB. |
| |
| * Shared/CacheModel.cpp: |
| (WebKit::calculateCacheSizes): |
| |
| 2016-03-05 Sam Weinig <sam@webkit.org> |
| |
| Revert usage of autofill field name for use with UITextInputTraits |
| until our bots can catch up. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView textInputTraits]): |
| |
| 2016-03-05 Chris Dumez <cdumez@apple.com> |
| |
| Consolidate RuntimeApplicationChecks and RuntimeApplicationChecksIOS |
| https://bugs.webkit.org/show_bug.cgi?id=155035 |
| |
| Reviewed by Darin Adler. |
| |
| Update runtime application checks. |
| |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: |
| (API::WebsiteDataStore::defaultApplicationCacheDirectory): |
| * UIProcess/Cocoa/VersionChecks.mm: |
| (WebKit::linkedOnOrAfter): |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| (WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::expectsLegacyImplicitRubberBandControl): |
| (WebKit::WebPageProxy::appleMailPaginationQuirkEnabled): |
| |
| 2016-03-05 Sam Weinig <sam@webkit.org> |
| |
| Add support for processing the autofill field name out of form control elements ultimately to aid input methods |
| <rdar://problem/23041180> |
| https://bugs.webkit.org/show_bug.cgi?id=155079 |
| |
| Reviewed by Enrica Casucci. |
| |
| * Shared/AssistedNodeInformation.cpp: |
| (WebKit::AssistedNodeInformation::encode): |
| (WebKit::AssistedNodeInformation::decode): |
| * Shared/AssistedNodeInformation.h: |
| Add AutofillFieldName. Convert some coders to use encodeEnum/decodeEnum instead of casting. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView textInputTraits]): |
| Map AutofillFieldNames to the associated UITextContentTypes. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::getAssistedNodeInformation): |
| Extract the AutofillFieldNames onto the AssistedNodeInformation for <input> elements |
| and <textarea> elements. |
| |
| 2016-03-05 Timothy Hatcher <timothy@apple.com> |
| |
| Implement the Automation protocol commands by tracking WebPageProxy objects |
| that are controlled by automation and assigning them a UUID handle. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=154953 |
| rdar://problem/24947489 |
| |
| Reviewed by Brian Burg. |
| |
| * UIProcess/API/APIAutomationSessionClient.h: |
| (API::AutomationSessionClient::didRequestNewWindow): |
| Return a WebPageProxy instead of void so it can be assigned a UUID handle. |
| |
| * UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h: |
| Return a WKPageRef from _automationSessionDidRequestNewWindow:. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::webPageProxyForHandle): |
| (WebKit::WebAutomationSession::handleForWebPageProxy): |
| (WebKit::WebAutomationSession::getBrowsingContexts): |
| (WebKit::WebAutomationSession::createBrowsingContext): |
| (WebKit::WebAutomationSession::closeBrowsingContext): |
| (WebKit::WebAutomationSession::switchToBrowsingContext): |
| |
| * UIProcess/Automation/WebAutomationSession.h: |
| Added new methods and maps to track pages and handles. |
| |
| * UIProcess/Cocoa/AutomationSessionClient.h: |
| * UIProcess/Cocoa/AutomationSessionClient.mm: |
| (WebKit::AutomationSessionClient::didRequestNewWindow): |
| Return a WebPageProxy from the WKPageRef. |
| |
| * UIProcess/WebPageProxy.h: Make setFocus public. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::setAutomationSession): |
| Set the WebProcessPool on the WebAutomationSession so it can be used to find |
| WebPageProxy objects controlled by automation. |
| |
| 2016-03-05 Timothy Hatcher <timothy@apple.com> |
| |
| Rename Automation protocol methods to use "BrowsingContext" instead of "Window". |
| Also flesh out the protocol commands more by adding switchToBrowsingContext |
| and return a BrowsingContextHandle for createBrowsingContext. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=154953 |
| rdar://problem/24947489 |
| |
| Reviewed by Brian Burg. |
| |
| * UIProcess/Automation/Automation.json: |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::getBrowsingContexts): |
| (WebKit::WebAutomationSession::createBrowsingContext): |
| (WebKit::WebAutomationSession::closeBrowsingContext): |
| (WebKit::WebAutomationSession::switchToBrowsingContext): |
| (WebKit::WebAutomationSession::getWindows): Deleted. |
| (WebKit::WebAutomationSession::openWindow): Deleted. |
| (WebKit::WebAutomationSession::closeWindow): Deleted. |
| * UIProcess/Automation/WebAutomationSession.h: |
| |
| 2016-03-05 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Support Reflect.construct |
| https://bugs.webkit.org/show_bug.cgi?id=147330 |
| |
| Reviewed by Saam Barati. |
| |
| * WebProcess/Plugins/Netscape/JSNPMethod.cpp: |
| (WebKit::JSNPMethod::getCallData): |
| * WebProcess/Plugins/Netscape/JSNPObject.cpp: |
| (WebKit::JSNPObject::getCallData): |
| (WebKit::JSNPObject::getConstructData): |
| * WebProcess/Plugins/Netscape/NPJSObject.cpp: |
| (WebKit::NPJSObject::hasMethod): |
| (WebKit::NPJSObject::construct): |
| (WebKit::NPJSObject::invoke): |
| |
| 2016-03-04 Alex Christensen <achristensen@webkit.org> |
| |
| Fix file mime-types when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=155058 |
| |
| Reviewed by Andy Estes. |
| |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| Call adjustMIMETypeIfNecessary like we do in connection didReceiveResponse in |
| WebCoreResourceHandleAsOperationQueueDelegate.mm. |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| Don't content sniff file urls. This check is analogous to ResourceHandle::shouldContentSniffURL. |
| |
| 2016-03-04 Sam Weinig <sam@webkit.org> |
| |
| [WebKit2] Add WebKit2 equivalent of -[WebView _insertNewlineInQuotedContent] |
| <rdar://problem/24943591> |
| https://bugs.webkit.org/show_bug.cgi?id=155057 |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundlePageInsertNewlineInQuotedContent): |
| * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::insertNewlineInQuotedContent): |
| * WebProcess/WebPage/WebPage.h: |
| Expose WKBundlePageInsertNewlineInQuotedContent as SPI. |
| |
| 2016-03-04 Brent Fulgham <bfulgham@apple.com> |
| |
| Stub API to support a debug menu option for measuring resource load statistics |
| https://bugs.webkit.org/show_bug.cgi?id=154998 |
| <rdar://problem/24944604> |
| |
| Reviewed by Andy Estes. |
| |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::resourceLoadStatisticsEnabled): Added stub. |
| (API::WebsiteDataStore::setResourceLoadStatisticsEnabled): Ditto. |
| * UIProcess/API/APIWebsiteDataStore.h: |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreSetResourceLoadStatisticsEnabled): Added method that calls through |
| to the underlying APIWebsiteDataStore class. |
| (WKWebsiteDataStoreGetResourceLoadStatisticsEnabled): Ditto. |
| * UIProcess/API/C/WKWebsiteDataStoreRef.h: |
| |
| 2016-03-03 Enrica Casucci <enrica@apple.com> |
| |
| Add a mechanism to customize the long press action. |
| https://bugs.webkit.org/show_bug.cgi?id=154995 |
| rdar://problem/24823732 |
| |
| Reviewed by Tim Horton. |
| |
| Adding a new private delegate method to allow clients to |
| replace the action sheet displayed for images and links. |
| The change also adds support for attachment elements. |
| |
| * Shared/ios/InteractionInformationAtPosition.h: |
| * Shared/ios/InteractionInformationAtPosition.mm: |
| (WebKit::InteractionInformationAtPosition::encode): |
| (WebKit::InteractionInformationAtPosition::decode): |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/API/Cocoa/_WKActivatedElementInfo.h: |
| * UIProcess/ios/WKActionSheetAssistant.h: |
| * UIProcess/ios/WKActionSheetAssistant.mm: |
| (-[WKActionSheetAssistant showImageSheet]): |
| (-[WKActionSheetAssistant showLinkSheet]): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _showImageSheet]): |
| (-[WKContentView _showAttachmentSheet]): |
| (-[WKContentView _showLinkSheet]): |
| (-[WKContentView _actionForLongPress]): |
| (-[WKContentView actionSheetAssistant:shouldIncludeAppLinkActionsForElement:]): |
| (-[WKContentView actionSheetAssistant:showCustomSheetForElement:]): |
| (-[WKContentView actionSheetAssistant:decideActionsForElement:defaultActions:]): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::getPositionInformation): |
| |
| 2016-03-04 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2] Gather resource load statistics |
| https://bugs.webkit.org/show_bug.cgi?id=154278 |
| <rdar://problem/24702892> |
| |
| Reviewed by Andy Estes. |
| |
| Revise the WebProcess to notify the UIProcess about resource load statistics. These |
| updates are not time-critical, and do not need to be done in concert with the actual |
| load. As resource loads are made, each WebProcess notifies the UIProcess of the new |
| load counts, then clears its local state. These statistics are then aggregated in |
| the UIProcess. |
| |
| * CMakeLists.txt: Add new ResourceLoadStatisticsState files to build. |
| * DerivedSources.make: Ditto. |
| * Platform/IPC/ArgumentCoders.h: Update to support HashCountedSets. |
| * PlatformEfl.cmake: Add new ResourceLoadStatisticsState files to build. |
| * PlatformGTK.cmake: Ditto. |
| * PlatformMac.cmake: Ditto. |
| * Shared/API/APIObject.h: Add new ResourceLoadStatistics type. |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<ExceptionDetails>::decode): Support new ResourceLoadStatistics type. |
| (IPC::ArgumentCoder<ResourceLoadStatistics>::encode): Added. |
| (IPC::ArgumentCoder<ResourceLoadStatistics>::decode): Added. |
| * Shared/WebCoreArgumentCoders.h: |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): Handle 'resourceLoadStatisticsEnabled' flag. |
| (WebKit::WebProcessCreationParameters::decode): Ditto. |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::ProcessPoolConfiguration): Add storage location for the |
| resource load statistics. |
| (API::ProcessPoolConfiguration::copy): Handle the new storage location and the feature flag. |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::defaultResourceLoadStatisticsDirectory): Added stub. |
| * UIProcess/API/APIWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: |
| (API::WebsiteDataStore::defaultResourceLoadStatisticsDirectory): Added. |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): Added support for the new resource |
| load statistics storage location. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): Sync Process Pool configuration parameters |
| with the state of our websiteData object's "ResourceLoadStatisticsEnabled" flag, so that |
| new processes are created in the right state. |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _resourceLoadStatisticsEnabled]): Added. |
| (-[WKWebsiteDataStore _setResourceLoadStatisticsEnabled:]): Added. |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): Handle new flag for enabling resource |
| load statistics. |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: Added. |
| (WebKit::WebResourceLoadStatisticsStore::create): |
| (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore): |
| (WebKit::WebResourceLoadStatisticsStore::~WebResourceLoadStatisticsStore): |
| (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated): |
| (WebKit::WebResourceLoadStatisticsStore::setResourceLoadStatisticsEnabled): |
| (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsEnabled): |
| (WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded): |
| (WebKit::WebResourceLoadStatisticsStore::writeToDisk): |
| (WebKit::WebResourceLoadStatisticsStore::applicationWillTerminate): |
| * UIProcess/WebResourceLoadStatisticsStore.h: Added. |
| (WebKit::WebResourceLoadStatisticsStore::coreStore): |
| * UIProcess/WebResourceLoadStatisticsStore.messages.in: Added. |
| * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: |
| (WebKit::WebsiteDataStore::platformInitialize): Register a termination handler |
| to close down the resource load statistics store. |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::WebsiteDataStore): Initialize the new WebResourceLoadStatisticsStore |
| member. |
| (WebKit::WebsiteDataStore::webProcessWillOpenConnection): Register the WebResourceLoadStatisticsStore |
| object as a work queue message receiver |
| (WebKit::WebsiteDataStore::webProcessDidCloseConnection): Unregister WebResourceLoadStatisticsStore. |
| (WebKit::WebsiteDataStore::resourceLoadStatisticsEnabled): Added. |
| (WebKit::WebsiteDataStore::setResourceLoadStatisticsEnabled): Ditto. |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| (WebKit::WebsiteDataStore::resourceLoadStatisticsStore): Added. |
| * WebKit2.xcodeproj/project.pbxproj: Add new ResourceLoadStatisticsState files to build. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): Take into account the new parameter |
| specifying whether resource load statistics are being captured. |
| (WebKit::WebProcess::WebProcess): Initialized statistics changed notification timer. |
| (WebKit::WebProcess::statisticsChangedTimerFired): Added. Send bundles of site load |
| statistics to the UIProcess on a set interval. Clear out local cache after each send. |
| (WebKit::WebProcess::setResourceLoadStatisticsEnabled): Added. |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: Add new SetResourceLoadStatisticsEnabled message. |
| |
| 2016-03-04 Daniel Bates <dabates@apple.com> |
| |
| Temporarily use bundle identifier as part of user directory suffix |
| https://bugs.webkit.org/show_bug.cgi?id=155042 |
| <rdar://problem/24983174> |
| |
| Reviewed by Brent Fulgham and Brady Eidson. |
| |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::ChildProcess::initializeSandbox): |
| |
| 2016-03-04 Alex Christensen <achristensen@webkit.org> |
| |
| Release build fix after r197572. |
| https://bugs.webkit.org/show_bug.cgi?id=154993 |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]): |
| |
| 2016-03-04 Alex Christensen <achristensen@webkit.org> |
| |
| Use NSURLSession for loading in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=154993 |
| |
| Reviewed by Sam Weinig. |
| |
| * config.h: |
| |
| 2016-03-04 Alex Christensen <achristensen@webkit.org> |
| |
| Use NetworkSession for pings |
| https://bugs.webkit.org/show_bug.cgi?id=154984 |
| |
| Reviewed by Antti Koivisto. |
| |
| Before this patch, we were using NSURLConnection for pings when the rest of the loading was being |
| done with NSURLSession. To fix this, I implemented PingLoad, which is the NetworkSession equivalent |
| of PingHandle. |
| |
| This fixes http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https.html |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::loadPing): |
| (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier): |
| * NetworkProcess/PingLoad.h: Added. |
| (WebKit::PingLoad::PingLoad): |
| (WebKit::PingLoad::willPerformHTTPRedirection): |
| (WebKit::PingLoad::didReceiveChallenge): |
| (WebKit::PingLoad::didReceiveResponseNetworkSession): |
| (WebKit::PingLoad::didReceiveData): |
| (WebKit::PingLoad::didCompleteWithError): |
| (WebKit::PingLoad::didBecomeDownload): |
| (WebKit::PingLoad::didSendData): |
| (WebKit::PingLoad::wasBlocked): |
| (WebKit::PingLoad::cannotShowURL): |
| (WebKit::PingLoad::timeoutTimerFired): |
| (WebKit::PingLoad::~PingLoad): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-03-04 Timothy Hatcher <timothy@apple.com> |
| |
| Inform WebKit and WebCore if a page is controlled by automation. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=154991 |
| rdar://problem/24965784 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageGetIsControlledByAutomation): |
| (WKPageSetControlledByAutomation): |
| * UIProcess/API/C/WKPagePrivate.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setControlledByAutomation): |
| (WebKit::WebPageProxy::creationParameters): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::isControlledByAutomation): |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundlePageIsControlledByAutomation): |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_shouldDispatchFakeMouseMoveEvents): |
| (WebKit::WebPage::isControlledByAutomation): |
| (WebKit::WebPage::setControlledByAutomation): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2016-03-03 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r196770): Unable to use HipChat Mac app |
| https://bugs.webkit.org/show_bug.cgi?id=154999 |
| <rdar://problem/24931959> |
| |
| Reviewed by Darin Adler. |
| |
| Have the NetworkProcess and the WebProcess pass the UIProcess bundle |
| identifier to WebCore so that we can do app detection of applications |
| using a WK2 WebView (such as HipChat). |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2016-03-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Use larger tiles when possible to reduce per-tile painting overhead |
| https://bugs.webkit.org/show_bug.cgi?id=154985 |
| rdar://problem/23635219 |
| |
| Reviewed by Tim Horton. |
| |
| Do a bit of #include cleanup. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp: |
| * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: |
| |
| 2016-03-03 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| Use std::make_unique<> when creating std::unique_ptr<> |
| https://bugs.webkit.org/show_bug.cgi?id=154574 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/cache/NetworkCacheStatistics.cpp: |
| (WebKit::NetworkCache::Statistics::open): |
| * NetworkProcess/cache/NetworkCacheStatistics.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::createColorChooser): |
| |
| 2016-03-03 Alex Christensen <achristensen@webkit.org> |
| |
| Move SPI to CFNetworkSPI.h |
| https://bugs.webkit.org/show_bug.cgi?id=154992 |
| |
| Reviewed by Andy Estes. |
| |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::applyBasicAuthorizationHeader): |
| |
| 2016-03-03 Alex Christensen <achristensen@webkit.org> |
| |
| Use CredentialStorage with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154939 |
| |
| Reviewed by Darin Adler. |
| |
| * config.h: |
| Added compile-time flag to help us be able to keep track and remove this code when we can. |
| * NetworkProcess/NetworkDataTask.h: |
| (WebKit::NetworkDataTask::pendingDownloadLocation): |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::clearCachedCredentials): |
| (WebKit::NetworkProcess::ensurePrivateBrowsingSession): |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkSession::sessionID): |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::applyBasicAuthorizationHeader): |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| Use a credential storage and preemptively apply basic authentication headers if we have credentials from the storage. |
| This is analogous to code in ResourceHandle::createNSURLConnection. |
| |
| (WebKit::NetworkDataTask::didReceiveChallenge): |
| Make this look more like ResourceHandle::didReceiveAuthenticationChallenge. |
| The call to tryPasswordBasedAuthentication was moved from the delegate callback to here. |
| |
| (WebKit::NetworkDataTask::willPerformHTTPRedirection): |
| Use credentials from the credential storage if they exist. This is analogous to code in ResourceHandle::willSendRequest. |
| |
| (WebKit::NetworkDataTask::tryPasswordBasedAuthentication): |
| Use credentials from the credential storage if they exist. This is analogous to code in ResourceHandle::tryHandlePasswordBasedAuthentication. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| If we are given a credential with CredentialPersistenceForSession, put it in the credential storage and give |
| CFNetwork a credential with CredentialPersistenceNone so it won't automatically be used again until the credential |
| storage says its ok to use again. This gives us the ability to clear session credentials when logout credentials are used. |
| This is analogous to code in ResourceHandle::receivedCredential. |
| |
| (WebKit::NetworkSession::defaultSession): |
| (WebKit::NetworkSession::NetworkSession): |
| (WebKit::NetworkSession::~NetworkSession): |
| (WebKit::NetworkSession::dataTaskForIdentifier): |
| (WebKit::NetworkSession::clearCredentials): Deleted. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::clearCachedCredentials): |
| (WebKit::WebProcess::focusedWebPage): |
| We no longer need to clear credentials from the NSURLSessions because we don't store session credentials in them. |
| Instead, calling CredentialStorage.clearCredentials is sufficient. |
| |
| 2016-03-03 Andy Estes <aestes@apple.com> |
| |
| Adopt CFNetwork storage partitioning SPI |
| https://bugs.webkit.org/show_bug.cgi?id=154957 |
| rdar://problem/23614620 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::NetworkDataTask): Computed the storage partition identifier for the new session task. |
| If non-empty, set it using a NSURLSessionTask SPI. |
| |
| 2016-03-03 Alex Christensen <achristensen@webkit.org> |
| |
| [WK2] testRunner.setPrivateBrowsingEnabled doesn't work with NetworkProcess |
| https://bugs.webkit.org/show_bug.cgi?id=115274 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::blobSize): |
| (WebKit::NetworkConnectionToWebProcess::ensureLegacyPrivateBrowsingSession): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| * NetworkProcess/NetworkProcess.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::setPrivateBrowsingEnabled): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::destroyPrivateBrowsingSession): |
| (WebKit::WebProcess::ensureLegacyPrivateBrowsingSessionInNetworkProcess): |
| (WebKit::WebProcess::pluginProcessConnectionManager): |
| * WebProcess/WebProcess.h: |
| |
| 2016-03-02 Alex Christensen <achristensen@webkit.org> |
| |
| Properly cancel downloads when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154893 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/Downloads/Download.cpp: |
| (WebKit::Download::Download): |
| * NetworkProcess/Downloads/Download.h: |
| * NetworkProcess/Downloads/cocoa/DownloadCocoa.mm: |
| (WebKit::Download::cancel): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): |
| |
| 2016-03-01 Ada Chan <adachan@apple.com> |
| |
| Update the media element's presentation mode properly after going in and out of full screen via the Full Screen API |
| https://bugs.webkit.org/show_bug.cgi?id=154834 |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::exitFullscreenWithoutAnimationToMode): |
| Call the new exitFullscreenWithoutAnimationToMode() method on WebVideoFullscreenInterfaceMac. |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::exitVideoFullscreenToModeWithoutAnimation): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/cocoa/WebVideoFullscreenManager.h: |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::exitVideoFullscreenToModeWithoutAnimation): |
| |
| 2016-03-02 Beth Dakin <bdakin@apple.com> |
| |
| Crashes in media tests after http://trac.webkit.org/changeset/197461 |
| https://bugs.webkit.org/show_bug.cgi?id=154933 |
| |
| Reviewed by Eric Carlson. |
| |
| Since the controlsManagerInterface is not guaranteed to exist, it doesn't |
| make sense to return a reference. Return a pointer instead. |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::isVisible): |
| (WebKit::WebVideoFullscreenManagerProxy::controlsManagerInterface): |
| (WebKit::WebVideoFullscreenManagerProxy::fullscreenMayReturnToInline): |
| |
| 2016-03-02 Beth Dakin <bdakin@apple.com> |
| |
| Add support for playbackControlsManager |
| https://bugs.webkit.org/show_bug.cgi?id=154742 |
| -and corresponding- |
| rdar://problem/23833753 |
| |
| Reviewed by Jer Noble. |
| |
| WebVideoFullscreenManagerProxy ensures the model and interface for the |
| UIProcess side of the playbackControlsManager. It also caches the |
| m_controlsManagerContextId so that it can return the |
| controlsManagerInterface. |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setUpVideoControlsManagerWithID): |
| (WebKit::WebVideoFullscreenManagerProxy::controlsManagerInterface): |
| |
| Pipe isPlayingMediaDidChange() to WebViewImpl, and use that information to |
| update WebViewImplAdditions. |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::isPlayingMediaDidChange): |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::isPlayingMediaDidChange): |
| (WebKit::WebPageProxy::isPlayingVideoWithAudio): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::isPlayingAudio): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::isPlayingMediaDidChange): |
| |
| Pipe setUpVideoControlsManager to the WebVideoFullscreenManager. |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::setUpVideoControlsManager): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| |
| Ensure the model an interface for the playbackControlsManager on the |
| WebProcess side and pass the message to the UIProcess to do the same. |
| * WebProcess/cocoa/WebVideoFullscreenManager.h: |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::setUpVideoControlsManager): |
| |
| 2016-03-02 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r197409): [GTK] Web process always crashes on WebPage construction after r197409 |
| https://bugs.webkit.org/show_bug.cgi?id=154918 |
| |
| Reviewed by Žan Doberšek. |
| |
| We have an incorrect check in DrawingAreaImpl constructor that has |
| never actually worked because it uses the page settings before |
| they were initialized. But that has been fixed in r197409 and now |
| we are always forcing accelerated compositing mode incorrectly, |
| because m_alwaysUseCompositing is set in the constructor and never |
| changed again. |
| |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| (WebKit::DrawingAreaImpl::DrawingAreaImpl): Remove code to set |
| settings and m_alwaysUseCompositing, since that should be done in |
| updatePreferences(). |
| (WebKit::DrawingAreaImpl::updatePreferences): Update the settings |
| accordingly and always update m_alwaysUseCompositing when AC is |
| enabled and forced in the settings. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): WebPage::updatePreferences() calls |
| DrawingArea::updatePreferences(), but since r197409 it happens |
| before the drawing area has been created. So, call |
| DrawingArea::updatePreferences() in the constructor right after |
| the main frame has been created, since |
| DrawingArea::updatePreferences() uses the main frame. |
| |
| 2016-02-29 Ada Chan <adachan@apple.com> |
| |
| Adopt the new version of AVOutputDeviceMenuController's showMenuForRect method. |
| https://bugs.webkit.org/show_bug.cgi?id=154823 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::showPlaybackTargetPicker): |
| (WebKit::WebPageProxy::customPlaybackActionSelected): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::showPlaybackTargetPicker): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::customPlaybackActionSelected): |
| |
| 2016-02-29 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2] Stub support for WebsiteDataTypeResourceLoadStatistics |
| https://bugs.webkit.org/show_bug.cgi?id=154689 |
| <rdar://problem/24702576> |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebsiteData/WebsiteDataType.h: Add new WebsiteDataTypeResourceLoadStatistics. |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm: |
| (dataTypesToString): Handle new type. |
| * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h: |
| (WebKit::toWebsiteDataTypes): Ditto. |
| (WebKit::toWKWebsiteDataTypes): Ditto. |
| * UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h: Add new _WebsiteDataTypeResourceLoadStatistics. |
| |
| 2016-03-01 Alex Christensen <achristensen@webkit.org> |
| |
| Correctly keep track of NetworkDataTasks with and without credentials when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154876 |
| |
| Reviewed by Brady Eidson. |
| |
| I was seeing an assertion failure from ASSERT(!m_session.m_dataTaskMap.contains(taskIdentifier())) |
| in the NetworkDataTask constructor sometimes. This is because a task identifier is not enough information |
| to uniquely find a NetworkDataTask in a NetworkSession since r196034 because there are two NSURLSessions |
| in a NetworkSession, one with credentials and one without. The assertion would fire in a case like if we |
| made the first NetworkDataTask with credentials (taskIdentifier is 1) and the first NetworkDataTask |
| without credentials before the first NetworkDataTask with credentials was finished. In that case, the |
| taskIdentifier would also be 1, which would conflict with the other taskIdentifier. That taskIdentifier |
| would uniquely identify the task in the correct NSURLSession, though, so the solution is to keep a map |
| for each NSURLSession in the NetworkSession. |
| |
| * NetworkProcess/NetworkDataTask.h: |
| * NetworkProcess/NetworkSession.h: |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| (WebKit::NetworkDataTask::~NetworkDataTask): |
| (WebKit::NetworkDataTask::suspend): |
| (WebKit::serverTrustCredential): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]): |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]): |
| (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): |
| (WebKit::NetworkSession::clearCredentials): |
| (WebKit::NetworkSession::dataTaskForIdentifier): |
| (WebKit::NetworkSession::addDownloadID): |
| |
| 2016-03-01 Andreas Kling <akling@apple.com> |
| |
| REGRESSION (r154616): Accelerated drawing is off during the initial load |
| <https://webkit.org/b/123812> |
| |
| Reviewed by Tim Horton. |
| |
| Load preferences before instantiating the first DrawingArea. This ensures that we do the |
| initial paint using accelerated drawing, and avoids allocating persistent data structures |
| only needed by the software rendering path. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| |
| 2016-03-01 Alex Christensen <achristensen@webkit.org> |
| |
| Fix tests when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154866 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::globalCustomProtocolManager): |
| (WebKit::NetworkSession::setCustomProtocolManager): |
| |
| Use a static NeverDestroyed instead of a local NeverDestroyed. |
| This fix was suggested by Darin after I broke the custom protocol tests in r197362. |
| |
| (WebKit::NetworkSession::clearCredentials): |
| |
| In r197223 I added code that I thought cleared the credentials of a session, but it was |
| actually trying (and failing) to remove the credentials from the NSURLCredentialStorage that |
| were stored with NSURLCredentialPersistencePermanent. |
| This was causing credentials stored in an NSURLSession with NSURLCredentialPersistenceForSession |
| to remain for the next tests, and was causing credentials from previous tests, usually from |
| http/tests/loading/basic-credentials-sent-automatically.html, to be used in future tests. |
| Creating a new NSURLSession is the equivalent of CredentialStorage::clearCredentials because it |
| removes all credentials stored with NSURLCredentialPersistenceForSession. |
| |
| 2016-03-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| NetworkCache: Web process leaks resource buffer when using shareable reasources |
| https://bugs.webkit.org/show_bug.cgi?id=154852 |
| |
| Reviewed by Darin Adler. |
| |
| ResourceLoader::didReceiveBuffer() expects a PassRefPtr, but we |
| are passing a raw pointer making PassRefPtr to take another |
| reference instead of transfering the ownership as expected. |
| |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::didReceiveResource): |
| |
| 2016-02-29 Zan Dobersek <zdobersek@igalia.com> |
| |
| ThreadedCompositor: clean up composition-specific resources before shutting down the thread |
| https://bugs.webkit.org/show_bug.cgi?id=154793 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::runCompositingThread): Before concluding the |
| compositing thread run, clean up all the resources that were allocated at |
| the start, and in the reverse order. Specifically, we now also deallocate |
| the CoordinatedGraphicsScene and the SimpleViewportController objects. This |
| way these are not deallocated on the main thread when the ThreadedCompositor |
| destructor would otherwise clean them up. |
| |
| 2016-02-29 Zan Dobersek <zdobersek@igalia.com> |
| |
| ThreadSafeCoordinatedSurface: remove the unused private create() static method |
| https://bugs.webkit.org/show_bug.cgi?id=154792 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Remove the static ThreadSafeCoordinatedSurface::create() method that accepted |
| a std::unique_ptr<ImageBuffer> object as its third parameter. This was not used |
| anywhere. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: |
| (WebKit::ThreadSafeCoordinatedSurface::create): Deleted. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h: |
| |
| 2016-02-29 Simon Fraser <simon.fraser@apple.com> |
| |
| Remove the experimental feature of antialiased font dilation |
| https://bugs.webkit.org/show_bug.cgi?id=154843 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Remove the "antialiased font dilation" code path, and related prefs. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetAntialiasedFontDilationEnabled): |
| (WKPreferencesGetAntialiasedFontDilationEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _antialiasedFontDilationEnabled]): Deleted. |
| (-[WKPreferences _setAntialiasedFontDilationEnabled:]): Deleted. |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): Deleted. |
| |
| 2016-02-29 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: WebKit 2 IPC layer easily confused about multiple web processes being connected. |
| https://bugs.webkit.org/show_bug.cgi?id=154837 |
| |
| Reviewed by Alex Christensen. |
| |
| The crux of the bug is that WebProcesses cannot assign themselves server-unique identifiers... |
| The server must do that for them. |
| |
| A once-per-session-per-WebProcess sync message and a few updates to connection management fix this. |
| |
| * DatabaseProcess/DatabaseToWebProcessConnection.cpp: |
| (WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage): |
| (WebKit::generateConnectionToServerIdentifier): |
| (WebKit::DatabaseToWebProcessConnection::establishIDBConnectionToServer): |
| * DatabaseProcess/DatabaseToWebProcessConnection.h: |
| * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| (WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer): |
| (WebKit::generateConnectionToServerIdentifier): Deleted. |
| |
| * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: |
| (WebKit::WebToDatabaseProcessConnection::didReceiveMessage): |
| (WebKit::WebToDatabaseProcessConnection::idbConnectionToServerForSession): |
| * WebProcess/Databases/WebToDatabaseProcessConnection.h: |
| |
| 2016-02-29 Alex Christensen <achristensen@webkit.org> |
| |
| Don't call NetworkProcess::singleton from WebProcess when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154829 |
| |
| Reviewed by Anders Carlsson. |
| |
| We were calling NetworkProcess::singleton when making the default session in the |
| WebProcess, which caused bad things to happen. We also were never clearing the |
| credentials in the WebProcess between tests because it used to always call |
| NetworkProcess::singleton, which caused flaky tests. |
| |
| This fixes repeatable crashes in http/tests/media/media-document-referer.html and |
| http/tests/media/media-document.html when using NetworkSession. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::NetworkProcess): |
| (WebKit::NetworkProcess::~NetworkProcess): |
| * NetworkProcess/NetworkSession.h: |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::configurationForType): |
| (WebKit::globalCustomProtocolManager): |
| (WebKit::NetworkSession::setCustomProtocolManager): |
| (WebKit::NetworkSession::defaultSession): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::clearCachedCredentials): |
| |
| 2016-02-29 Gavin Barraclough <barraclough@apple.com> |
| |
| RefCounter<T>::Event -> RefCounterEvent |
| https://bugs.webkit.org/show_bug.cgi?id=154767 |
| |
| Reviewed by Darin Adler. |
| |
| RefCounter<T>::Event is kinda verbose to use, and there is no need for this |
| to be specific to a particular typeof RefCounter. Move the enum class up to |
| the top level & rename to RefCounterEvent. |
| |
| Also remove UserObservablePageToken - this is vestigial & not really offering |
| anything over just using UserObservablePageCounter::Token directly. |
| |
| * UIProcess/Plugins/PluginProcessManager.cpp: |
| (WebKit::PluginProcessManager::PluginProcessManager): |
| * UIProcess/Plugins/PluginProcessManager.h: |
| * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: |
| (WebKit::PluginProcessManager::updateProcessSuppressionDisabled): |
| * UIProcess/ProcessThrottler.cpp: |
| (WebKit::ProcessThrottler::ProcessThrottler): |
| (WebKit::m_backgroundCounter): |
| (WebKit::m_suspendMessageCount): |
| * UIProcess/ProcessThrottler.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::WebProcessPool): |
| (WebKit::m_processSuppressionDisabledForPageCounter): |
| (WebKit::m_hiddenPageThrottlingAutoIncreasesCounter): |
| * UIProcess/WebProcessPool.h: |
| |
| 2016-02-29 Konstantin Tokarev <annulen@yandex.ru> |
| |
| Fixed compilation with !ENABLE(DATABASE_PROCESS). |
| https://bugs.webkit.org/show_bug.cgi?id=154813 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::terminateDatabaseProcess): Added missing #if |
| guard. |
| |
| 2016-02-29 Adrien Plazas <aplazas@igalia.com> |
| |
| [GTK] Touch slider test fails due to assertion in webkitWebViewBaseTouchEvent() |
| https://bugs.webkit.org/show_bug.cgi?id=153829 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Once a touch event sequence is identified as a gesture, remove it |
| from the list of handled touch events. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseTouchEvent): |
| |
| 2016-02-29 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [Mac][cmake] Unreviewed buildfix after r197177. Just for fun. |
| |
| * PlatformMac.cmake: |
| |
| 2016-02-28 Sam Weinig <sam@webkit.org> |
| |
| Reimplement WKPageGroup in terms of WKUserContentController |
| https://bugs.webkit.org/show_bug.cgi?id=154804 |
| |
| Reviewed by Dan Bernstein. |
| |
| Instead of having both WebPageGroup and WebUserContentControllerProxy both keep track |
| of user scripts and user stylesheets, give WebPageGroup a WebUserContentControllerProxy |
| and let it take care of things. This allows us to remove a ton of duplicate code, and |
| provides a convenient way for clients currently using PageGroup based user content insertion |
| to start using UserContentController, since they can now be used at the same time. |
| |
| When using WKPageConfigurationRef, the rule is: |
| - If you don't set a WKUserContentControllerRef, the one from the WKPageGroupRef will be used. |
| - If you do set a WKUserContentControllerRef, it will be used, and the one from the WKPageGroupRef |
| will do nothing for that web view. |
| |
| * DerivedSources.make: |
| Remove WebPageGroupProxy. It no longer is a MessageReceiver. |
| |
| * Shared/WebPageGroupData.cpp: |
| (WebKit::WebPageGroupData::encode): |
| (WebKit::WebPageGroupData::decode): |
| * Shared/WebPageGroupData.h: |
| Stop encoding/decoding user content, instead just encode the identifier to the UserContentController. |
| |
| * UIProcess/API/C/WKPageGroup.cpp: |
| (WKPageGroupGetUserContentController): |
| * UIProcess/API/C/WKPageGroup.h: |
| Add getter for the underlying WKUserContentControllerRef. |
| |
| * UIProcess/API/cpp/WKRetainPtr.h: |
| (WebKit::retainWK): |
| Add retainWK() helper to match RetainPtr's retainPtr() helper. |
| |
| * UIProcess/WebPageGroup.cpp: |
| (WebKit::WebPageGroup::WebPageGroup): |
| (WebKit::WebPageGroup::userContentController): |
| (WebKit::WebPageGroup::addUserStyleSheet): |
| (WebKit::WebPageGroup::addUserScript): |
| (WebKit::WebPageGroup::removeAllUserStyleSheets): |
| (WebKit::WebPageGroup::removeAllUserScripts): |
| (WebKit::WebPageGroup::removeAllUserContent): |
| (WebKit::WebPageGroup::addUserContentExtension): |
| (WebKit::WebPageGroup::removeUserContentExtension): |
| (WebKit::WebPageGroup::removeAllUserContentExtensions): |
| * UIProcess/WebPageGroup.h: |
| Pass through to the WebUserContentControllerProxy. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::finishInitializingWebPageAfterProcessLaunch): |
| (WebKit::WebPageProxy::creationParameters): |
| * UIProcess/WebPageProxy.h: |
| WebPageProxies always have a WebUserContentControllerProxy now, so it can go in a Ref and |
| a few branches can be removed. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createWebPage): |
| If a UserContentController is not passed in, use the one from the PageGroup. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Remove files. |
| |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| Add some #includes that are now needed. |
| |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::getOrCreate): |
| * WebProcess/UserContent/WebUserContentController.h: |
| Modernize WebUserContentController::getOrCreate to return a Ref. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| (WebKit::m_shouldDispatchFakeMouseMoveEvents): |
| (WebKit::WebPage::addUserScript): |
| (WebKit::WebPage::addUserStyleSheet): |
| (WebKit::WebPage::removeAllUserContent): |
| * WebProcess/WebPage/WebPage.h: |
| Store the WebUserContentController in Ref, remove unnecessary branches/asserts. |
| |
| * WebProcess/WebPage/WebPageGroupProxy.cpp: |
| (WebKit::WebPageGroupProxy::WebPageGroupProxy): |
| (WebKit::WebPageGroupProxy::~WebPageGroupProxy): |
| (WebKit::WebPageGroupProxy::userContentController): |
| (WebKit::WebPageGroupProxy::addUserStyleSheet): Deleted. |
| (WebKit::WebPageGroupProxy::addUserScript): Deleted. |
| (WebKit::WebPageGroupProxy::removeAllUserStyleSheets): Deleted. |
| (WebKit::WebPageGroupProxy::removeAllUserScripts): Deleted. |
| (WebKit::WebPageGroupProxy::removeAllUserContent): Deleted. |
| (WebKit::WebPageGroupProxy::addUserContentExtension): Deleted. |
| (WebKit::WebPageGroupProxy::removeUserContentExtension): Deleted. |
| (WebKit::WebPageGroupProxy::removeAllUserContentExtensions): Deleted. |
| * WebProcess/WebPage/WebPageGroupProxy.h: |
| Store a WebUserContentController in a Ref, remove now unnecessary message handling functions. |
| |
| * WebProcess/WebPage/WebPageGroupProxy.messages.in: |
| Removed. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::didReceiveMessage): |
| Remove routing to WebPageGroupProxy, which is no longer a MessageReceiver. |
| |
| 2016-02-28 Sam Weinig <sam@webkit.org> |
| |
| Bind _WKUserStyleSheets to _WKUserContentWorlds to allow for grouping of user content by associating to a world |
| https://bugs.webkit.org/show_bug.cgi?id=154798 |
| |
| Reviewed by Dan Bernstein. |
| |
| Treat _WKUserStyleSheets like WKUserScripts and allow them to be bound to a _WKUserContentWorld. |
| The immediate benefit of this is allowing a client to bind a set of user content (scripts and stylesheets |
| for now) to a world and have them easily remove all user content associated with that world easily. |
| |
| * Shared/API/APIArray.h: |
| Add helpers removeAllMatching and removeAllOfTypeMatching. |
| |
| * UIProcess/API/APIUserStyleSheet.h: |
| Add API::UserContentWorld member. |
| |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController _removeAllUserScriptsAssociatedWithUserContentWorld:]): |
| (-[WKUserContentController _removeAllUserStyleSheetsAssociatedWithUserContentWorld:]): |
| * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: |
| Add _removeAllUserScriptsAssociatedWithUserContentWorld and _removeAllUserStyleSheetsAssociatedWithUserContentWorld. |
| |
| * UIProcess/API/Cocoa/WKUserScript.mm: |
| (-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]): |
| (toStringVector): Deleted. |
| * UIProcess/API/Cocoa/_WKUserContentWorldInternal.h: |
| (API::toStringVector): |
| Move toStringVector to a location where it can be shared. |
| |
| * UIProcess/API/Cocoa/_WKUserStyleSheet.h: |
| * UIProcess/API/Cocoa/_WKUserStyleSheet.mm: |
| (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]): |
| Add new initializer which has a world to be bound to. While here, match WKUserScript and add support for the |
| legacy whitelist and blacklists. |
| |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::removeProcess): |
| (WebKit::WebUserContentControllerProxy::addUserContentWorldUse): |
| (WebKit::WebUserContentControllerProxy::shouldSendRemoveUserContentWorldsMessage): |
| (WebKit::WebUserContentControllerProxy::removeUserContentWorldUses): |
| (WebKit::WebUserContentControllerProxy::addUserScript): |
| (WebKit::WebUserContentControllerProxy::removeUserScript): |
| (WebKit::WebUserContentControllerProxy::removeAllUserScripts): |
| (WebKit::WebUserContentControllerProxy::addUserStyleSheet): |
| (WebKit::WebUserContentControllerProxy::removeUserStyleSheet): |
| (WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets): |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| Refactor to share the code which decides whether to send AddUserContentWorlds/RemoveUserContentWorlds |
| messages. |
| |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::addUserContentWorlds): |
| (WebKit::WebUserContentController::removeUserContentWorlds): |
| (WebKit::WebUserContentController::addUserScripts): |
| (WebKit::WebUserContentController::removeUserScript): |
| (WebKit::WebUserContentController::removeAllUserScripts): |
| (WebKit::WebUserContentController::addUserStyleSheets): |
| (WebKit::WebUserContentController::removeUserStyleSheet): |
| (WebKit::WebUserContentController::removeAllUserStyleSheets): |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/UserContent/WebUserContentController.messages.in: |
| Add support for binding stylesheets to worlds and allow removing all the scripts/stylesheets from a |
| set of worlds at once by passing Vectors of world identifiers in the remove messages. |
| |
| 2016-02-27 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r197204, r197207, r197211, r197217, |
| r197218, and r197219. |
| https://bugs.webkit.org/show_bug.cgi?id=154780 |
| |
| Caused crashes in WebVideoFullscreenManagerProxy (Requested by |
| ap on #webkit). |
| |
| Reverted changesets: |
| |
| "Add support for playbackControlsManager" |
| https://bugs.webkit.org/show_bug.cgi?id=154742 |
| http://trac.webkit.org/changeset/197204 |
| |
| "Attempted build fix." |
| http://trac.webkit.org/changeset/197207 |
| |
| "Attempted build fix." |
| http://trac.webkit.org/changeset/197211 |
| |
| "Attempted 32-bit build fix." |
| http://trac.webkit.org/changeset/197217 |
| |
| "Another 32-bit build fix." |
| http://trac.webkit.org/changeset/197218 |
| |
| "32-bit!!!" |
| http://trac.webkit.org/changeset/197219 |
| |
| 2016-02-26 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GTK+ clean build. |
| |
| Add missing header include. |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| |
| 2016-02-26 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Network cache: old pages returned by disk cache on history navigation after session is restored |
| https://bugs.webkit.org/show_bug.cgi?id=153230 |
| |
| Reviewed by Chris Dumez. |
| |
| Since r181734, the network cache never revalidates resources for |
| history navigation. This is good for the memory cache, but in the |
| case of disk cache, we might end up with outdated pages when |
| restoring the session. When restoring the session happens because |
| of an API request (we also restore the session when recovering |
| from a web process crash), we should revalidate back forward list |
| requests in the disk cache if needed. This will only happen the |
| first time they are loaded after a session restore. After a web process |
| crash, resources will be used uncondionally from the disk cache. |
| |
| * WebProcess/WebPage/WebBackForwardListProxy.cpp: |
| (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Use Ref&& |
| instead of PassRefPtr. |
| * WebProcess/WebPage/WebBackForwardListProxy.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WePage::WebPage): Call restoreSessionInternal passing |
| No as restoredByAPIRequest parameter. |
| (WebKit::WebPage::restoreSessionInternal): Set restoredFromSession |
| flag to the created HistoryItem if the item was restored from |
| session by an API request. |
| (WebKit::WebPage::restoreSession): Call restoreSessionInternal |
| passing Yes as restoredByAPIRequest parameter. |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2016-02-26 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Fix a typo. |
| |
| Unreviewed. Shame I didn't notice in the previous commit. |
| |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::removeUserContentWorld): |
| |
| 2016-02-26 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Fix GTK and maybe EFL build after r197172. |
| |
| Unreviewed. |
| |
| * CMakeLists.txt: |
| * UIProcess/API/gtk/WebKitUserContent.cpp: |
| (_WebKitUserScript::_WebKitUserScript): |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::removeUserContentWorld): |
| (WebKit::WebUserContentController::addUserScripts): |
| (WebKit::WebUserContentController::removeUserScript): |
| (WebKit::WebUserContentController::removeAllUserScripts): |
| |
| 2016-02-26 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Fix order of parameters in gtkdoc for webkit_web_view_get_snapshot |
| |
| Unreviewed. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| |
| 2016-02-26 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: New database versions are never committed to SQLite. |
| <rdar://problem/24860952> and https://bugs.webkit.org/show_bug.cgi?id=154741 |
| |
| Modern IDB: If a database handle is not open, files are not actually deleted from disk |
| https://bugs.webkit.org/show_bug.cgi?id=154756 |
| |
| Reviewed by Alex Christensen. |
| |
| Add WK2 SPI to force termination of the database process. |
| |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _terminateDatabaseProcess]): |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::terminateDatabaseProcess): |
| * UIProcess/WebProcessPool.h: |
| |
| 2016-02-26 Alex Christensen <achristensen@webkit.org> |
| |
| Clear credentials and prevent unauthorized credential storage when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154755 |
| |
| Reviewed by Brady Eidson. |
| |
| Credentials from previous tests were being used sometimes, notably in |
| http/tests/misc/401-alternative-content.php when running multiple credential-based |
| tests with the same WebKitTestRunner. |
| |
| * NetworkProcess/NetworkDataTask.h: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::clearCachedCredentials): |
| (WebKit::NetworkProcess::ensurePrivateBrowsingSession): |
| * NetworkProcess/NetworkSession.h: |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| (WebKit::NetworkDataTask::tryPasswordBasedAuthentication): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSession::~NetworkSession): |
| (WebKit::NetworkSession::clearCredentials): |
| (WebKit::NetworkSession::dataTaskForIdentifier): |
| |
| 2016-02-26 Gavin Barraclough <barraclough@apple.com> |
| |
| Page TimerAlignmentIntervalIncrease mechanism should have upper limit |
| https://bugs.webkit.org/show_bug.cgi?id=154744 |
| |
| Reviewed by Geoff Garen. |
| |
| There would be diminishing returns from throttling timers in background pages infinitely. |
| Add a heuristic to limit appropriately. |
| |
| The flow of data here is WebPageProxy informs WebProcessPool of the number of pages |
| participating in this mechanism, WebProcessPool computes an apropriate limit and pushes |
| this out to the WebProcesses, which in turn update each of their pages. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| - Call updateHidenPageThrottingAutoIncreases on creation. |
| (WebKit::WebPageProxy::updateHidenPageThrottingAutoIncreases): |
| - If increasing timer throttling is enabled increment the counter on WebProcessPool. |
| (WebKit::WebPageProxy::preferencesDidChange): |
| - Call updateHidenPageThrottingAutoIncreases on preferences change. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::WebProcessPool): |
| - initialize new RefCounter. |
| (WebKit::WebProcessPool::updateHidenPageThrottingAutoIncreaseLimit): |
| - When count of participating pages changes, update the limit. |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::setHiddenPageTimerThrottlingIncreaseLimit): |
| - Propagate limit to WebCore::Page. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::setHiddenPageTimerThrottlingIncreaseLimit): |
| - Propagate limit to WebPages. |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| - Added new message. |
| |
| 2016-02-26 Beth Dakin <bdakin@apple.com> |
| |
| Attempted build fix. |
| |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setUpVideoControlsManagerWithID): |
| (WebKit::WebVideoFullscreenManagerProxy::resetMediaState): |
| |
| 2016-02-26 Anders Carlsson <andersca@apple.com> |
| |
| Fix Yosemite build. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataSize.mm: |
| (-[_WKWebsiteDataSize sizeOfDataTypes:]): |
| |
| 2016-02-26 Beth Dakin <bdakin@apple.com> |
| |
| Add support for playbackControlsManager |
| https://bugs.webkit.org/show_bug.cgi?id=154742 |
| -and corresponding- |
| rdar://problem/23833753 |
| |
| Reviewed by Jer Noble. |
| |
| WebVideoFullscreenManagerProxy ensures the model and interface for the |
| UIProcess side of the playbackControlsManager. It also caches the |
| m_controlsManagerContextId so that it can return the |
| controlsManagerInterface. |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setUpVideoControlsManagerWithID): |
| (WebKit::WebVideoFullscreenManagerProxy::controlsManagerInterface): |
| |
| Pipe isPlayingMediaDidChange() to WebViewImpl, and use that information to |
| update WebViewImplAdditions. |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::isPlayingMediaDidChange): |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::isPlayingMediaDidChange): |
| (WebKit::WebPageProxy::isPlayingVideoWithAudio): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::isPlayingAudio): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::isPlayingMediaDidChange): |
| |
| Pipe setUpVideoControlsManager to the WebVideoFullscreenManager. |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::setUpVideoControlsManager): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| |
| Ensure the model an interface for the playbackControlsManager on the |
| WebProcess side and pass the message to the UIProcess to do the same. |
| * WebProcess/cocoa/WebVideoFullscreenManager.h: |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::setUpVideoControlsManager): |
| |
| 2016-02-26 Anders Carlsson <andersca@apple.com> |
| |
| WKWebsiteDataStore/WKWebsiteDataRecord needs to provide size information about each type of data |
| https://bugs.webkit.org/show_bug.cgi?id=154750 |
| |
| Reviewed by Tim Horton. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::fetchWebsiteData): |
| WebsiteData::Entry now takes a size. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::fetchDiskCacheEntries): |
| If necessary, compute sizes. |
| |
| (WebKit::NetworkProcess::fetchWebsiteData): |
| Just pass 0 for the CF cache for now. |
| |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| FetchWebsiteData now takes a OptionSet<WebsiteDataFetchOption>. |
| |
| * Shared/WebsiteData/WebsiteData.cpp: |
| (WebKit::WebsiteData::Entry::encode): |
| (WebKit::WebsiteData::Entry::decode): |
| Encode and decode the size. |
| |
| * Shared/WebsiteData/WebsiteData.h: |
| Add size. |
| |
| * Shared/WebsiteData/WebsiteDataFetchOption.h: |
| Add new enum. |
| |
| * UIProcess/API/C/WKApplicationCacheManager.cpp: |
| (WKApplicationCacheManagerGetApplicationCacheOrigins): |
| Pass an empty OptionSet<WebsiteDataFetchOption>. |
| |
| * UIProcess/API/C/WKResourceCacheManager.cpp: |
| (WKResourceCacheManagerGetCacheOrigins): |
| Pass an empty OptionSet<WebsiteDataFetchOption>. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm: |
| (-[WKWebsiteDataRecord description]): |
| If we have a size, print it out as well. |
| |
| (-[WKWebsiteDataRecord _dataSize]): |
| Return a size if we have one. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): |
| Call through to the SPI. |
| |
| (-[WKWebsiteDataStore _fetchDataRecordsOfTypes:withOptions:completionHandler:]): |
| Compute the right options. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStoreInternal.h: |
| Import WKWebsiteDataStorePrivate.h. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| Add SPI. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataSize.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataSize.mm: |
| (-[_WKWebsiteDataSize initWithSize:]): |
| (-[_WKWebsiteDataSize totalSize]): |
| (-[_WKWebsiteDataSize sizeOfDataTypes:]): |
| Add _WKWebsiteDataSize header. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataSizeInternal.h: Add IPI header. |
| |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::fetchWebsiteData): |
| This now takes a OptionSet<WebsiteDataFetchOption>. |
| |
| * UIProcess/Network/NetworkProcessProxy.h: |
| Update members. |
| |
| * UIProcess/WebsiteData/WebsiteDataRecord.h: |
| Add a hash map from types to sizes. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): |
| This now takes a OptionSet<WebsiteDataFetchOption>. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| Update member functions. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::fetchWebsiteData): |
| This now takes a OptionSet<WebsiteDataFetchOption>. |
| |
| 2016-02-26 Anders Carlsson <andersca@apple.com> |
| |
| Add a toWebsiteDataType and reimplement toWebsiteDataTypes using it |
| https://bugs.webkit.org/show_bug.cgi?id=154746 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h: |
| (WebKit::toWebsiteDataType): |
| (WebKit::toWebsiteDataTypes): |
| (WebKit::toWKWebsiteDataTypes): |
| |
| 2016-02-26 Anders Carlsson <andersca@apple.com> |
| |
| Add WTF::OptionSet and use it for the website data types enum |
| https://bugs.webkit.org/show_bug.cgi?id=154733 |
| |
| Reviewed by Geoffrey Garen. |
| |
| This is a pretty mechanical change: |
| |
| Convert all uses of the WebsiteDataTypes enum to WTF::OptionSet. Rename the WebsiteDataTypes enum to |
| WebsiteDataType (since it only represents a single data type), and rename headers. Encode and decode WTF::OptionSet properly. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::fetchWebsiteData): |
| (WebKit::DatabaseProcess::deleteWebsiteData): |
| (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins): |
| * DatabaseProcess/DatabaseProcess.h: |
| * DatabaseProcess/DatabaseProcess.messages.in: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::fetchDiskCacheEntries): |
| (WebKit::NetworkProcess::fetchWebsiteData): |
| (WebKit::NetworkProcess::deleteWebsiteData): |
| (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * Platform/IPC/ArgumentCoders.h: |
| (IPC::ArgumentCoder<OptionSet<T>>::encode): |
| (IPC::ArgumentCoder<OptionSet<T>>::decode): |
| * Scripts/webkit/messages.py: |
| (class_template_headers): |
| * Shared/WebsiteData/WebsiteData.h: |
| * Shared/WebsiteData/WebsiteDataType.h: Renamed from Source/WebKit2/Shared/WebsiteData/WebsiteDataTypes.h. |
| * UIProcess/API/C/WKApplicationCacheManager.cpp: |
| (WKApplicationCacheManagerGetApplicationCacheOrigins): |
| (WKApplicationCacheManagerDeleteEntriesForOrigin): |
| (WKApplicationCacheManagerDeleteAllEntries): |
| * UIProcess/API/C/WKResourceCacheManager.cpp: |
| (toWebsiteDataTypes): |
| (WKResourceCacheManagerClearCacheForOrigin): |
| * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h: |
| (WebKit::toWebsiteDataTypes): |
| (WebKit::toWKWebsiteDataTypes): |
| * UIProcess/Databases/DatabaseProcessProxy.cpp: |
| (WebKit::DatabaseProcessProxy::fetchWebsiteData): |
| (WebKit::DatabaseProcessProxy::deleteWebsiteData): |
| (WebKit::DatabaseProcessProxy::deleteWebsiteDataForOrigins): |
| * UIProcess/Databases/DatabaseProcessProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::fetchWebsiteData): |
| (WebKit::NetworkProcessProxy::deleteWebsiteData): |
| (WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::fetchWebsiteData): |
| (WebKit::WebProcessProxy::deleteWebsiteData): |
| (WebKit::WebProcessProxy::deleteWebsiteDataForOrigins): |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebsiteData/WebsiteDataRecord.cpp: |
| (WebKit::WebsiteDataRecord::add): |
| (WebKit::WebsiteDataRecord::addCookieHostName): |
| (WebKit::WebsiteDataRecord::addPluginDataHostName): |
| * UIProcess/WebsiteData/WebsiteDataRecord.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::computeNetworkProcessAccessTypeForDataFetch): |
| (WebKit::computeWebProcessAccessTypeForDataFetch): |
| (WebKit::WebsiteDataStore::fetchData): |
| (WebKit::computeNetworkProcessAccessTypeForDataRemoval): |
| (WebKit::computeWebProcessAccessTypeForDataRemoval): |
| (WebKit::WebsiteDataStore::removeData): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::fetchWebsiteData): |
| (WebKit::WebProcess::deleteWebsiteData): |
| (WebKit::WebProcess::deleteWebsiteDataForOrigins): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2016-02-26 Sam Weinig <sam@webkit.org> |
| |
| Try to fix the Yosemite build again. |
| |
| * UIProcess/API/Cocoa/WKUserScript.mm: |
| (toStringVector): |
| (-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]): |
| |
| 2016-02-26 Sam Weinig <sam@webkit.org> |
| |
| Try to fix the Yosemite build. |
| |
| * UIProcess/API/Cocoa/WKUserScriptPrivate.h: |
| |
| 2016-02-25 Anders Carlsson <andersca@apple.com> |
| |
| Cache::traverse should pass the record info to its traversal handler |
| https://bugs.webkit.org/show_bug.cgi?id=154695 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::fetchDiskCacheEntries): |
| (WebKit::clearDiskCacheEntries): |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::traverse): |
| * NetworkProcess/cache/NetworkCache.h: |
| |
| 2016-02-25 Gavin Barraclough <barraclough@apple.com> |
| |
| RefCounter value changed callback should be called on all changes (not just zero edge). |
| https://bugs.webkit.org/show_bug.cgi?id=154699 |
| |
| Reviewed by Anders Carlsson. |
| |
| RefCounter currently only triggers a callback when the count goes from zero |
| to non-zero and vice-versa. Change that, to be useful to more clients. |
| |
| * UIProcess/Plugins/PluginProcessManager.cpp: |
| (WebKit::PluginProcessManager::PluginProcessManager): |
| - Updated for change in RefCounter callback siganture. |
| * UIProcess/Plugins/PluginProcessManager.h: |
| - Updated for change in RefCounter callback siganture. |
| * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: |
| (WebKit::PluginProcessManager::updateProcessSuppressionDisabled): |
| - updated logic for enabling process supression. |
| * UIProcess/ProcessThrottler.cpp: |
| (WebKit::ProcessThrottler::ProcessThrottler): |
| - Updated for change in RefCounter callback siganture. |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::WebProcessPool): |
| - Updated for change in RefCounter callback siganture. |
| |
| 2016-02-26 Andreas Kling <akling@apple.com> |
| |
| Remove unused CFNetwork disk cache mmap optimization in WebKit2. |
| <https://webkit.org/b/154727> |
| |
| Reviewed by Darin Adler. |
| |
| Nuke all the code related to the mmap optimization we had for CFNetwork's disk cache. |
| This code has not been used since we moved to the WebKit2 network cache. |
| |
| * NetworkProcess/Downloads/PendingDownload.h: |
| * NetworkProcess/NetworkLoadClient.h: |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::sendBufferMaybeAborting): Deleted. |
| * NetworkProcess/NetworkResourceLoader.h: |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformLowMemoryHandler): Deleted. |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): Deleted. |
| * NetworkProcess/mac/NetworkDiskCacheMonitor.h: Removed. |
| * NetworkProcess/mac/NetworkDiskCacheMonitor.mm: Removed. |
| * NetworkProcess/mac/NetworkLoadMac.mm: |
| (WebKit::NetworkLoad::willCacheResponseAsync): Deleted. |
| * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-02-26 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r197168. |
| https://bugs.webkit.org/show_bug.cgi?id=154728 |
| |
| crashing on some devices (Requested by kling on #webkit). |
| |
| Reverted changeset: |
| |
| "[Darwin] Use vm_kernel_page_size for WTF::pageSize()." |
| https://bugs.webkit.org/show_bug.cgi?id=154726 |
| http://trac.webkit.org/changeset/197168 |
| |
| 2016-02-25 Sam Weinig <sam@webkit.org> |
| |
| Allow WKUserScripts to be run in isolated worlds |
| https://bugs.webkit.org/show_bug.cgi?id=154701 |
| |
| Reviewed by Anders Carlsson. |
| |
| Adds support for using isolated worlds, called _WKUserContentWorlds in the SPI, |
| from the UIProcess. |
| |
| * Shared/API/APIObject.h: |
| * Shared/Cocoa/APIObject.mm: |
| * UIProcess/API/APIUserContentWorld.cpp: Added. |
| (API::generateIdentifier): |
| (API::UserContentWorld::worldWithName): |
| (API::UserContentWorld::normalWorld): |
| (API::UserContentWorld::UserContentWorld): |
| (API::UserContentWorld::~UserContentWorld): |
| * UIProcess/API/APIUserContentWorld.h: Added. |
| Add new UserContentWorld type. |
| |
| * UIProcess/API/APIUserScript.h: |
| Bind each user script to a particular _WKUserContentWorld. |
| |
| * UIProcess/API/C/WKUserScriptRef.cpp: |
| (WKUserScriptCreateWithSource): |
| (WKUserScriptCopySource): |
| Existing APIs create user scripts for the normal world, preserving existing behavior. |
| |
| * UIProcess/API/Cocoa/WKUserScript.mm: |
| (-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]): |
| Existing APIs create user scripts for the normal world, preserving existing behavior. |
| |
| (-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]): |
| Add a new initializer which takes a world to bind to. Also add support for the legacy whitelist/blacklist mechanism |
| while we are here, as the expected client needs these as well. |
| |
| (-[WKUserScript _userContentWorld]): |
| Add accessor for the bound world. |
| |
| * UIProcess/API/Cocoa/WKUserScriptInternal.h: |
| * UIProcess/API/Cocoa/WKUserScriptPrivate.h: Added. |
| Add new private header. |
| |
| * UIProcess/API/Cocoa/_WKUserContentWorld.h: Added. |
| * UIProcess/API/Cocoa/_WKUserContentWorld.mm: Added. |
| (+[_WKUserContentWorld worldWithName:]): |
| (+[_WKUserContentWorld normalWorld]): |
| (-[_WKUserContentWorld dealloc]): |
| (-[_WKUserContentWorld name]): |
| (-[_WKUserContentWorld _apiObject]): |
| * UIProcess/API/Cocoa/_WKUserContentWorldInternal.h: Added. |
| Add SPI wrapper. |
| |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::addUserScript): |
| (WebKit::WebUserContentControllerProxy::removeUserScript): |
| (WebKit::WebUserContentControllerProxy::removeAllUserScripts): |
| (WebKit::WebUserContentControllerProxy::addUserStyleSheet): |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| (WebKit::WebUserContentControllerProxy::userScripts): |
| (WebKit::WebUserContentControllerProxy::userStyleSheets): |
| Add support for registering the worlds with the associated WebContentProcesses and then using |
| their identifiers to map user scripts to the correct world. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm: |
| (-[WKWebProcessPlugInScriptWorld name]): |
| Expose the name property. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: |
| (WKBundleScriptWorldCopyName): |
| * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: |
| Expose the name property. |
| |
| * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: |
| (WebKit::allWorlds): |
| (WebKit::InjectedBundleScriptWorld::create): |
| (WebKit::InjectedBundleScriptWorld::getOrCreate): |
| (WebKit::InjectedBundleScriptWorld::normalWorld): |
| (WebKit::InjectedBundleScriptWorld::InjectedBundleScriptWorld): |
| (WebKit::InjectedBundleScriptWorld::~InjectedBundleScriptWorld): |
| (WebKit::InjectedBundleScriptWorld::coreWorld): |
| (WebKit::InjectedBundleScriptWorld::clearWrappers): |
| * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: |
| (WebKit::InjectedBundleScriptWorld::name): |
| Add the name property and do some drive-by RefPtr -> Ref conversions. |
| |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::userContentControllers): |
| (WebKit::worldMap): |
| (WebKit::WebUserContentController::getOrCreate): |
| (WebKit::WebUserContentController::~WebUserContentController): |
| (WebKit::WebUserContentController::addUserContentWorlds): |
| (WebKit::WebUserContentController::removeUserContentWorld): |
| (WebKit::WebUserContentController::addUserScripts): |
| (WebKit::WebUserContentController::removeUserScript): |
| (WebKit::WebUserContentController::removeAllUserScripts): |
| (WebKit::WebUserContentController::addUserStyleSheets): |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/UserContent/WebUserContentController.messages.in: |
| Track and use worlds passed from the UIProcess. |
| |
| 2016-02-26 Andreas Kling <akling@apple.com> |
| |
| [Darwin] Use vm_kernel_page_size for WTF::pageSize(). |
| <https://webkit.org/b/154726> |
| |
| Reviewed by Antti Koivisto. |
| |
| Use WTF::pageSize() for the SharedMemory page size. |
| |
| * Platform/mac/SharedMemoryMac.cpp: |
| (WebKit::SharedMemory::systemPageSize): |
| |
| 2016-02-25 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] Remove WebUIPopupMenuClient |
| https://bugs.webkit.org/show_bug.cgi?id=154717 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| WebUIPopupMenuClient is only for EFL to expose WebPopupMenuProxy and WebPopupItem to WK C APIs. |
| This patch removes it and related code. |
| |
| * PlatformEfl.cmake: Removed WKPopupItem related files from source list. |
| * UIProcess/API/C/efl/WKAPICastEfl.h: Removed WKPopupMenu related code. |
| * UIProcess/API/C/efl/WKPageEfl.cpp: Removed. |
| * UIProcess/API/C/efl/WKPageEfl.h: Removed. |
| * UIProcess/API/C/efl/WKPopupItem.cpp: Removed. |
| * UIProcess/API/C/efl/WKPopupItem.h: Removed. |
| * UIProcess/API/C/efl/WKPopupMenuListener.cpp: Removed. |
| * UIProcess/API/C/efl/WKPopupMenuListener.h: Removed. |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::requestPopupMenu): |
| * UIProcess/API/efl/EwkView.h: |
| * UIProcess/API/efl/ewk_popup_menu.cpp: |
| (EwkPopupMenu::EwkPopupMenu): |
| (EwkPopupMenu::close): |
| (EwkPopupMenu::setSelectedIndex): |
| * UIProcess/API/efl/ewk_popup_menu_item.cpp: Used WebPopupItem and others instead of WK C APIs. |
| * UIProcess/API/efl/ewk_popup_menu_item_private.h: Ditto. |
| * UIProcess/API/efl/ewk_popup_menu_private.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::close): Removed unnecessary EFL guards. |
| (WebKit::WebPageProxy::showPopupMenu): Ditto. |
| (WebKit::WebPageProxy::hidePopupMenu): Ditto. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPopupMenuProxy.h: |
| * UIProcess/efl/PageUIClientEfl.cpp: Removed WKPopupMenuListener related code. |
| (WebKit::PageUIClientEfl::PageUIClientEfl): Deleted. |
| (WebKit::PageUIClientEfl::showPopupMenu): Deleted. |
| (WebKit::PageUIClientEfl::hidePopupMenu): Deleted. |
| * UIProcess/efl/PageUIClientEfl.h: |
| * UIProcess/efl/WebPageProxyEfl.cpp: |
| (WebKit::WebPageProxy::initializeUIPopupMenuClient): Deleted. |
| * UIProcess/efl/WebPopupMenuListenerEfl.cpp: |
| (WebKit::WebPopupMenuListenerEfl::WebPopupMenuListenerEfl): Deleted. |
| (WebKit::WebPopupMenuListenerEfl::valueChanged): Deleted. |
| * UIProcess/efl/WebPopupMenuListenerEfl.h: |
| (WebKit::WebPopupMenuListenerEfl::create): Deleted. |
| * UIProcess/efl/WebPopupMenuProxyEfl.cpp: Used WebPopupItem and others instead of WK C APIs. |
| * UIProcess/efl/WebPopupMenuProxyEfl.h: Ditto. |
| (WebKit::WebPopupMenuProxyEfl::create): |
| * UIProcess/efl/WebUIPopupMenuClient.cpp: Removed. |
| * UIProcess/efl/WebUIPopupMenuClient.h: Removed. |
| * UIProcess/efl/WebView.cpp: |
| (WebKit::WebView::createPopupMenuProxy): Used WebPopupItem and others instead of WK C APIs. |
| |
| 2016-02-25 Andreas Kling <akling@apple.com> |
| |
| [iOS] Enable PageCache backing store clearing optimization for WebKit2. |
| <https://webkit.org/b/154712> |
| |
| Reviewed by Anders Carlsson. |
| |
| We had an optimization for iOS where we'd tear down the compositing tree for |
| pages in the page cache, to save memory, but we were only enabling it when |
| instantiating a WebKit1 web view. |
| |
| This patch enables the optimization for WebKit2 as well. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| |
| 2016-02-25 Ada Chan <adachan@apple.com> |
| |
| Update the definition of ENABLE_VIDEO_PRESENTATION_MODE for Mac platform |
| https://bugs.webkit.org/show_bug.cgi?id=154702 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-02-25 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Restrict information passed with navigation action which is triggered by untrusted event |
| https://bugs.webkit.org/show_bug.cgi?id=154571 |
| <rdar://problem/15967937> |
| |
| Reviewed by Andy Estes. |
| |
| When navigation action is triggered by an untrusted event, we should be more restricted of |
| what information should be passed to the clients to lower the risk that clients could |
| be fooled by the untrusted event. |
| |
| In this patch, we drop the modifiers for key state events and set the mouse button to NoButton |
| for mouse events. |
| |
| * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: |
| (WebKit::InjectedBundleNavigationAction::modifiersForNavigationAction): |
| |
| 2016-02-25 Ada Chan <adachan@apple.com> |
| |
| Hook up fullscreenMayReturnToInline() in WKPageUIClient |
| https://bugs.webkit.org/show_bug.cgi?id=154661 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/API/C/WKPageUIClient.h: |
| |
| 2016-02-25 Gavin Barraclough <barraclough@apple.com> |
| |
| Should template RefCounter instead of RefCounter::Token |
| https://bugs.webkit.org/show_bug.cgi?id=154691 |
| |
| Reviewed by Anders Carlsson. |
| |
| Mechanical update per RefCounter interface change. |
| |
| * UIProcess/Plugins/PluginProcessManager.h: |
| (WebKit::PluginProcessManager::processSuppressionDisabledToken): |
| (WebKit::PluginProcessManager::processSuppressionDisabled): |
| * UIProcess/ProcessThrottler.h: |
| (WebKit::ProcessThrottler::foregroundActivityToken): |
| (WebKit::ProcessThrottler::backgroundActivityToken): |
| * UIProcess/WebProcessPool.h: |
| |
| 2016-02-25 Brady Eidson <beidson@apple.com> |
| |
| Remove LegacyIDB. |
| https://bugs.webkit.org/show_bug.cgi?id=150854 |
| |
| Reviewed by Alex Christensen. |
| |
| * CMakeLists.txt: |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::getOrCreateLegacyUniqueIDBDatabase): Deleted. |
| (WebKit::DatabaseProcess::removeLegacyUniqueIDBDatabase): Deleted. |
| * DatabaseProcess/DatabaseProcess.h: |
| * DatabaseProcess/DatabaseToWebProcessConnection.cpp: |
| (WebKit::DatabaseToWebProcessConnection::didClose): |
| (WebKit::DatabaseToWebProcessConnection::didReceiveMessage): Deleted. |
| (WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage): Deleted. |
| (WebKit::DatabaseToWebProcessConnection::establishIDBConnection): Deleted. |
| (WebKit::DatabaseToWebProcessConnection::removeDatabaseProcessIDBConnection): Deleted. |
| * DatabaseProcess/DatabaseToWebProcessConnection.h: |
| * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: |
| * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: Removed. |
| * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: Removed. |
| * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: Removed. |
| * DatabaseProcess/IndexedDB/IDBIdentifier.h: Removed. |
| * DatabaseProcess/IndexedDB/IDBSerialization.cpp: Removed. |
| * DatabaseProcess/IndexedDB/IDBSerialization.h: Removed. |
| * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.cpp: Removed. |
| * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.h: Removed. |
| * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.cpp: Removed. |
| * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.h: Removed. |
| * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: Removed. |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h: |
| * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: Removed. |
| * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: Removed. |
| * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: Removed. |
| * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: Removed. |
| * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: Removed. |
| * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: Removed. |
| * DerivedSources.make: |
| * Shared/WebCrossThreadCopier.cpp: |
| (WebCore::LegacyUniqueIDBDatabaseIdentifier>::copy): Deleted. |
| (WebCore::IDBIdentifier>::copy): Deleted. |
| * Shared/WebCrossThreadCopier.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Removed. |
| * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: Removed. |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: Removed. |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: Removed. |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: Removed. |
| * WebProcess/Databases/WebDatabaseProvider.cpp: |
| (WebKit::WebDatabaseProvider::createIDBFactoryBackend): Deleted. |
| * WebProcess/Databases/WebDatabaseProvider.h: |
| * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: |
| (WebKit::WebToDatabaseProcessConnection::didReceiveMessage): Deleted. |
| (WebKit::WebToDatabaseProcessConnection::registerWebIDBServerConnection): Deleted. |
| (WebKit::WebToDatabaseProcessConnection::removeWebIDBServerConnection): Deleted. |
| * WebProcess/Databases/WebToDatabaseProcessConnection.h: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| |
| 2016-02-25 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: WebKit 2 IPC layer. |
| https://bugs.webkit.org/show_bug.cgi?id=153808 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): This ASSERT fires on most WK2 tests. Alex said remove it. |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| (WebKit::WebIDBConnectionToServer::putOrAdd): Properly encode the overwrite flag. |
| |
| * WebProcess/Databases/WebDatabaseProvider.h: Enable Modern IDB. |
| |
| 2016-02-25 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] MediaDeviceInfo deviceId and groupId must be unique to the page's origin |
| https://bugs.webkit.org/show_bug.cgi?id=153163 |
| <rdar://problem/24334526> |
| |
| Reviewed by Tim Horton. |
| |
| * CMakeLists.txt: Add WKFrameHandleRef.cpp. |
| |
| * Shared/API/c/WKBase.h: Add WKFrameHandleRef. |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::decidePolicyForUserMediaPermissionRequest): Add parameter top level document |
| security context. |
| (API::UIClient::checkUserMediaPermissionForOrigin): Ditto. |
| |
| * UIProcess/API/C/WKAPICast.h: Add FrameHandle. |
| |
| * UIProcess/API/C/WKFrameHandleRef.cpp: Added. |
| * UIProcess/API/C/WKFrameHandleRef.h: Added. |
| |
| * UIProcess/API/C/WKFrameInfoRef.cpp: |
| (WKFrameInfoGetFrameHandleRef): Added. |
| * UIProcess/API/C/WKFrameInfoRef.h: |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): Add parameters to decidePolicyForUserMediaPermissionRequest and |
| checkUserMediaPermissionForOrigin for top level document security context. |
| |
| * UIProcess/API/C/WKPageUIClient.h: Ditto. |
| |
| * UIProcess/API/C/WKUserMediaPermissionCheck.cpp: |
| (WKUserMediaPermissionCheckSetUserMediaAccessInfo): Renamed from WKUserMediaPermissionCheckSetHasPersistentPermission, |
| add parameter for top level document security context. |
| (WKUserMediaPermissionCheckSetHasPersistentPermission): Deleted. |
| * UIProcess/API/C/WKUserMediaPermissionCheck.h: |
| |
| * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp: |
| (webkitUserMediaPermissionRequestCreate): Add top level document origin. |
| |
| * UIProcess/UserMediaPermissionCheckProxy.cpp: |
| (WebKit::UserMediaPermissionCheckProxy::setUserMediaAccessInfo): Renamed from setHasPersistentPermission. |
| (WebKit::UserMediaPermissionCheckProxy::setHasPersistentPermission): Deleted. |
| * UIProcess/UserMediaPermissionCheckProxy.h: |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck): Add parameter |
| for device id hash salt. |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| |
| * UIProcess/UserMediaPermissionRequestProxy.h: |
| (WebKit::UserMediaPermissionRequestProxy::requiresAudio): Deleted, unused. |
| (WebKit::UserMediaPermissionRequestProxy::requiresVideo): Ditto. |
| (WebKit::UserMediaPermissionRequestProxy::firstVideoDeviceUID): Ditto. |
| (WebKit::UserMediaPermissionRequestProxy::firstAudioDeviceUID): Ditto. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::requestUserMediaPermissionForFrame): Pass through parameter for top |
| level document security context. |
| (WebKit::WebPageProxy::checkUserMediaPermissionForFrame): Ditto. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| |
| * WebKit2.xcodeproj/project.pbxproj: Add WKFrameHandleRef.cpp|.h. |
| |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: |
| (WebKit::UserMediaPermissionRequestManager::startUserMediaRequest): Pass through parameter for top |
| level document security context. |
| (WebKit::UserMediaPermissionRequestManager::startUserMediaPermissionCheck): Ditto. |
| (WebKit::UserMediaPermissionRequestManager::didCompleteUserMediaPermissionCheck): Pass through |
| device id hash salt. |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didCompleteUserMediaPermissionCheck): Ditto. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2016-02-24 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Tearing when entering AC mode |
| https://bugs.webkit.org/show_bug.cgi?id=150955 |
| |
| Reviewed by Michael Catanzaro. |
| |
| When entering accelerated compositing mode, we keep rendering the |
| non accelerated contents until we have the first frame of |
| accelerated compositing contents. When the view is created hidden, |
| for example when the browser opens a link in a new tab, the view |
| is not realized until it is mapped. The native surface handle for |
| compositing, needed by the web process to render accelerated |
| compositing contents, is not available until the view is realized, |
| because it depends on the properties of the parent. When a web |
| view is mapped for the first time, and then realized, we send the |
| native surface handle for compositing to the web process, and keep |
| rendering the non composited contents until we get the first |
| frame, but in this case we never had non composited contents and |
| we end up rendering an untinitalized surface. This sometimes just |
| produces flickering and sometimes rendering artifacts. |
| We can prevent this from happening by realizing the web view as |
| soon as possible. A GtkWidget can't be realized until it has been |
| added to a toplevel, so we can realize our view right after it is |
| added to a toplevel window, and wait until the view is actually |
| mapped to notify the web process that it has been added to a |
| window. This way can we enter accelerated compositing mode before |
| the web view is mapped, so that when mapped we don't try to paint |
| the previous contents and don't need to wait for the first frame. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (toplevelWindowFocusInEvent): Handle the case of the window being |
| hidden when receiving focus in. According to |
| gtk_window_focus_in_event, this can happen. |
| (webkitWebViewBaseSetToplevelOnScreenWindow): When the web view is |
| removed from its toplevel parent, update the IsInWindow and |
| WindowIsActive flags accordingly. When the view is added to a |
| toplevel, realize it and don't update the window flags, they will be |
| updated when the view is mapped the first time. |
| (webkitWebViewBaseMap): Also update IsInWindow and WindowIsActive |
| flags if needed. This way, if for example you open a youtube video |
| in a new tab, the video won't start playing until you visit the |
| tab, like we did when the view was realized on map. |
| (webkitWebViewBaseHierarchyChanged): Use hierarchy-changed signal |
| instead of parent-set to be notified when the view is added to or |
| removed from a toplevel. |
| (webkit_web_view_base_class_init): Implement hierarchy-changed |
| instead of parent-set. |
| (webkitWebViewBaseRealize): Do not call |
| webkitWebViewBaseSetToplevelOnScreenWindow on realize, it's now |
| webkitWebViewBaseSetToplevelOnScreenWindow the one realizing the view. |
| * UIProcess/cairo/BackingStoreCairo.cpp: |
| (WebKit::BackingStore::createBackend): Do not realize the view |
| here, it should be realized already at this point. If it's not |
| realized at this point is because it hasn't been added to a |
| toplevel and gtk_widget_realize will not work anyway. |
| (WebKit::BackingStore::paint): This is changing the cairo source |
| operator, so save/restore the cairo context to ensure it doesn't |
| affect other drawing done after this. |
| |
| 2016-02-24 Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> |
| |
| [web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface |
| https://bugs.webkit.org/show_bug.cgi?id=151688 |
| |
| Reviewed by Dean Jackson. |
| |
| Enables the WEB_ANIMATIONS compiler switch. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-02-24 Gavin Barraclough <barraclough@apple.com> |
| |
| Add WKPreference for HiddenPageDOMTimerThrottlingAutoIncreases |
| https://bugs.webkit.org/show_bug.cgi?id=154655 |
| |
| Reviewed by Geoff Garen. |
| |
| Just plumbing WebCore.settings.setHiddenPageDOMTimerThrottlingAutoIncreases through as |
| WKPreferencesSetHiddenPageDOMTimerThrottlingAutoIncreases. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetHiddenPageDOMTimerThrottlingAutoIncreases): |
| (WKPreferencesGetHiddenPageDOMTimerThrottlingAutoIncreases): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _hiddenPageDOMTimerThrottlingAutoIncreases]): |
| (-[WKPreferences _setHiddenPageDOMTimerThrottlingAutoIncreases:]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-02-24 Alex Christensen <achristensen@webkit.org> |
| |
| Fix downloads when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154620 |
| |
| Reviewed by Brady Eidson. |
| |
| This fixes all the _WKDownload API tests when using NetworkSession. |
| |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::willDecidePendingDownloadDestination): |
| When we store the NetworkDataTask in m_downloadsWaitingForDestination, we want to remove its owner |
| from m_pendingDownloads to prevent memory leaks. |
| (WebKit::DownloadManager::continueDecidePendingDownloadDestination): |
| If a file exists and the UIProcess has told us to overwrite the file, delete the file |
| before starting a new download in its place. This used to be done by CFNetwork in |
| NSURLDownload's setDestination:allowOverwrite:, but the NSURLSession equivalent (setting |
| NSURLSessionDataTask's _pathToDownloadTaskFile attribute) does not overwrite the file for us. |
| (WebKit::DownloadManager::cancelDownload): |
| If a download is canceled while it is waiting for its destination from the UIProcess, the Download |
| object does not exist yet. Instead, we have a completion handler stored in m_downloadsWaitingForDestination. |
| In this case, we want to send the UIProcess a DownloadProxy::DidCancel message, which I did through |
| NetworkProcess::pendingDownloadCanceled because the DownloadManager is not a MessageSender, and then |
| call the completion handler with PolicyIgnore to cancel the download. |
| (WebKit::DownloadManager::downloadFinished): |
| * NetworkProcess/Downloads/DownloadManager.h: |
| * NetworkProcess/Downloads/PendingDownload.cpp: |
| (WebKit::PendingDownload::continueCanAuthenticateAgainstProtectionSpace): |
| (WebKit::PendingDownload::didBecomeDownload): |
| (WebKit::PendingDownload::didFailLoading): |
| (WebKit::PendingDownload::messageSenderConnection): |
| (WebKit::PendingDownload::didConvertToDownload): Deleted. |
| * NetworkProcess/Downloads/PendingDownload.h: |
| * NetworkProcess/Downloads/cocoa/DownloadCocoa.mm: |
| (WebKit::Download::cancel): |
| Send a didCancel message to the UIProcess when a download was cancelled. |
| Use cancelByProducingResumeData so we can resume canceled downloads. |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): |
| didConvertToDownload is needed when using NetworkSession to tell the NetworkResourceLoader |
| not to call cancel on the NetworkLoad after converting it to a download. |
| * NetworkProcess/NetworkDataTask.h: |
| (WebKit::NetworkDataTask::setPendingDownload): |
| (WebKit::NetworkDataTask::pendingDownloadLocation): |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::convertTaskToDownload): |
| (WebKit::NetworkLoad::setPendingDownloadID): |
| (WebKit::NetworkLoad::didReceiveResponseNetworkSession): |
| Don't call findPendingDownloadLocation as a method on the NetworkDataTask to avoid memory leaks |
| in DownloadManager.m_pendingDownloads. |
| (WebKit::NetworkLoad::didBecomeDownload): |
| Call m_client.didBecomeDownload which is being separated from didConvertToDownload. The former is |
| called after the NetworkDataTask becomes a Download, the latter is called as soon as |
| convertMainResourceLoadToDownload is called. |
| * NetworkProcess/NetworkLoadClient.h: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::continueWillSendRequest): |
| (WebKit::NetworkProcess::pendingDownloadCanceled): |
| Send a DownloadProxy::DidCancel message when a pending download is canceled. |
| (WebKit::NetworkProcess::findPendingDownloadLocation): |
| (WebKit::NetworkProcess::continueDecidePendingDownloadDestination): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didConvertToDownload): |
| (WebKit::NetworkResourceLoader::didBecomeDownload): |
| Separate setting m_didConvertToDownload, which needs to happen before the didReceiveResponse completion |
| handler is called to tell the NetworkResourceLoader not to call cancel in NetworkResourceLoader::abort, |
| from deleting the NetworkLoad, which can be done after the NSURLSessionDataTask has been converted to a |
| NSURLSessionDownloadTask. |
| * NetworkProcess/NetworkResourceLoader.h: |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::failureTimerFired): |
| (WebKit::NetworkDataTask::setPendingDownloadLocation): |
| (WebKit::NetworkDataTask::transferSandboxExtensionToDownload): |
| (WebKit::NetworkDataTask::suggestedFilename): |
| (WebKit::NetworkDataTask::currentRequest): |
| (WebKit::NetworkDataTask::findPendingDownloadLocation): Deleted. |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]): |
| Take the downloadID if it failed because we will report that download as failed and not use it again. |
| (WebKit::NetworkSession::takeDownloadID): |
| * UIProcess/Downloads/DownloadProxy.cpp: |
| (WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync): |
| (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename): |
| |
| 2016-02-24 Anders Carlsson <andersca@apple.com> |
| |
| Add more WebKitAdditions extension points |
| https://bugs.webkit.org/show_bug.cgi?id=154648 |
| rdar://problem/24820040 |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration copyWithZone:]): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-02-24 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Move FocusNavigationScope into FocusController.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=154630 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::nextAssistableElement): |
| |
| 2016-02-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: don't run the protocol generator once per output file |
| https://bugs.webkit.org/show_bug.cgi?id=154635 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| * DerivedSources.make: Use $(firstword, ...) to take just one file as |
| the target to be built so that the generator runs only once. Make isn't |
| really designed to coalesce multiple file outputs to one production rule. |
| |
| 2016-02-23 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] Linker errors display mangled names, but no longer should |
| https://bugs.webkit.org/show_bug.cgi?id=154632 |
| |
| Reviewed by Sam Weinig. |
| |
| * Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES. |
| |
| 2016-02-23 Gavin Barraclough <barraclough@apple.com> |
| |
| Remove HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define |
| https://bugs.webkit.org/show_bug.cgi?id=112323 |
| |
| Reviewed by Chris Dumez. |
| |
| This feature is controlled by a runtime switch, and defaults off. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-02-23 Anders Carlsson <andersca@apple.com> |
| |
| WKWebView should implement NSCoding |
| https://bugs.webkit.org/show_bug.cgi?id=137160 |
| rdar://problem/17380562 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController initWithCoder:]): |
| We need to call [self init] here, so that the wrapper will be initialized. |
| |
| * UIProcess/API/Cocoa/WKWebView.h: |
| -initWithCoder: shouldn't be unavailable, it should be a designated initializer. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| Move initialization out into a common method. |
| |
| (-[WKWebView initWithFrame:configuration:]): |
| Call -initializeWithConfiguration: here. |
| |
| (-[WKWebView initWithCoder:]): |
| Decode everything. |
| |
| (-[WKWebView encodeWithCoder:]): |
| Encode everything. |
| |
| 2016-02-23 Anders Carlsson <andersca@apple.com> |
| |
| Fix an API test. |
| |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::defaultDataStore): |
| Make sure to initialize WebKit2. |
| |
| 2016-02-23 Anders Carlsson <andersca@apple.com> |
| |
| WKWebViewConfiguration should encode more of its properties |
| https://bugs.webkit.org/show_bug.cgi?id=154611 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration encodeWithCoder:]): |
| (-[WKWebViewConfiguration initWithCoder:]): |
| |
| 2016-02-23 Anders Carlsson <andersca@apple.com> |
| |
| WKUserContentController should conform to NSCoding |
| https://bugs.webkit.org/show_bug.cgi?id=154609 |
| |
| Reviewed by Sam Weinig. |
| |
| Since we just want to be able to encode WKUserContentController from WKWebViewConfiguration, |
| we don't encode anything inside WKUserContentController. |
| |
| * UIProcess/API/Cocoa/WKUserContentController.h: |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController encodeWithCoder:]): |
| (-[WKUserContentController initWithCoder:]): |
| |
| 2016-02-23 Anders Carlsson <andersca@apple.com> |
| |
| WKProcessPool should conform to NSCoding |
| https://bugs.webkit.org/show_bug.cgi?id=154608 |
| |
| Reviewed by Sam Weinig. |
| |
| Add +[WKProcessPool _sharedProcessPool] and encode/decode whether the process pool is shared. |
| |
| * UIProcess/API/Cocoa/WKProcessPool.h: |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool encodeWithCoder:]): |
| (-[WKProcessPool initWithCoder:]): |
| (+[WKProcessPool _sharedProcessPool]): |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| |
| 2016-02-23 Anders Carlsson <andersca@apple.com> |
| |
| WKWebsiteDataStore should conform to NSCoding |
| https://bugs.webkit.org/show_bug.cgi?id=154605 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore initWithCoder:]): |
| (-[WKWebsiteDataStore encodeWithCoder:]): |
| |
| 2016-02-23 Anders Carlsson <andersca@apple.com> |
| |
| Fix iOS build. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration initWithCoder:]): |
| |
| 2016-02-23 Anders Carlsson <andersca@apple.com> |
| |
| WKWebViewConfiguration should conform to NSCoding |
| https://bugs.webkit.org/show_bug.cgi?id=154602 |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration encodeWithCoder:]): |
| (-[WKWebViewConfiguration initWithCoder:]): |
| |
| 2016-02-23 Anders Carlsson <andersca@apple.com> |
| |
| WKPreferences should conform to NSCoding |
| https://bugs.webkit.org/show_bug.cgi?id=154597 |
| |
| Reviewed by Sam Weinig. |
| |
| Add NSCoding implementation. |
| |
| * UIProcess/API/Cocoa/WKPreferences.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences encodeWithCoder:]): |
| (-[WKPreferences initWithCoder:]): |
| |
| 2016-02-23 Alex Christensen <achristensen@webkit.org> |
| |
| Implement downloads with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154473 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/Downloads/Download.cpp: |
| (WebKit::Download::~Download): |
| (WebKit::Download::didStart): |
| (WebKit::Download::shouldDecodeSourceDataOfMIMEType): |
| (WebKit::Download::decideDestinationWithSuggestedFilename): |
| (WebKit::Download::didCreateDestination): |
| * NetworkProcess/Downloads/Download.h: |
| (WebKit::Download::downloadID): |
| (WebKit::Download::setSandboxExtension): |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::startDownload): |
| (WebKit::DownloadManager::dataTaskBecameDownloadTask): |
| (WebKit::DownloadManager::continueCanAuthenticateAgainstProtectionSpace): |
| (WebKit::DownloadManager::continueWillSendRequest): |
| (WebKit::DownloadManager::willDecidePendingDownloadDestination): |
| (WebKit::DownloadManager::continueDecidePendingDownloadDestination): |
| (WebKit::DownloadManager::convertHandleToDownload): |
| * NetworkProcess/Downloads/DownloadManager.h: |
| * NetworkProcess/NetworkDataTask.h: |
| (WebKit::NetworkDataTask::clearClient): |
| |
| NetworkDataTasks can now outlive their client, so we need to make client a pointer |
| with the ability to be nulled from the client's destructor. |
| |
| (WebKit::NetworkDataTask::pendingDownloadID): |
| (WebKit::NetworkDataTask::pendingDownload): |
| (WebKit::NetworkDataTask::setPendingDownload): |
| (WebKit::NetworkDataTask::pendingDownloadLocation): |
| (WebKit::NetworkDataTask::client): Deleted. |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::~NetworkLoad): |
| (WebKit::NetworkLoad::convertTaskToDownload): |
| (WebKit::NetworkLoad::setPendingDownloadID): |
| (WebKit::NetworkLoad::didReceiveResponseNetworkSession): |
| |
| Don't call the didReceiveResponse completion handler immediately when we know we are |
| going to turn the load into a download. Instead, save the completion handler until |
| after we have determined the download destination and set it in the NetworkDataTask. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::continueWillSendRequest): |
| (WebKit::NetworkProcess::findPendingDownloadLocation): |
| (WebKit::NetworkProcess::continueDecidePendingDownloadDestination): |
| (WebKit::NetworkProcess::setCacheModel): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| (WebKit::NetworkDataTask::~NetworkDataTask): |
| (WebKit::NetworkDataTask::didSendData): |
| (WebKit::NetworkDataTask::didReceiveChallenge): |
| (WebKit::NetworkDataTask::didCompleteWithError): |
| (WebKit::NetworkDataTask::didReceiveResponse): |
| (WebKit::NetworkDataTask::didReceiveData): |
| (WebKit::NetworkDataTask::didBecomeDownload): |
| (WebKit::NetworkDataTask::willPerformHTTPRedirection): |
| (WebKit::NetworkDataTask::scheduleFailure): |
| (WebKit::NetworkDataTask::failureTimerFired): |
| (WebKit::NetworkDataTask::findPendingDownloadLocation): |
| (WebKit::NetworkDataTask::setPendingDownloadLocation): |
| (WebKit::NetworkDataTask::tryPasswordBasedAuthentication): |
| (WebKit::NetworkDataTask::transferSandboxExtensionToDownload): |
| (WebKit::NetworkDataTask::currentRequest): |
| (WebKit::NetworkDataTask::cancel): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]): |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]): |
| |
| This delegate callback is used for downloads, too. |
| |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]): |
| (-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): |
| |
| Call didCreateDestination now, which is after the file has been opened on the disk. |
| A DownloadProxy::DidStart message is now sent from NetworkProcess::findPendingDownloadLocation before |
| we ask the UIProcess where the download should end up on disk. |
| Null check the NetworkDataTask's client before using it because it is now a pointer that could be null. |
| |
| * UIProcess/Downloads/DownloadProxy.cpp: |
| (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType): |
| (WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync): |
| (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename): |
| (WebKit::DownloadProxy::didCreateDestination): |
| * UIProcess/Downloads/DownloadProxy.h: |
| * UIProcess/Downloads/DownloadProxy.messages.in: |
| |
| 2016-02-23 Brian Burg <bburg@apple.com> |
| |
| Connect WebAutomationSession to its backend dispatcher as if it were an agent and add stub implementations |
| https://bugs.webkit.org/show_bug.cgi?id=154518 |
| <rdar://problem/24761096> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add a domain dispatcher for the 'Automation' domain, and register the |
| WebAutomationSession itself as the handler for Automation commands. |
| Stub out these command implementations so the code will compile. |
| |
| * UIProcess/Automation/Automation.json: |
| Fix the createWindow command's parameters and description. |
| Add an ErrorMessage string enumeration and document how it can be used |
| to signal well-known errors to the frontend. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::WebAutomationSession): |
| Add the domain backend dispatcher. It further parses commands that were deemed |
| valid by the generic dispatcher and match the 'Automation' domain prefix. |
| |
| (WebKit::WebAutomationSession::getWindows): |
| (WebKit::WebAutomationSession::openWindow): |
| (WebKit::WebAutomationSession::closeWindow): |
| Stub these out with our new ErrorMessage enumeration and a macro to |
| make this code pattern more readable. |
| |
| * UIProcess/Automation/WebAutomationSession.h: |
| Add new declarations and members. |
| |
| 2016-02-23 Antti Koivisto <antti@apple.com> |
| |
| Remove tab suspension code |
| https://bugs.webkit.org/show_bug.cgi?id=154585 |
| |
| Reviewed by Andreas Kling. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::registerUserDefaultsIfNeeded): |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2016-02-22 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] Merge WebView and WebViewEfl |
| https://bugs.webkit.org/show_bug.cgi?id=154445 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * PlatformEfl.cmake: Removed WebViewEfl.cpp from source list. |
| * UIProcess/API/C/efl/WKViewEfl.cpp: Removed type cast for WebViewEfl. |
| * UIProcess/API/efl/EwkView.cpp: Ditto. |
| * UIProcess/API/efl/EwkView.h: |
| * UIProcess/API/efl/GestureRecognizer.cpp: Removed type cast for WebViewEfl. |
| * UIProcess/API/efl/WebAccessibility.cpp: Removed unnecessary includes. |
| * UIProcess/API/efl/ewk_view.cpp: Ditto. |
| * UIProcess/efl/ViewClientEfl.cpp: Ditto. |
| * UIProcess/efl/WebColorPickerClient.cpp: Ditto. |
| * UIProcess/efl/WebColorPickerClient.h: |
| * UIProcess/efl/WebColorPickerEfl.cpp: |
| (WebKit::WebColorPickerEfl::WebColorPickerEfl): |
| * UIProcess/efl/WebColorPickerEfl.h: |
| (WebKit::WebColorPickerEfl::create): |
| * UIProcess/efl/WebView.cpp: |
| * UIProcess/efl/WebView.h: |
| * UIProcess/efl/WebViewEfl.cpp: Removed. |
| * UIProcess/efl/WebViewEfl.h: Ditto. |
| |
| 2016-02-22 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: add 'Automation' protocol domain and generate its backend classes separately in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=154509 |
| <rdar://problem/24759098> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add a new 'Automation' domain which presents an RPC interface |
| for sending automation commands to an active WebAutomationSession |
| in the UIProcess via RemoteInspector. This is similar to how the |
| Inspector backend communicates bidirectionally with a remote |
| Inspector frontend. |
| |
| Add build system logic to generate JSON-RPC protocol bindings |
| for the 'Automation' domain using the inspector code generators. |
| |
| Move automation-related files that are not API or SPI into their |
| own directory. |
| |
| * Configurations/BaseTarget.xcconfig: Tell where JavaScriptCore's |
| private headers are, since that's where the code generators live. |
| |
| * CMakeLists.txt: Look in UIProcess/Automation directory. |
| * PlatformMac.cmake: |
| * DerivedSources.make: Generate protocol bindings for a single domain. |
| The names of the generated files will be improved in a follow-up patch |
| so that they do not clash with generated files in JavaScriptCore. |
| |
| * UIProcess/Automation/Automation.json: Added. |
| * UIProcess/Automation/WebAutomationSession.cpp: Renamed from Source/WebKit2/UIProcess/WebAutomationSession.cpp. |
| (WebKit::WebAutomationSession::WebAutomationSession): |
| (WebKit::WebAutomationSession::~WebAutomationSession): |
| Set up a backend dispatcher and frontend router. They will be used later. |
| |
| (WebKit::WebAutomationSession::dispatchMessageFromRemote): |
| Forward messages from the remote to the backend dispatcher. When |
| an agent / command handler is registered, it will receive the message. |
| |
| (WebKit::WebAutomationSession::connect): |
| (WebKit::WebAutomationSession::disconnect): |
| Connenct and disconnect the frontend router to the remote channel. |
| |
| * UIProcess/Automation/WebAutomationSession.h: Renamed from Source/WebKit2/UIProcess/WebAutomationSession.h. |
| * WebKit2.xcodeproj/project.pbxproj: Add and move files. |
| |
| 2016-02-16 Ada Chan <adachan@apple.com> |
| |
| Implement basic functionality in WebVideoFullscreenInterfaceMac. |
| https://bugs.webkit.org/show_bug.cgi?id=153241 |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): |
| (WebKit::WebVideoFullscreenManagerProxy::exitFullscreen): |
| (WebKit::WebVideoFullscreenManagerProxy::preparedToReturnToInline): |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::rootViewToWindow): |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::rootViewToWindow): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::supportsVideoFullscreen): |
| * WebProcess/cocoa/WebVideoFullscreenManager.h: |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::supportsVideoFullscreen): |
| |
| 2016-02-22 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r196935. |
| https://bugs.webkit.org/show_bug.cgi?id=154557 |
| |
| This change causes timeouts and crashes in LayoutTests |
| (Requested by ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "Enable AVFoundationNSURLSessionEnabled by default" |
| https://bugs.webkit.org/show_bug.cgi?id=154469 |
| http://trac.webkit.org/changeset/196935 |
| |
| 2016-02-22 Anders Carlsson <andersca@apple.com> |
| |
| Remove _mockCaptureDevicesEnabled getter and setter |
| https://bugs.webkit.org/show_bug.cgi?id=154550 |
| |
| Reviewed by Beth Dakin. |
| |
| The _mockCaptureDevicesEnabled property isn't declared anywhere, and this |
| should be a WKWebViewConfiguration parameter if we ever want to expose it in the modern API. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _mockCaptureDevicesEnabled]): Deleted. |
| (-[WKPreferences _setMockCaptureDevicesEnabled:]): Deleted. |
| |
| 2016-02-22 Konstantin Tokarev <annulen@yandex.ru> |
| |
| [cmake] Moved library setup code to WEBKIT_FRAMEWORK macro. |
| https://bugs.webkit.org/show_bug.cgi?id=154450 |
| |
| Reviewed by Alex Christensen. |
| |
| * CMakeLists.txt: Used WebKit2_SOURCES variable instead of separate |
| WebKit2_DERIVED_SOURCES for compatibility with WEBKIT_FRAMEWORK macro. |
| There is no real need to separate derived sources from others. |
| * PlatformGTK.cmake: Ditto. |
| |
| 2016-02-22 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [CMake] Unreviewed build fix after r196942. |
| |
| * CMakeLists.txt: WKPluginSiteDataManager.cpp is gone. |
| |
| 2016-02-22 Keith Rollin <krollin@apple.com> |
| |
| Add mechanism to disable memory pressure handling |
| https://bugs.webkit.org/show_bug.cgi?id=154254 |
| <rdar://problem/24662616> |
| |
| Reviewed by Chris Dumez. |
| |
| Add a mechanism to disable WebKit's response to memory pressure |
| triggers. This was asked for by another group for testing purposes. |
| |
| In order to disable WebKit's memory pressure handling, execute the |
| following from the command line: |
| |
| defaults write com.apple.Safari WebKitSuppressMemoryPressureHandler -bool true |
| |
| To revert to standard behavior, delete the key or set it to False. |
| |
| This flag is used when a new sub-process is being spawned. The value |
| is read and stored in an initialization parameter block, which is then |
| sent to the new sub-process. |
| |
| In actuality, only the UI, WebContent, and Network processes heed the |
| flag. The Plugin process isn't instrumented to heed this flag for |
| three reasons. First, the Plugin process installs its memory pressure |
| handler in initializeProcess, not initializePluginProcess. This is |
| contrary to when the other processes install their handlers, which is |
| in initialize<PluginType>Process, not initializeProcess. So in order |
| to accomodate the Plugin process, we'd need to modify |
| ChildProcessInitializationParameters. Doing this is awkward at best, |
| but also seems to be opposed to what's supposed to be done in |
| initializeProcess and conveyed in |
| ChildProcessInitializationParameters. And even if we did add a boolean |
| to this structure and added support for conveying it through the XPC |
| port, it would end up being a Plugin process-only boolean in a general |
| parameter block, which seems asymmetric with the other processes. |
| Second, there's no convenient Cocoa function called in the flow that |
| spawns the Plugin process, meaning that there's no convenient place to |
| call NSUserDefaults to get the flag's value. And third, the Plugin |
| process doesn't elegantly respond to the memory pressure trigger |
| anyway. It might terminate itself, but that's it. As for the Database |
| process, it doesn't seem to support responding to memory pressure at |
| all, so we don't send it a flag telling it to ignore it. |
| |
| Internally, the memory pressure handler is suppressed by not calling |
| MemoryPressureHandler::install() if the flag is set. In the case of |
| the Network process, the flag is saved so that it can be checked later |
| in other places that manually kick off the memory pressure handling |
| procedure. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::lowMemoryHandler): |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| * NetworkProcess/NetworkProcess.h: |
| * 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): |
| (WebKit::WebProcessPool::platformInitializeNetworkProcess): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2016-02-22 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of WKPluginSiteDataManager |
| https://bugs.webkit.org/show_bug.cgi?id=154470 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/API/c/WKBase.h: |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextGetPluginSiteDataManager): Deleted. |
| * UIProcess/API/C/WKContext.h: |
| * UIProcess/API/C/WKPluginSiteDataManager.cpp: Removed. |
| (WKPluginSiteDataManagerGetTypeID): Deleted. |
| (WKPluginSiteDataManagerGetSitesWithData): Deleted. |
| (WKPluginSiteDataManagerClearSiteData): Deleted. |
| (WKPluginSiteDataManagerClearAllSiteData): Deleted. |
| * UIProcess/API/C/WKPluginSiteDataManager.h: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-02-21 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][Mac] Allow processes to set "fast-dev-casheable" bit |
| https://bugs.webkit.org/show_bug.cgi?id=154503 |
| <rdar://problem/22920815> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Update the various sandbox profiles with a declaration that using the |
| system-fctl to touch the "hot file" flag (to support caching operations) |
| is allowed. |
| |
| * DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in: Add sandbox permission. |
| * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Ditto. |
| * WebProcess/com.apple.WebProcess.sb.in: Ditto. |
| |
| 2016-02-22 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r196891. |
| https://bugs.webkit.org/show_bug.cgi?id=154539 |
| |
| it broke Production builds (Requested by brrian on #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: add 'Automation' protocol domain and generate |
| its backend classes separately in WebKit2" |
| https://bugs.webkit.org/show_bug.cgi?id=154509 |
| http://trac.webkit.org/changeset/196891 |
| |
| 2016-02-22 Jer Noble <jer.noble@apple.com> |
| |
| Enable AVFoundationNSURLSessionEnabled by default |
| https://bugs.webkit.org/show_bug.cgi?id=154469 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| |
| 2016-02-21 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: add 'Automation' protocol domain and generate its backend classes separately in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=154509 |
| <rdar://problem/24759098> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add a new 'Automation' domain which presents an RPC interface |
| for sending automation commands to an active WebAutomationSession |
| in the UIProcess via RemoteInspector. This is similar to how the |
| Inspector backend communicates bidirectionally with a remote |
| Inspector frontend. |
| |
| Add build system logic to generate JSON-RPC protocol bindings |
| for the 'Automation' domain using the inspector code generators. |
| |
| Move automation-related files that are not API or SPI into their |
| own directory. |
| |
| * Configurations/BaseTarget.xcconfig: Tell where JavaScriptCore's |
| private headers are, since that's where the code generators live. |
| |
| * CMakeLists.txt: Look in UIProcess/Automation directory. |
| * PlatformMac.cmake: |
| * DerivedSources.make: Generate protocol bindings for a single domain. |
| The names of the generated files will be improved in a follow-up patch |
| so that they do not clash with generated files in JavaScriptCore. |
| |
| * UIProcess/Automation/Automation.json: Added. |
| * UIProcess/Automation/WebAutomationSession.cpp: Renamed from Source/WebKit2/UIProcess/WebAutomationSession.cpp. |
| (WebKit::WebAutomationSession::WebAutomationSession): |
| (WebKit::WebAutomationSession::~WebAutomationSession): |
| Set up a backend dispatcher and frontend router. They will be used later. |
| |
| (WebKit::WebAutomationSession::dispatchMessageFromRemote): |
| Forward messages from the remote to the backend dispatcher. When |
| an agent / command handler is registered, it will receive the message. |
| |
| (WebKit::WebAutomationSession::connect): |
| (WebKit::WebAutomationSession::disconnect): |
| Connenct and disconnect the frontend router to the remote channel. |
| |
| * UIProcess/Automation/WebAutomationSession.h: Renamed from Source/WebKit2/UIProcess/WebAutomationSession.h. |
| * WebKit2.xcodeproj/project.pbxproj: Add and move files. |
| |
| 2016-02-20 Olivier Blin <olivier.blin@softathome.com> |
| |
| [cmake] Use ICU include dirs in WebKit2 and WebKitTestRunner |
| https://bugs.webkit.org/show_bug.cgi?id=154479 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * CMakeLists.txt: |
| |
| 2016-02-19 Brian Burg <bburg@apple.com> |
| |
| WebAutomationSession should tell its delegate when its remote end disconnects |
| https://bugs.webkit.org/show_bug.cgi?id=154426 |
| <rdar://problem/24732382> |
| |
| Reviewed by Timothy Hatcher. |
| |
| The client might want to free up resources or close spawned windows |
| if the remote end has disconnected from the automation session. |
| |
| * UIProcess/API/APIAutomationSessionClient.h: |
| (API::AutomationSessionClient::didDisconnectFromRemote): Added. |
| (API::AutomationSessionClient::didRequestNewWindow): |
| Remove WebProcessPool* argument as it is never used. |
| |
| * UIProcess/API/Cocoa/_WKAutomationSession.h: |
| * UIProcess/API/Cocoa/_WKAutomationSession.mm: |
| (-[_WKAutomationSession isPaired]): |
| Expose whether the session is paired with a remote end. |
| |
| * UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h: Add method. |
| * UIProcess/Cocoa/AutomationSessionClient.h: Add method. |
| Remove WebProcessPool* argument as it is never used. |
| |
| * UIProcess/Cocoa/AutomationSessionClient.mm: |
| (WebKit::AutomationSessionClient::AutomationSessionClient): |
| (WebKit::AutomationSessionClient::didRequestNewWindow): |
| (WebKit::AutomationSessionClient::didDisconnectFromRemote): |
| Add necessary forwarding boilerplate. |
| |
| * UIProcess/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::disconnect): Inform the client. |
| |
| 2016-02-19 Beth Dakin <bdakin@apple.com> |
| |
| Enhance EditorState to include TypingAttributes, alignment, and color |
| https://bugs.webkit.org/show_bug.cgi?id=154424 |
| |
| Reviewed by Dean Jackson and Sam Weinig. |
| |
| TypingAttributes is already available for iOS and GTK. This patch hooks |
| that up on Mac as well, and it moves the calculation of that to the shared |
| file since there is no reason for this to be written in an iOS-only way. This |
| patch also adds textColor and textAlignment to EditorState, and since those |
| are not technically platform-specific either, they are also calculated in the |
| shared editorState() function. |
| |
| * Shared/EditorState.cpp: |
| (WebKit::EditorState::PostLayoutData::encode): |
| (WebKit::EditorState::PostLayoutData::decode): |
| * Shared/EditorState.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::editorState): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::platformEditorState): |
| |
| 2016-02-19 Anders Carlsson <andersca@apple.com> |
| |
| Purge as much as we can from WKDeprecatedFunctions.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=154459 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/API/c/WKDeprecatedFunctions.cpp: |
| (WKArrayIsMutable): Deleted. |
| (WKPageSetVisibilityState): Deleted. |
| (WKDictionaryIsMutable): Deleted. |
| (WKDictionaryAddItem): Deleted. |
| (WKDictionaryRemoveItem): Deleted. |
| (WKPreferencesSetRegionBasedColumnsEnabled): Deleted. |
| (WKPreferencesGetRegionBasedColumnsEnabled): Deleted. |
| (WKPreferencesSetMultithreadedWebGLEnabled): Deleted. |
| (WKPreferencesGetMultithreadedWebGLEnabled): Deleted. |
| (WKPreferencesSetScreenFontSubstitutionEnabled): Deleted. |
| (WKPreferencesGetScreenFontSubstitutionEnabled): Deleted. |
| (WKInspectorIsDebuggingJavaScript): Deleted. |
| (WKInspectorToggleJavaScriptDebugging): Deleted. |
| (WKInspectorIsProfilingJavaScript): Deleted. |
| (WKInspectorToggleJavaScriptProfiling): Deleted. |
| (WKContextGetProcessModel): Deleted. |
| (WKGraphicsContextGetCGContext): Deleted. |
| (WKContextGetProcessSuppressionEnabled): Deleted. |
| (WKContextSetProcessSuppressionEnabled): Deleted. |
| |
| 2016-02-19 Brady Eidson <beidson@apple.com> |
| |
| Add "databaseProcessDidCrash" to the WKContextClient; Adopt it in WKTR. |
| https://bugs.webkit.org/show_bug.cgi?id=154428 |
| |
| Reviewed by Jer Noble. |
| |
| * UIProcess/API/C/WKContext.h: |
| * UIProcess/API/C/mac/WKContextPrivateMac.h: |
| * UIProcess/API/C/mac/WKContextPrivateMac.mm: |
| (WKContextGetDatabaseProcessIdentifier): |
| |
| * UIProcess/WebContextClient.cpp: |
| (WebKit::WebContextClient::databaseProcessDidCrash): |
| * UIProcess/WebContextClient.h: |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::databaseProcessCrashed): |
| (WebKit::WebProcessPool::databaseProcessIdentifier): |
| * UIProcess/WebProcessPool.h: |
| |
| 2016-02-18 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [GTK] Limit the number of tiles according to the visible area |
| https://bugs.webkit.org/show_bug.cgi?id=126122 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| (WebKit::LayerTreeHostGtk::initialize): Because we creates |
| nonCompositingLayer with a size of current view, we should not apply |
| the currently visible rect when creating / deleting tiles. |
| (WebKit::LayerTreeHostGtk::flushPendingLayerChanges): Passes the current |
| visible rect to the GraphicsLayers. |
| |
| 2016-02-18 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Fix IDBGetResult encoder/decoder. |
| https://bugs.webkit.org/show_bug.cgi?id=154421 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests, as Modern IDB is still disabled for WK2. |
| |
| But if you manually enable it, "Basic IndexedDB Seems To Work" |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<IDBGetResult>::encode): Deleted. |
| (IPC::ArgumentCoder<IDBGetResult>::decode): Deleted. |
| * Shared/WebCoreArgumentCoders.h: |
| |
| 2016-02-18 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Implement server->client operations in WK2. |
| https://bugs.webkit.org/show_bug.cgi?id=154411 |
| |
| Reviewed by Alex Christensen. |
| |
| No change in behavior yet; Just laying the groundwork. |
| |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp: |
| (WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient): |
| (WebKit::WebIDBConnectionToClient::~WebIDBConnectionToClient): |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| (WebKit::WebIDBConnectionToServer::didDeleteDatabase): |
| (WebKit::WebIDBConnectionToServer::didOpenDatabase): |
| (WebKit::WebIDBConnectionToServer::didAbortTransaction): |
| (WebKit::WebIDBConnectionToServer::didCommitTransaction): |
| (WebKit::WebIDBConnectionToServer::didCreateObjectStore): |
| (WebKit::WebIDBConnectionToServer::didDeleteObjectStore): |
| (WebKit::WebIDBConnectionToServer::didClearObjectStore): |
| (WebKit::WebIDBConnectionToServer::didCreateIndex): |
| (WebKit::WebIDBConnectionToServer::didDeleteIndex): |
| (WebKit::WebIDBConnectionToServer::didPutOrAdd): |
| (WebKit::WebIDBConnectionToServer::didGetRecord): |
| (WebKit::WebIDBConnectionToServer::didGetCount): |
| (WebKit::WebIDBConnectionToServer::didDeleteRecord): |
| (WebKit::WebIDBConnectionToServer::didOpenCursor): |
| (WebKit::WebIDBConnectionToServer::didIterateCursor): |
| (WebKit::WebIDBConnectionToServer::fireVersionChangeEvent): |
| (WebKit::WebIDBConnectionToServer::didStartTransaction): |
| (WebKit::WebIDBConnectionToServer::notifyOpenDBRequestBlocked): |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: |
| |
| * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: |
| (WebKit::WebToDatabaseProcessConnection::didReceiveMessage): |
| |
| 2016-02-18 Brian Burg <bburg@apple.com> |
| |
| RemoteInspector deadlocks if _WKAutomationDelegate creates/registers a target synchronously |
| https://bugs.webkit.org/show_bug.cgi?id=154359 |
| <rdar://problem/24708897> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UIProcess/Cocoa/AutomationClient.mm: |
| (WebKit::AutomationClient::requestAutomationSession): |
| Make an NSString out of the String reference so it gets captured correctly. |
| |
| 2016-02-18 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Implement client->server operations in WK2. |
| https://bugs.webkit.org/show_bug.cgi?id=154400 |
| |
| Reviewed by Alex Christensen. |
| |
| No change in behavior yet; Just laying the groundwork. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::idbServer): |
| * DatabaseProcess/DatabaseProcess.h: |
| |
| * DatabaseProcess/DatabaseToWebProcessConnection.cpp: |
| (WebKit::DatabaseToWebProcessConnection::didReceiveMessage): |
| * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: |
| |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp: |
| (WebKit::WebIDBConnectionToClient::deleteDatabase): |
| (WebKit::WebIDBConnectionToClient::openDatabase): |
| (WebKit::WebIDBConnectionToClient::abortTransaction): |
| (WebKit::WebIDBConnectionToClient::commitTransaction): |
| (WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction): |
| (WebKit::WebIDBConnectionToClient::createObjectStore): |
| (WebKit::WebIDBConnectionToClient::deleteObjectStore): |
| (WebKit::WebIDBConnectionToClient::clearObjectStore): |
| (WebKit::WebIDBConnectionToClient::createIndex): |
| (WebKit::WebIDBConnectionToClient::deleteIndex): |
| (WebKit::WebIDBConnectionToClient::putOrAdd): |
| (WebKit::WebIDBConnectionToClient::getRecord): |
| (WebKit::WebIDBConnectionToClient::getCount): |
| (WebKit::WebIDBConnectionToClient::deleteRecord): |
| (WebKit::WebIDBConnectionToClient::openCursor): |
| (WebKit::WebIDBConnectionToClient::iterateCursor): |
| (WebKit::WebIDBConnectionToClient::establishTransaction): |
| (WebKit::WebIDBConnectionToClient::databaseConnectionClosed): |
| (WebKit::WebIDBConnectionToClient::abortOpenAndUpgradeNeeded): |
| (WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent): |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h: |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in: |
| |
| 2016-02-18 ChangSeok Oh <changseok.oh@collabora.com> |
| |
| [GTK][Threaded Compositor] The web inspector doesn't work when using the threaded compositor |
| https://bugs.webkit.org/show_bug.cgi?id=154067 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| The forceCompositingMode should be true for threaded compositor. We set it true for a normal webView |
| in _WebKitSettingsPrivate() but we do not for inspector anywhere. So DrawingArea is not |
| properly created for the inspector. Let's move the setting to WebPreferences::platformInitializeStore |
| which is a common place for the webView and the inspector. |
| |
| * UIProcess/API/gtk/WebKitSettings.cpp: |
| (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Deleted. |
| * UIProcess/gtk/WebPreferencesGtk.cpp: |
| (WebKit::WebPreferences::platformInitializeStore): |
| |
| 2016-02-18 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r196765. |
| https://bugs.webkit.org/show_bug.cgi?id=154402 |
| |
| Broke Safari (Requested by andersca on #webkit). |
| |
| Reverted changeset: |
| |
| "Remove two unused functions" |
| https://bugs.webkit.org/show_bug.cgi?id=154397 |
| http://trac.webkit.org/changeset/196765 |
| |
| 2016-02-18 Anders Carlsson <andersca@apple.com> |
| |
| Remove two unused functions |
| https://bugs.webkit.org/show_bug.cgi?id=154397 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextGetPluginSiteDataManager): Deleted. |
| (WKContextGetResourceCacheManager): Deleted. |
| * UIProcess/API/C/WKContext.h: |
| |
| 2016-02-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Use G_TYPE_ERROR instead of G_TYPE_POINTER for GError parameters of signals |
| https://bugs.webkit.org/show_bug.cgi?id=153786 |
| |
| Reviewed by Michael Catanzaro. |
| |
| It's binary compatible and it's needed by binding generator to |
| properly identify those parameters as GError. |
| |
| * UIProcess/API/gtk/WebKitDownload.cpp: |
| (webkit_download_class_init): |
| * UIProcess/API/gtk/WebKitPrintOperation.cpp: |
| (webkit_print_operation_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: |
| |
| 2016-02-18 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] Move WebView from CoordinatedGraphics to efl |
| https://bugs.webkit.org/show_bug.cgi?id=154332 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * PlatformEfl.cmake: |
| * UIProcess/efl/WebView.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.cpp. |
| * UIProcess/efl/WebView.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.h. |
| * UIProcess/efl/WebViewClient.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/WebViewClient.cpp. |
| * UIProcess/efl/WebViewClient.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/WebViewClient.h. |
| |
| 2016-02-17 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Rename some "UniqueIDBDatabase" classes that conflict with new classes in WebCore. |
| https://bugs.webkit.org/show_bug.cgi?id=154363. |
| |
| Reviewed by Alex Christensen. |
| |
| Adding "Legacy" to the front of the name fixes problems for now. |
| |
| And all of this gunk will go away after Modern IDB is done, anyways. |
| |
| * CMakeLists.txt: |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::getOrCreateLegacyUniqueIDBDatabase): |
| (WebKit::DatabaseProcess::removeLegacyUniqueIDBDatabase): |
| (WebKit::DatabaseProcess::getOrCreateUniqueIDBDatabase): Deleted. |
| (WebKit::DatabaseProcess::removeUniqueIDBDatabase): Deleted. |
| * DatabaseProcess/DatabaseProcess.h: |
| * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: |
| (WebKit::DatabaseProcessIDBConnection::establishConnection): |
| * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: |
| * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.cpp: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp. |
| (WebKit::LegacyUniqueIDBDatabase::calculateAbsoluteDatabaseFilename): |
| (WebKit::LegacyUniqueIDBDatabase::LegacyUniqueIDBDatabase): |
| (WebKit::LegacyUniqueIDBDatabase::~LegacyUniqueIDBDatabase): |
| (WebKit::LegacyUniqueIDBDatabase::filenameForDatabaseName): |
| (WebKit::LegacyUniqueIDBDatabase::databaseFilenameIdentifier): |
| (WebKit::LegacyUniqueIDBDatabase::canShareDatabases): |
| (WebKit::LegacyUniqueIDBDatabase::registerConnection): |
| (WebKit::LegacyUniqueIDBDatabase::unregisterConnection): |
| (WebKit::LegacyUniqueIDBDatabase::shutdown): |
| (WebKit::LegacyUniqueIDBDatabase::shutdownBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::didShutdownBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::deleteDatabase): |
| (WebKit::LegacyUniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): |
| (WebKit::LegacyUniqueIDBDatabase::openBackingStoreAndReadMetadata): |
| (WebKit::LegacyUniqueIDBDatabase::didOpenBackingStoreAndReadMetadata): |
| (WebKit::LegacyUniqueIDBDatabase::openTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::beginTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::commitTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::resetTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::rollbackTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::postTransactionOperation): |
| (WebKit::LegacyUniqueIDBDatabase::didCompleteTransactionOperation): |
| (WebKit::LegacyUniqueIDBDatabase::changeDatabaseVersion): |
| (WebKit::LegacyUniqueIDBDatabase::didChangeDatabaseVersion): |
| (WebKit::LegacyUniqueIDBDatabase::didCreateObjectStore): |
| (WebKit::LegacyUniqueIDBDatabase::didDeleteObjectStore): |
| (WebKit::LegacyUniqueIDBDatabase::didClearObjectStore): |
| (WebKit::LegacyUniqueIDBDatabase::didCreateIndex): |
| (WebKit::LegacyUniqueIDBDatabase::didDeleteIndex): |
| (WebKit::LegacyUniqueIDBDatabase::didCompleteBoolRequest): |
| (WebKit::LegacyUniqueIDBDatabase::createObjectStore): |
| (WebKit::LegacyUniqueIDBDatabase::deleteObjectStore): |
| (WebKit::LegacyUniqueIDBDatabase::clearObjectStore): |
| (WebKit::LegacyUniqueIDBDatabase::createIndex): |
| (WebKit::LegacyUniqueIDBDatabase::deleteIndex): |
| (WebKit::LegacyUniqueIDBDatabase::putRecord): |
| (WebKit::LegacyUniqueIDBDatabase::getRecord): |
| (WebKit::LegacyUniqueIDBDatabase::openCursor): |
| (WebKit::LegacyUniqueIDBDatabase::cursorAdvance): |
| (WebKit::LegacyUniqueIDBDatabase::cursorIterate): |
| (WebKit::LegacyUniqueIDBDatabase::count): |
| (WebKit::LegacyUniqueIDBDatabase::deleteRange): |
| (WebKit::LegacyUniqueIDBDatabase::openBackingStoreTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::beginBackingStoreTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::commitBackingStoreTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::resetBackingStoreTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::rollbackBackingStoreTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::changeDatabaseVersionInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::createObjectStoreInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::deleteObjectStoreInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::clearObjectStoreInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::createIndexInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::deleteIndexInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::putRecordInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::didPutRecordInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::getRecordFromBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::didGetRecordFromBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::openCursorInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::didOpenCursorInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::advanceCursorInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::didAdvanceCursorInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::iterateCursorInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::didIterateCursorInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::countInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::didCountInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::deleteRangeInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::didDeleteRangeInBackingStore): |
| (WebKit::LegacyUniqueIDBDatabase::didEstablishTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::didResetTransaction): |
| (WebKit::LegacyUniqueIDBDatabase::resetAllTransactions): |
| (WebKit::LegacyUniqueIDBDatabase::finalizeRollback): |
| (WebKit::LegacyUniqueIDBDatabase::absoluteDatabaseDirectory): |
| (WebKit::LegacyUniqueIDBDatabase::postMainThreadTask): |
| (WebKit::LegacyUniqueIDBDatabase::performNextMainThreadTask): |
| (WebKit::LegacyUniqueIDBDatabase::postDatabaseTask): |
| (WebKit::LegacyUniqueIDBDatabase::performNextDatabaseTask): |
| * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.h. |
| (WebKit::LegacyUniqueIDBDatabase::create): |
| (WebKit::LegacyUniqueIDBDatabase::identifier): |
| * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.cpp: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp. |
| (WebKit::LegacyUniqueIDBDatabaseIdentifier::LegacyUniqueIDBDatabaseIdentifier): |
| (WebKit::LegacyUniqueIDBDatabaseIdentifier::isHashTableDeletedValue): |
| (WebKit::LegacyUniqueIDBDatabaseIdentifier::hash): |
| (WebKit::LegacyUniqueIDBDatabaseIdentifier::isNull): |
| (WebKit::LegacyUniqueIDBDatabaseIdentifier::isolatedCopy): |
| (WebKit::operator==): |
| * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h. |
| (WebKit::LegacyUniqueIDBDatabaseIdentifier::databaseName): |
| (WebKit::LegacyUniqueIDBDatabaseIdentifier::openingOrigin): |
| (WebKit::LegacyUniqueIDBDatabaseIdentifier::mainFrameOrigin): |
| (WebKit::LegacyUniqueIDBDatabaseIdentifierHash::hash): |
| (WebKit::LegacyUniqueIDBDatabaseIdentifierHash::equal): |
| (WebKit::LegacyUniqueIDBDatabaseIdentifierHashTraits::isEmptyValue): |
| * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): |
| * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: |
| * Shared/WebCrossThreadCopier.cpp: |
| (WebCore::LegacyUniqueIDBDatabaseIdentifier>::copy): |
| (WebCore::UniqueIDBDatabaseIdentifier>::copy): Deleted. |
| * Shared/WebCrossThreadCopier.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-02-17 Anders Carlsson <andersca@apple.com> |
| |
| Remove WebContextSupplement::shouldTerminate, it's no longer used |
| https://bugs.webkit.org/show_bug.cgi?id=154367 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/WebContextSupplement.h: |
| (WebKit::WebContextSupplement::shouldTerminate): Deleted. |
| * UIProcess/WebCookieManagerProxy.cpp: |
| (WebKit::WebCookieManagerProxy::shouldTerminate): Deleted. |
| * UIProcess/WebCookieManagerProxy.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::shouldTerminate): Deleted. |
| |
| 2016-02-17 Brian Burg <bburg@apple.com> |
| |
| RemoteInspector deadlocks if _WKAutomationDelegate creates/registers a target synchronously |
| https://bugs.webkit.org/show_bug.cgi?id=154359 |
| <rdar://problem/24708897> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| RemoteInspector always grabs a lock whenever receiving or sending XPC messages. If it |
| forwards a new session request via _WKAutomationDelegate, and the client synchronously |
| creates and registers a session, then RemoteInspector will try to grab the lock again |
| while adding the session to its registry, causing a deadlock. |
| |
| * UIProcess/Cocoa/AutomationClient.mm: |
| (WebKit::AutomationClient::requestAutomationSession): Add a dispatch_async() to |
| protect clients from accidentally deadlocking. They shouldn't have to care about |
| RemoteInspector's locking mechanisms. |
| |
| 2016-02-17 Anders Carlsson <andersca@apple.com> |
| |
| Remove an unused function |
| https://bugs.webkit.org/show_bug.cgi?id=154358 |
| |
| Reviewed by Sam Weinig. |
| |
| * Platform/cg/CGUtilities.cpp: |
| (WebKit::paintBitmapContext): Deleted. |
| * Platform/cg/CGUtilities.h: |
| |
| 2016-02-17 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: More Encoder/Decoder/Messaging scaffolding for WK2 IPC. |
| https://bugs.webkit.org/show_bug.cgi?id=154356 |
| |
| Reviewed by Alex Christensen. |
| |
| No change in behavior yet; Just laying the groundwork. |
| |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp: |
| (WebKit::WebIDBConnectionToClient::didDeleteDatabase): |
| (WebKit::WebIDBConnectionToClient::didOpenDatabase): |
| (WebKit::WebIDBConnectionToClient::didAbortTransaction): |
| (WebKit::WebIDBConnectionToClient::didCommitTransaction): |
| (WebKit::WebIDBConnectionToClient::didCreateObjectStore): |
| (WebKit::WebIDBConnectionToClient::didDeleteObjectStore): |
| (WebKit::WebIDBConnectionToClient::didClearObjectStore): |
| (WebKit::WebIDBConnectionToClient::didCreateIndex): |
| (WebKit::WebIDBConnectionToClient::didDeleteIndex): |
| (WebKit::WebIDBConnectionToClient::didPutOrAdd): |
| (WebKit::WebIDBConnectionToClient::didGetRecord): |
| (WebKit::WebIDBConnectionToClient::didGetCount): |
| (WebKit::WebIDBConnectionToClient::didDeleteRecord): |
| (WebKit::WebIDBConnectionToClient::didOpenCursor): |
| (WebKit::WebIDBConnectionToClient::didIterateCursor): |
| (WebKit::WebIDBConnectionToClient::fireVersionChangeEvent): |
| (WebKit::WebIDBConnectionToClient::didStartTransaction): |
| (WebKit::WebIDBConnectionToClient::notifyOpenDBRequestBlocked): |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in: |
| |
| 2016-02-17 Alex Christensen <achristensen@webkit.org> |
| |
| Fix GTK build after r196720. |
| |
| * UIProcess/API/gtk/WebKitUIClient.cpp: |
| |
| 2016-02-17 Anders Carlsson <andersca@apple.com> |
| |
| Need listener-based version of runBeforeUnloadConfirmPanel |
| https://bugs.webkit.org/show_bug.cgi?id=154354 |
| rdar://problem/23736691 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/API/APIObject.h: |
| * Shared/API/c/WKBase.h: |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::runBeforeUnloadConfirmPanel): |
| * UIProcess/API/C/WKPage.cpp: |
| (fixUpBotchedPageUIClient): |
| (WebKit::RunBeforeUnloadConfirmPanelResultListener::create): |
| (WebKit::RunBeforeUnloadConfirmPanelResultListener::~RunBeforeUnloadConfirmPanelResultListener): |
| (WebKit::RunBeforeUnloadConfirmPanelResultListener::call): |
| (WKPageRunBeforeUnloadConfirmPanelResultListenerGetTypeID): |
| (WKPageRunBeforeUnloadConfirmPanelResultListenerCall): |
| (WKPageSetPageUIClient): |
| * UIProcess/API/C/WKPageUIClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| |
| 2016-02-17 Simon Fraser <simon.fraser@apple.com> |
| |
| PDFPlugin's scrollableArea container is not properly unregistered when page is going into the PageCache |
| https://bugs.webkit.org/show_bug.cgi?id=148182 |
| |
| Reviewed by Brent Fulgham. |
| |
| When handling Command-arrow key while showing a scrollable PDF, the timing of PDFPlugin |
| teardown and navigation could result in PDFPlugin::destroy() getting the wrong FrameView, |
| so the old FrameView was left with a stale pointer in its scrollableAreaSet. |
| |
| Fix this by adding an explicit willDetatchRenderer() which is called on the plugin |
| before the Frame gets a new FrameView. |
| |
| Also narrow the scope of the RefPtr<Widget> in HTMLPlugInElement::defaultEventHandler() |
| so that the Widget is not kept alive over a possible navigation. |
| |
| I was unable to make an automated test, because reproducing the bug requires handling |
| a Command-arrow key event in a way that the last ref to a Widget is held over the event |
| handling, and this wasn't possible in an iframe. |
| |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h: |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::PDFPlugin::willDetatchRenderer): |
| * WebProcess/Plugins/Plugin.h: |
| (WebKit::Plugin::willDetatchRenderer): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::willDetatchRenderer): |
| * WebProcess/Plugins/PluginView.h: |
| |
| 2016-02-17 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Encoder/Decoder/Messaging scaffolding for WK2 IPC. |
| https://bugs.webkit.org/show_bug.cgi?id=154351 |
| |
| Reviewed by Alex Christensen. |
| |
| No change in behavior yet; Just laying the groundwork. |
| |
| Implement in all of the client->server message sends, requiring many Encoder/Decoders for |
| IDB objects to also be implemented: |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| (WebKit::WebIDBConnectionToServer::deleteDatabase): |
| (WebKit::WebIDBConnectionToServer::openDatabase): |
| (WebKit::WebIDBConnectionToServer::abortTransaction): |
| (WebKit::WebIDBConnectionToServer::commitTransaction): |
| (WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction): |
| (WebKit::WebIDBConnectionToServer::createObjectStore): |
| (WebKit::WebIDBConnectionToServer::deleteObjectStore): |
| (WebKit::WebIDBConnectionToServer::clearObjectStore): |
| (WebKit::WebIDBConnectionToServer::createIndex): |
| (WebKit::WebIDBConnectionToServer::deleteIndex): |
| (WebKit::WebIDBConnectionToServer::putOrAdd): |
| (WebKit::WebIDBConnectionToServer::getRecord): |
| (WebKit::WebIDBConnectionToServer::getCount): |
| (WebKit::WebIDBConnectionToServer::deleteRecord): |
| (WebKit::WebIDBConnectionToServer::openCursor): |
| (WebKit::WebIDBConnectionToServer::iterateCursor): |
| (WebKit::WebIDBConnectionToServer::establishTransaction): |
| (WebKit::WebIDBConnectionToServer::databaseConnectionClosed): |
| (WebKit::WebIDBConnectionToServer::abortOpenAndUpgradeNeeded): |
| (WebKit::WebIDBConnectionToServer::didFireVersionChangeEvent): |
| |
| 2016-02-17 Alex Christensen <achristensen@webkit.org> |
| |
| Copy http body when being redirected with 308 with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154348 |
| |
| Reviewed by Brady Eidson. |
| |
| This fixes http/tests/security/cors-post-redirect-308.html |
| which used to assert in ResourceRequest::doUpdateResourceHTTPBody |
| |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::willPerformHTTPRedirection): |
| |
| 2016-02-17 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: More WK2 IPC Scaffolding. |
| https://bugs.webkit.org/show_bug.cgi?id=154317 |
| |
| Reviewed by Alex Christensen. |
| |
| No change in behavior yet; Just laying the groundwork. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp: |
| (WebKit::WebIDBConnectionToClient::deleteDatabase): |
| (WebKit::WebIDBConnectionToClient::openDatabase): |
| (WebKit::WebIDBConnectionToClient::abortTransaction): |
| (WebKit::WebIDBConnectionToClient::commitTransaction): |
| (WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction): |
| (WebKit::WebIDBConnectionToClient::createObjectStore): |
| (WebKit::WebIDBConnectionToClient::deleteObjectStore): |
| (WebKit::WebIDBConnectionToClient::clearObjectStore): |
| (WebKit::WebIDBConnectionToClient::createIndex): |
| (WebKit::WebIDBConnectionToClient::deleteIndex): |
| (WebKit::WebIDBConnectionToClient::putOrAdd): |
| (WebKit::WebIDBConnectionToClient::getRecord): |
| (WebKit::WebIDBConnectionToClient::getCount): |
| (WebKit::WebIDBConnectionToClient::deleteRecord): |
| (WebKit::WebIDBConnectionToClient::openCursor): |
| (WebKit::WebIDBConnectionToClient::iterateCursor): |
| (WebKit::WebIDBConnectionToClient::establishTransaction): |
| (WebKit::WebIDBConnectionToClient::databaseConnectionClosed): |
| (WebKit::WebIDBConnectionToClient::abortOpenAndUpgradeNeeded): |
| (WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent): |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h: |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in: Added. |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| (WebKit::WebIDBConnectionToServer::didDeleteDatabase): |
| (WebKit::WebIDBConnectionToServer::didOpenDatabase): |
| (WebKit::WebIDBConnectionToServer::didAbortTransaction): |
| (WebKit::WebIDBConnectionToServer::didCommitTransaction): |
| (WebKit::WebIDBConnectionToServer::didCreateObjectStore): |
| (WebKit::WebIDBConnectionToServer::didDeleteObjectStore): |
| (WebKit::WebIDBConnectionToServer::didClearObjectStore): |
| (WebKit::WebIDBConnectionToServer::didCreateIndex): |
| (WebKit::WebIDBConnectionToServer::didDeleteIndex): |
| (WebKit::WebIDBConnectionToServer::didPutOrAdd): |
| (WebKit::WebIDBConnectionToServer::didGetRecord): |
| (WebKit::WebIDBConnectionToServer::didGetCount): |
| (WebKit::WebIDBConnectionToServer::didDeleteRecord): |
| (WebKit::WebIDBConnectionToServer::didOpenCursor): |
| (WebKit::WebIDBConnectionToServer::didIterateCursor): |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in: Added. |
| |
| 2016-02-17 Alex Christensen <achristensen@webkit.org> |
| |
| CMake build fix after r196698. |
| |
| * PlatformMac.cmake: |
| |
| 2016-02-17 Alex Christensen <achristensen@webkit.org> |
| |
| CMake build fix after r196698. |
| |
| * CMakeLists.txt: |
| |
| 2016-02-17 Anders Carlsson <andersca@apple.com> |
| |
| Remove unused media cache manager code |
| https://bugs.webkit.org/show_bug.cgi?id=154339 |
| |
| Reviewed by Tim Horton. |
| |
| * DerivedSources.make: |
| * Shared/API/c/WKBase.h: |
| * UIProcess/API/C/WKAPICast.h: |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextGetMediaCacheManager): Deleted. |
| * UIProcess/API/C/WKContext.h: |
| * UIProcess/API/C/WKMediaCacheManager.cpp: Removed. |
| (WKMediaCacheManagerGetTypeID): Deleted. |
| (WKMediaCacheManagerGetHostnamesWithMediaCache): Deleted. |
| (WKMediaCacheManagerClearCacheForHostname): Deleted. |
| (WKMediaCacheManagerClearCacheForAllHostnames): Deleted. |
| * UIProcess/API/C/WKMediaCacheManager.h: Removed. |
| * UIProcess/WebMediaCacheManagerProxy.cpp: Removed. |
| (WebKit::WebMediaCacheManagerProxy::supplementName): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::create): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::~WebMediaCacheManagerProxy): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::processPoolDestroyed): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::processDidClose): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::shouldTerminate): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::refWebContextSupplement): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::derefWebContextSupplement): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname): Deleted. |
| (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames): Deleted. |
| * UIProcess/WebMediaCacheManagerProxy.h: Removed. |
| * UIProcess/WebMediaCacheManagerProxy.messages.in: Removed. |
| * UIProcess/WebProcessPool.cpp: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/MediaCache/WebMediaCacheManager.cpp: Removed. |
| (WebKit::WebMediaCacheManager::supplementName): Deleted. |
| (WebKit::WebMediaCacheManager::WebMediaCacheManager): Deleted. |
| (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache): Deleted. |
| (WebKit::WebMediaCacheManager::clearCacheForHostname): Deleted. |
| (WebKit::WebMediaCacheManager::clearCacheForAllHostnames): Deleted. |
| * WebProcess/MediaCache/WebMediaCacheManager.h: Removed. |
| * WebProcess/MediaCache/WebMediaCacheManager.messages.in: Removed. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::m_webSQLiteDatabaseTracker): Deleted. |
| |
| 2016-02-16 Dean Jackson <dino@apple.com> |
| |
| Allow double tap to zoom in fast-click pages |
| https://bugs.webkit.org/show_bug.cgi?id=154318 |
| <rdar://problem/24223767> |
| |
| Reviewed by Simon Fraser and Benjamin Poulain. |
| |
| Most of the patch comes from Jon Lee. |
| |
| Our fast-click algorithm exposed a number of cases where |
| people missed the double-tap-to-zoom behaviour. In particular, |
| when you double tap on a large body of text, typical in |
| blogs and articles. |
| |
| This patch enhances the algorithm to have a parallel |
| double-tap gesture recognizer in the situations where |
| fast-click is enabled. This new gesture recongizer does |
| not cause the single tap to block for 350ms, so clicks |
| are still dispatched fast. If it fires, we already have |
| some information about whether we have a pending double |
| tap, based on the first tap. |
| |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::disableDoubleTapGesturesDuringTapIfNecessary): Remove the optimization |
| that only told the content view to disable on pages that allowed double taps. We now allow |
| them even on fast click pages. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: Add the new UITapGestureRecognizer for double taps |
| in fast click pages. This is called nonBlockingDoubleTapGestureRecognizer because, unlike |
| the existing DoubleTapGestureRecognizer, this one does not force the singleTapRecognizer |
| to wait. |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView setupInteraction]): Set up the new UITapGestureRecognizer. |
| (-[WKContentView cleanupInteraction]): And remove it when we're done. |
| (-[WKContentView _removeDefaultGestureRecognizers]): Ditto. |
| (-[WKContentView _addDefaultGestureRecognizers]): |
| (-[WKContentView _inspectorNodeSearchRecognized:]): Something happened, we are no longer in |
| a potential double tap situation. |
| (-[WKContentView _disableDoubleTapGesturesDuringTapIfNecessary:]): Remove the check |
| for potential tap in progress. |
| (-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]): |
| (-[WKContentView gestureRecognizerShouldBegin:]): |
| (-[WKContentView _highlightLongPressRecognized:]): Again, something happened, so we are |
| no longer in a double tap situation. |
| (-[WKContentView _longPressRecognized:]): Ditto. |
| (-[WKContentView _singleTapRecognized:]): Ditto. |
| (-[WKContentView _doubleTapRecognized:]): Ditto. |
| (-[WKContentView _resetIsDoubleTapPending]): |
| (-[WKContentView _fastDoubleTapRecognized:]): We're now pending a double tap. |
| (-[WKContentView _twoFingerDoubleTapRecognized:]): |
| (-[WKContentView _didNotHandleTapAsClick:]): If we get here and we have a pending |
| double tap, then trigger a zoom operation. |
| (-[WKContentView _setDoubleTapGesturesEnabled:]): |
| |
| 2016-02-16 Alex Christensen <achristensen@webkit.org> |
| |
| CMake build fix. |
| |
| * PlatformMac.cmake: |
| |
| 2016-02-16 Alex Christensen <achristensen@webkit.org> |
| |
| Use NSURLCredential from serverTrust when evaluating server trust AuthenticationChallenges with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154316 |
| |
| Reviewed by Brady Eidson. |
| |
| This fixes http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html |
| and many other layout tests that use https because it allows https connections with servers |
| with self-signed certificates when TestController::canAuthenticateAgainstProtectionSpace in |
| WebKitTestRunner says it's OK, or when any other WKPageNavigationClient says it's ok. |
| |
| * NetworkProcess/NetworkDataTask.h: |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::serverTrustCredential): |
| |
| 2016-02-16 Anders Carlsson <andersca@apple.com> |
| |
| Use pid_t everywhere, instead of PlatformProcessIdentifier |
| https://bugs.webkit.org/show_bug.cgi?id=154306 |
| |
| Reviewed by Sam Weinig. |
| |
| * Platform/IPC/Connection.h: |
| * Platform/PlatformProcessIdentifier.h: Removed. |
| * UIProcess/API/efl/tests/test_ewk2_context.cpp: |
| (TEST_F): |
| * UIProcess/ChildProcessProxy.h: |
| (WebKit::ChildProcessProxy::processIdentifier): |
| * UIProcess/Launcher/ProcessLauncher.cpp: |
| (WebKit::ProcessLauncher::didFinishLaunchingProcess): |
| * UIProcess/Launcher/ProcessLauncher.h: |
| (WebKit::ProcessLauncher::processIdentifier): |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::processIdentifier): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::networkProcessIdentifier): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-02-16 Anders Carlsson <andersca@apple.com> |
| |
| Remove WebKit2 header cruft |
| https://bugs.webkit.org/show_bug.cgi?id=154309 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * mac/WKError.h: Removed. |
| * mac/WKPreferences.h: Removed. |
| |
| 2016-02-16 Anders Carlsson <andersca@apple.com> |
| |
| Remove unused environment variable classes |
| https://bugs.webkit.org/show_bug.cgi?id=154308 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h: Removed. |
| * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: Removed. |
| (WebKit::DynamicLinkerEnvironmentExtractor::DynamicLinkerEnvironmentExtractor): Deleted. |
| (WebKit::DynamicLinkerEnvironmentExtractor::processEnvironmentVariable): Deleted. |
| (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommand): Deleted. |
| (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommands): Deleted. |
| (WebKit::DynamicLinkerEnvironmentExtractor::processSingleArchitecture): Deleted. |
| (WebKit::DynamicLinkerEnvironmentExtractor::processFatFile): Deleted. |
| (WebKit::DynamicLinkerEnvironmentExtractor::getExtractedEnvironmentVariables): Deleted. |
| * UIProcess/Launcher/mac/EnvironmentVariables.cpp: Removed. |
| (WebKit::EnvironmentVariables::EnvironmentVariables): Deleted. |
| (WebKit::EnvironmentVariables::~EnvironmentVariables): Deleted. |
| (WebKit::EnvironmentVariables::set): Deleted. |
| (WebKit::EnvironmentVariables::get): Deleted. |
| (WebKit::EnvironmentVariables::appendValue): Deleted. |
| (WebKit::EnvironmentVariables::valueIfVariableHasName): Deleted. |
| (WebKit::EnvironmentVariables::createStringForVariable): Deleted. |
| (WebKit::EnvironmentVariables::copyEnvironmentVariables): Deleted. |
| (WebKit::EnvironmentVariables::dump): Deleted. |
| * UIProcess/Launcher/mac/EnvironmentVariables.h: Removed. |
| (WebKit::EnvironmentVariables::environmentPointer): Deleted. |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-02-16 Alex Christensen <achristensen@webkit.org> |
| |
| Add checks before redirecting with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154298 |
| |
| Reviewed by Andy Estes. |
| |
| * NetworkProcess/NetworkDataTask.h: |
| (WebKit::NetworkDataTask::create): |
| (WebKit::NetworkDataTask::setPendingDownload): |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| (WebKit::NetworkDataTask::~NetworkDataTask): |
| (WebKit::NetworkDataTask::willPerformHTTPRedirection): |
| Implemented based on ResourceHandle::willSendRequest but with two notable exceptions: |
| 1. When using NSURLConnection, the last http method and the current http method are not always equal, and this |
| check needs to change the current http method to match the last http method when being redirected with an http |
| status code 307. When using NSURLSession, the current http method is already updated properly. |
| 2. I did not copy the part of ResourceHandle::willSendRequest that uses a CredentialStorage. I'm trying to avoid |
| using CredentialStorages with NSURLSession. |
| (WebKit::NetworkDataTask::scheduleFailure): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| |
| 2016-02-16 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: WK2 IPC Scaffolding. |
| https://bugs.webkit.org/show_bug.cgi?id=154296 |
| |
| Reviewed by Alex Christensen. |
| |
| No change in behavior yet; Just laying the groundwork. |
| |
| * CMakeLists.txt: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| * DatabaseProcess/DatabaseToWebProcessConnection.cpp: |
| (WebKit::DatabaseToWebProcessConnection::establishIDBConnectionToServer): |
| (WebKit::DatabaseToWebProcessConnection::removeIDBConnectionToServer): |
| * DatabaseProcess/DatabaseToWebProcessConnection.h: |
| * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: |
| |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp: Added. |
| (WebKit::WebIDBConnectionToClient::create): |
| (WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient): |
| (WebKit::WebIDBConnectionToClient::~WebIDBConnectionToClient): |
| (WebKit::WebIDBConnectionToClient::disconnectedFromWebProcess): |
| (WebKit::WebIDBConnectionToClient::messageSenderConnection): |
| (WebKit::WebIDBConnectionToClient::connectionToClient): |
| (WebKit::WebIDBConnectionToClient::didDeleteDatabase): |
| (WebKit::WebIDBConnectionToClient::didOpenDatabase): |
| (WebKit::WebIDBConnectionToClient::didAbortTransaction): |
| (WebKit::WebIDBConnectionToClient::didCommitTransaction): |
| (WebKit::WebIDBConnectionToClient::didCreateObjectStore): |
| (WebKit::WebIDBConnectionToClient::didDeleteObjectStore): |
| (WebKit::WebIDBConnectionToClient::didClearObjectStore): |
| (WebKit::WebIDBConnectionToClient::didCreateIndex): |
| (WebKit::WebIDBConnectionToClient::didDeleteIndex): |
| (WebKit::WebIDBConnectionToClient::didPutOrAdd): |
| (WebKit::WebIDBConnectionToClient::didGetRecord): |
| (WebKit::WebIDBConnectionToClient::didGetCount): |
| (WebKit::WebIDBConnectionToClient::didDeleteRecord): |
| (WebKit::WebIDBConnectionToClient::didOpenCursor): |
| (WebKit::WebIDBConnectionToClient::didIterateCursor): |
| (WebKit::WebIDBConnectionToClient::fireVersionChangeEvent): |
| (WebKit::WebIDBConnectionToClient::didStartTransaction): |
| (WebKit::WebIDBConnectionToClient::notifyOpenDBRequestBlocked): |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h: Added. |
| |
| * Platform/Logging.h: |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: Added. |
| (WebKit::generateConnectionToServerIdentifier): |
| (WebKit::WebIDBConnectionToServer::create): |
| (WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer): |
| (WebKit::WebIDBConnectionToServer::~WebIDBConnectionToServer): |
| (WebKit::WebIDBConnectionToServer::messageSenderConnection): |
| (WebKit::WebIDBConnectionToServer::coreConnectionToServer): |
| (WebKit::WebIDBConnectionToServer::deleteDatabase): |
| (WebKit::WebIDBConnectionToServer::openDatabase): |
| (WebKit::WebIDBConnectionToServer::abortTransaction): |
| (WebKit::WebIDBConnectionToServer::commitTransaction): |
| (WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction): |
| (WebKit::WebIDBConnectionToServer::createObjectStore): |
| (WebKit::WebIDBConnectionToServer::deleteObjectStore): |
| (WebKit::WebIDBConnectionToServer::clearObjectStore): |
| (WebKit::WebIDBConnectionToServer::createIndex): |
| (WebKit::WebIDBConnectionToServer::deleteIndex): |
| (WebKit::WebIDBConnectionToServer::putOrAdd): |
| (WebKit::WebIDBConnectionToServer::getRecord): |
| (WebKit::WebIDBConnectionToServer::getCount): |
| (WebKit::WebIDBConnectionToServer::deleteRecord): |
| (WebKit::WebIDBConnectionToServer::openCursor): |
| (WebKit::WebIDBConnectionToServer::iterateCursor): |
| (WebKit::WebIDBConnectionToServer::establishTransaction): |
| (WebKit::WebIDBConnectionToServer::databaseConnectionClosed): |
| (WebKit::WebIDBConnectionToServer::abortOpenAndUpgradeNeeded): |
| (WebKit::WebIDBConnectionToServer::didFireVersionChangeEvent): |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: Added. |
| |
| * WebProcess/Databases/WebDatabaseProvider.cpp: |
| (WebKit::WebDatabaseProvider::idbConnectionToServerForSession): |
| * WebProcess/Databases/WebDatabaseProvider.h: |
| |
| * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: |
| (WebKit::WebToDatabaseProcessConnection::idbConnectionToServerForSession): |
| * WebProcess/Databases/WebToDatabaseProcessConnection.h: |
| |
| 2016-02-16 Sam Weinig <sam@webkit.org> |
| |
| Revert r195826. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]): |
| (-[WKContentView _singleTapCommited:]): |
| |
| 2016-02-16 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [Mac][cmake] Unreviewed buildfix after r196488. Just for fun. |
| |
| * PlatformMac.cmake: |
| |
| 2016-02-15 Dan Bernstein <mitz@apple.com> |
| |
| Removed unused files after r196478. |
| |
| * Configurations/DatabaseProcess.xcconfig: Removed. |
| * Configurations/NetworkProcess.xcconfig: Removed. |
| * Configurations/PluginProcess.xcconfig: Removed. |
| * Configurations/WebContentProcess.xcconfig: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-02-15 ChangSeok Oh <changseok.oh@collabora.com> |
| |
| [ThreadedCompositor] position:fixed elements do not have their own layers when threaded compositor is enabled. |
| https://bugs.webkit.org/show_bug.cgi?id=154100 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Currently, fixed elements are redrawn to a backing store every time layout or scroll happens. |
| It results in the bad effect on performance-wise. Letting fixed element have separate layers is |
| necessary when threaded compositor is enabled at least. Because async scrolling requires it. |
| |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| (WebKit::DrawingAreaImpl::updatePreferences): |
| |
| 2016-02-15 Alex Christensen <achristensen@webkit.org> |
| |
| Implement content sniffing check with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154261 |
| |
| Reviewed by Andy Estes. |
| |
| This fixes http/tests/xmlhttprequest/small-chunks-response-text.html when using NetworkSession. |
| |
| * NetworkProcess/NetworkDataTask.h: |
| (WebKit::NetworkDataTask::create): |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| Content sniffing is enabled by default. Disable it if the NetworkLoadParameters say not to. |
| This is analogous to behavior in ResourceHandle::createNSURLConnection. |
| |
| 2016-02-15 Alex Christensen <achristensen@webkit.org> |
| |
| Move Download authentication code to AuthenticationManager |
| https://bugs.webkit.org/show_bug.cgi?id=154132 |
| |
| Reviewed by Sam Weinig. |
| |
| When a video element makes a request that receives an authentication challenge, the |
| AuthenticationManager receives an AuthenticationChallenge without an AuthenticationClient. |
| As a result, Download::receivedCredential and other functions were being called, which |
| sent a message to the challenge's sender. This functionality is not specific to downloads, |
| so I moved it from Download to AuthenticationManager. |
| |
| This fixes http/tests/media/video-auth.html when using NetworkSession |
| because I use AuthenticationManager::receivedCredential if there is no AuthenticationClient |
| instead of improperly asserting that there is always an AuthenticationClient if there is no |
| completionHandler. |
| |
| * NetworkProcess/Downloads/Download.h: |
| * NetworkProcess/Downloads/ios/DownloadIOS.mm: |
| (WebKit::Download::platformDidFinish): |
| (WebKit::Download::receivedCredential): Deleted. |
| (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted. |
| (WebKit::Download::receivedCancellation): Deleted. |
| (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted. |
| (WebKit::Download::receivedChallengeRejection): Deleted. |
| * NetworkProcess/Downloads/mac/DownloadMac.mm: |
| (WebKit::Download::platformDidFinish): |
| (WebKit::Download::receivedCredential): Deleted. |
| (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted. |
| (WebKit::Download::receivedCancellation): Deleted. |
| (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted. |
| (WebKit::Download::receivedChallengeRejection): Deleted. |
| * NetworkProcess/Downloads/soup/DownloadSoup.cpp: |
| (WebKit::Download::platformDidFinish): |
| (WebKit::Download::receivedCredential): Deleted. |
| (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted. |
| (WebKit::Download::receivedCancellation): Deleted. |
| (WebKit::Download::continueWithoutCredential): Deleted. |
| (WebKit::Download::useCredential): Deleted. |
| (WebKit::Download::cancelAuthenticationChallenge): Deleted. |
| (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted. |
| (WebKit::Download::receivedChallengeRejection): Deleted. |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| * PlatformMac.cmake: |
| * Shared/Authentication/AuthenticationManager.cpp: |
| (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge): |
| (WebKit::AuthenticationManager::useCredentialForSingleChallenge): |
| (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge): |
| (WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge): |
| (WebKit::AuthenticationManager::cancelChallenge): |
| (WebKit::AuthenticationManager::cancelSingleChallenge): |
| (WebKit::AuthenticationManager::performDefaultHandling): |
| (WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge): |
| (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue): |
| (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge): |
| * Shared/Authentication/AuthenticationManager.h: |
| (WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount): |
| * Shared/Authentication/cocoa: Added. |
| * Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm: Added. |
| (WebKit::AuthenticationManager::receivedCredential): |
| (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential): |
| (WebKit::AuthenticationManager::receivedCancellation): |
| (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling): |
| (WebKit::AuthenticationManager::receivedChallengeRejection): |
| * Shared/Authentication/soup: Added. |
| * Shared/Authentication/soup/AuthenticationManagerSoup.cpp: Added. |
| (WebKit::AuthenticationManager::receivedCredential): |
| (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential): |
| (WebKit::AuthenticationManager::receivedCancellation): |
| (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling): |
| (WebKit::AuthenticationManager::receivedChallengeRejection): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-02-15 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| [CMake][Mac] Remove WKNPAPIPlugInContainer.mm in WebKit2/PlatformMac.cmake |
| https://bugs.webkit.org/show_bug.cgi?id=154234 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * PlatformMac.cmake: Remove WKNPAPIPlugInContainer.mm. |
| |
| 2016-02-14 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, land an additional Mac CMake build fix. |
| |
| * PlatformMac.cmake: |
| |
| 2016-02-14 Brian Burg <bburg@apple.com> |
| |
| WKAutomationDelegate's requestAutomationSession should take a suggested session identifier |
| https://bugs.webkit.org/show_bug.cgi?id=154012 |
| <rdar://problem/24557697> |
| |
| Reviewed by Darin Adler. |
| |
| Add a string parameter to the delegate method for requesting a new session. |
| |
| * UIProcess/API/APIAutomationClient.h: |
| (API::AutomationClient::didRequestAutomationSession): |
| (API::AutomationClient::requestAutomationSession): Deleted. |
| Rename the client method to better match the delegate method's name. |
| |
| * UIProcess/API/Cocoa/_WKAutomationDelegate.h: |
| * UIProcess/Cocoa/AutomationClient.h: |
| * UIProcess/Cocoa/AutomationClient.mm: |
| (WebKit::AutomationClient::AutomationClient): |
| (WebKit::AutomationClient::requestAutomationSession): |
| |
| 2016-02-13 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GTK+ and hopefully EFL build after r196499. |
| |
| * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: |
| (WebKit::ProcessLauncher::launchProcess): |
| * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: |
| (WebKit::ProcessLauncher::launchProcess): |
| * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: |
| (WebKit::PluginProcessProxy::platformGetLaunchOptions): |
| |
| 2016-02-12 Beth Dakin <bdakin@apple.com> |
| |
| REGRESSION: Link preview is slow and unreliable |
| https://bugs.webkit.org/show_bug.cgi?id=154197 |
| -and corresponding- |
| rdar://problem/24428064 |
| |
| Reviewed by Tim Horton. |
| |
| This patch rolls http://trac.webkit.org/changeset/187471 back in. That was |
| how we fixed this problem ages ago. We rolled it out because it very |
| mysteriously seemed to cause a memory regression, but we want to track that |
| separately and not leave this performance regression in its place in the |
| meantime. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::updateViewState): |
| (WebKit::WebPageProxy::dispatchViewStateChange): |
| (WebKit::WebPageProxy::updateActivityToken): |
| |
| 2016-02-12 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of a 6 year old compiler workaround |
| https://bugs.webkit.org/show_bug.cgi?id=154198 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::connectToService): |
| (WebKit::createService): |
| |
| 2016-02-12 Anders Carlsson <andersca@apple.com> |
| |
| Fix ASan build. |
| |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::copyASanDynamicLibraryPath): Deleted. |
| |
| 2016-02-12 Anders Carlsson <andersca@apple.com> |
| |
| Remove NPAPI for showing preference panes |
| https://bugs.webkit.org/show_bug.cgi?id=154193 |
| |
| Reviewed by Dan Bernstein. |
| |
| No plug-ins ended up adopting this API, so there's no point in keeping it around. |
| |
| * PluginProcess/PluginControllerProxy.h: |
| * PluginProcess/mac/PluginControllerProxyMac.mm: |
| (WebKit::PluginControllerProxy::openPluginPreferencePane): Deleted. |
| * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: |
| (WebKit::NetscapePluginModule::getPluginInfo): Deleted. |
| * Shared/Plugins/PluginModuleInfo.h: |
| * UIProcess/Plugins/PluginProcessProxy.h: |
| * UIProcess/Plugins/PluginProcessProxy.messages.in: |
| * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: |
| (WebKit::PluginProcessProxy::openPluginPreferencePane): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: |
| (WebKit::NPN_GetValue): Deleted. |
| * WebProcess/Plugins/Netscape/NetscapePlugin.h: |
| * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: |
| (WebKit::NetscapePlugin::openPluginPreferencePane): Deleted. |
| (WebKit::NetscapePlugin::plugInContainer): Deleted. |
| (WebKit::NetscapePlugin::platformDestroy): Deleted. |
| * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.h: Removed. |
| * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm: Removed. |
| (-[WKNPAPIPlugInContainer dealloc]): Deleted. |
| (-[WKNPAPIPlugInContainer _invalidate]): Deleted. |
| (-[WKNPAPIPlugInContainer openPlugInPreferencePane]): Deleted. |
| * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainerInternal.h: Removed. |
| * WebProcess/Plugins/PluginController.h: |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::openPluginPreferencePane): Deleted. |
| * WebProcess/Plugins/PluginView.h: |
| |
| 2016-02-12 Anders Carlsson <andersca@apple.com> |
| |
| Remove PowerPC cruft |
| https://bugs.webkit.org/show_bug.cgi?id=154191 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: |
| (WebKit::getPluginArchitecture): Deleted. |
| |
| 2016-02-12 Anders Carlsson <andersca@apple.com> |
| |
| Remove more unneeded process launching code |
| https://bugs.webkit.org/show_bug.cgi?id=154190 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/Databases/DatabaseProcessProxy.cpp: |
| (WebKit::DatabaseProcessProxy::getLaunchOptions): Deleted. |
| * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: Removed. |
| (WebKit::DatabaseProcessProxy::platformGetLaunchOptions): Deleted. |
| * UIProcess/Launcher/ProcessLauncher.h: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::getLaunchOptions): Deleted. |
| * UIProcess/Network/mac/NetworkProcessProxyMac.mm: |
| (WebKit::NetworkProcessProxy::platformGetLaunchOptions): Deleted. |
| * UIProcess/Plugins/PluginProcessProxy.h: |
| * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: |
| (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap): Deleted. |
| (WebKit::PluginProcessProxy::platformGetLaunchOptions): Deleted. |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::getLaunchOptions): Deleted. |
| * UIProcess/mac/WebProcessProxyMac.mm: |
| (WebKit::WebProcessProxy::platformGetLaunchOptions): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-02-12 Anders Carlsson <andersca@apple.com> |
| |
| Use different process types for 32-bit and 64-bit plug-ins |
| https://bugs.webkit.org/show_bug.cgi?id=154186 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/Databases/DatabaseProcessProxy.cpp: |
| (WebKit::DatabaseProcessProxy::getLaunchOptions): |
| * UIProcess/Launcher/ProcessLauncher.h: |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::serviceName): |
| (WebKit::shouldLeakBoost): |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::getLaunchOptions): |
| * UIProcess/Plugins/PluginProcessProxy.cpp: |
| (WebKit::PluginProcessProxy::getLaunchOptions): Deleted. |
| * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: |
| (WebKit::PluginProcessProxy::platformGetLaunchOptions): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::getLaunchOptions): |
| |
| 2016-02-12 Beth Dakin <bdakin@apple.com> |
| |
| Re-name isClickableElement in InteractionInformationAtPosition to isElement |
| https://bugs.webkit.org/show_bug.cgi?id=154179 |
| |
| Reviewed by Enrica Casucci. |
| |
| The bool is set for all elements, so it’s just confusing to call it a |
| clickableElement instead of just element. |
| * Shared/ios/InteractionInformationAtPosition.h: |
| * Shared/ios/InteractionInformationAtPosition.mm: |
| (WebKit::InteractionInformationAtPosition::encode): |
| (WebKit::InteractionInformationAtPosition::decode): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView gestureRecognizerShouldBegin:]): |
| (-[WKContentView _highlightLongPressRecognized:]): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::getPositionInformation): |
| |
| 2016-02-12 Anders Carlsson <andersca@apple.com> |
| |
| Remove more unused process launcher code |
| https://bugs.webkit.org/show_bug.cgi?id=154181 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/Launcher/ProcessLauncher.cpp: |
| (WebKit::ProcessLauncher::processTypeAsString): Deleted. |
| (WebKit::ProcessLauncher::getProcessTypeFromString): Deleted. |
| * UIProcess/Launcher/ProcessLauncher.h: |
| |
| 2016-02-12 Anders Carlsson <andersca@apple.com> |
| |
| Remove more unused process launching code |
| https://bugs.webkit.org/show_bug.cgi?id=154178 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: |
| (WebKit::shouldUseXPC): Deleted. |
| (WebKit::DatabaseProcessProxy::platformGetLaunchOptions): Deleted. |
| * UIProcess/Launcher/ProcessLauncher.h: |
| * UIProcess/Launcher/mac/EnvironmentVariables.cpp: |
| (WebKit::EnvironmentVariables::preexistingProcessServiceNameKey): Deleted. |
| (WebKit::EnvironmentVariables::preexistingProcessTypeKey): Deleted. |
| * UIProcess/Launcher/mac/EnvironmentVariables.h: |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::ProcessLauncher::launchProcess): |
| (WebKit::setUpTerminationNotificationHandler): Deleted. |
| (WebKit::addDYLDEnvironmentAdditions): Deleted. |
| (WebKit::tryPreexistingProcess): Deleted. |
| (WebKit::createProcess): Deleted. |
| * UIProcess/Network/mac/NetworkProcessProxyMac.mm: |
| (WebKit::shouldUseXPC): Deleted. |
| (WebKit::NetworkProcessProxy::platformGetLaunchOptions): Deleted. |
| * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: |
| (WebKit::PluginProcessProxy::platformGetLaunchOptions): Deleted. |
| * UIProcess/ios/WebProcessProxyIOS.mm: |
| (WebKit::WebProcessProxy::platformGetLaunchOptions): Deleted. |
| * UIProcess/mac/WebProcessProxyMac.mm: |
| (WebKit::shouldUseXPC): Deleted. |
| (WebKit::WebProcessProxy::platformGetLaunchOptions): Deleted. |
| |
| 2016-02-12 Brian Burg <bburg@apple.com> |
| |
| Add a WebKit SPI for creating an automation session and advertise the active session via RemoteInspector |
| https://bugs.webkit.org/show_bug.cgi?id=153934 |
| |
| Reviewed by Dan Bernstein and Joseph Pecoraro. |
| |
| An automation session is the main place where WebKit support for user agent automation is implemented. |
| A session encapsulates the state (default timeouts, page identifier mappings), objects (active automation |
| WebPages) and logic (how to open a window, run JS, send user input, etc.) used to implement automation |
| commands. |
| |
| A process pool can only have one session at a time. The session is created by the WebKit client in |
| response to a request that comes through _WKAutomationDelegate. When a session is set on the process pool, |
| it is advertised to remote drivers and debuggers as a RemoteControllableTarget. A remote driver can use |
| the existing RemoteInspector API to connect to the session and send it automation commands. |
| |
| The session has a delegate so that WebKit clients can perform actions that are outside the scope of WebKit, |
| such as creating new tabs, enumerating windows, or sending native user inputs. |
| |
| This patch adds AutomationSession classes at the API and implementation level in WebKit2. The |
| implementation class contains RemoteInspector support, which cannot be used directly by WebKit clients. |
| AutomationSessionDelegate classes exist at both the API and implementation level to bridge between |
| Objective-C delegates and C++ clients. All code related to RemoteInspector and RemoteAutomationTarget |
| must be guarded by ENABLE(REMOTE_INSPECTOR). |
| |
| * Shared/API/APIObject.h: Add new API type 'AutomationSession'. |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): Allocate in the wrapper. |
| * UIProcess/API/APIAutomationSessionClient.h: Added. |
| (API::AutomationSessionClient::~AutomationSessionClient): |
| (API::AutomationSessionClient::didRequestNewWindow): Delegate window creation to the client. |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _setAutomationSession:]): Keep at most one WebAutomationSession at a time. |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| * UIProcess/API/Cocoa/_WKAutomationSession.h: Added. |
| * UIProcess/API/Cocoa/_WKAutomationSession.mm: Added. |
| (-[_WKAutomationSession init]): Construct the API object in the implementation wrapper. |
| (-[_WKAutomationSession dealloc]): Clear the client before calling the implementation destructor. |
| |
| (-[_WKAutomationSession sessionIdentifier]): |
| (-[_WKAutomationSession setSessionIdentifier:]): |
| Store the session identifier string in the implementation. |
| |
| (-[_WKAutomationSession delegate]): |
| (-[_WKAutomationSession setDelegate:]): |
| Create an Objective-C adapter for the delegate if not nil and set it as the implementation's client. |
| |
| (-[_WKAutomationSession _apiObject]): |
| * UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h: Added. |
| * UIProcess/API/Cocoa/_WKAutomationSessionInternal.h: Added. |
| (wrapper): |
| * UIProcess/Cocoa/AutomationSessionClient.h: Added. |
| Set up the boilerplate for caching delegate method availability. It will include more methods later. |
| |
| * UIProcess/Cocoa/AutomationSessionClient.mm: Added. Forward requests to the SPI delegate. |
| (WebKit::AutomationSessionClient::AutomationSessionClient): |
| (WebKit::AutomationSessionClient::didRequestNewWindow): Delegate window creation to the client. |
| |
| * UIProcess/WebAutomationSession.cpp: Added. |
| (WebKit::WebAutomationSession::WebAutomationSession): |
| By default, a session should be available and not paired to any particular remote driver. |
| |
| (WebKit::WebAutomationSession::~WebAutomationSession): Require callers to clear the client first. |
| (WebKit::WebAutomationSession::setClient): |
| (WebKit::WebAutomationSession::dispatchMessageFromRemote): Stub this out for now. |
| |
| (WebKit::WebAutomationSession::connect): |
| (WebKit::WebAutomationSession::disconnect): |
| To prevent multiple connection attempts, mark the target as paired when a remote client has connected. |
| |
| * UIProcess/WebAutomationSession.h: Added. |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::setAutomationSession): |
| Store the session object and tell it to register itself. Unregistering happens automatically |
| in RemoteControllableTarget::~RemoteControllableTarget. |
| |
| * UIProcess/WebProcessPool.h: |
| * WebKit2.xcodeproj/project.pbxproj: Add files and headers. |
| |
| 2016-02-12 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of NetscapePluginModule::createPluginMIMETypesPreferences |
| https://bugs.webkit.org/show_bug.cgi?id=154173 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/Plugins/Netscape/NetscapePluginModule.h: |
| * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: |
| (WebKit::NetscapePluginModule::createPluginMIMETypesPreferences): Deleted. |
| |
| 2016-02-11 Anders Carlsson <andersca@apple.com> |
| |
| Remove legacy processes from WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=154119 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/BaseLegacyProcess.xcconfig: Removed. |
| * DatabaseProcess/EntryPoint/mac/LegacyProcess/DatabaseProcessMain.mm: Removed. |
| (DatabaseProcessMain): Deleted. |
| * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed. |
| * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed. |
| * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm: Removed. |
| (NetworkProcessMain): Deleted. |
| * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed. |
| * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: Removed. |
| (WebKit::PluginProcessMainDelegate::PluginProcessMainDelegate): Deleted. |
| (PluginProcessMain): Deleted. |
| * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: Removed. |
| (WebKit::ChildProcessMainDelegate::ChildProcessMainDelegate): Deleted. |
| (WebKit::ChildProcessMain): Deleted. |
| * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Removed. |
| (WebKit::ChildProcessMainDelegate::~ChildProcessMainDelegate): Deleted. |
| (WebKit::ChildProcessMainDelegate::installSignalHandlers): Deleted. |
| (WebKit::ChildProcessMainDelegate::doPreInitializationWork): Deleted. |
| (WebKit::ChildProcessMainDelegate::getConnectionIdentifier): Deleted. |
| (WebKit::ChildProcessMainDelegate::getClientIdentifier): Deleted. |
| (WebKit::ChildProcessMainDelegate::getClientProcessName): Deleted. |
| (WebKit::ChildProcessMainDelegate::getExtraInitializationData): Deleted. |
| (WebKit::ChildProcessMainDelegate::startRunLoop): Deleted. |
| (WebKit::ChildProcessMainDelegate::doPostRunWork): Deleted. |
| * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Removed. |
| (WebKit::closeUnusedFileDescriptors): Deleted. |
| (WebKit::BootstrapMain): Deleted. |
| (main): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed. |
| * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Removed. |
| (WebKit::WebContentProcessMainDelegate::WebContentProcessMainDelegate): Deleted. |
| (WebContentProcessMain): Deleted. |
| |
| 2016-02-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] HTTP auth dialog incorrectly rendered with Accelerated Compositing enabled |
| https://bugs.webkit.org/show_bug.cgi?id=154159 |
| |
| Reviewed by Michael Catanzaro. |
| |
| There are two problems here, first we are changing the cairo |
| operator when rendering the xcomposite window pixmap without a |
| proper save/restore, so it affects the drawing that happens after |
| that, and second problem is that we are not rendering the gray |
| background in AC mode because we are returning earlier. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewRenderAcceleratedCompositingResults): |
| (webkitWebViewBaseDraw): |
| |
| 2016-02-12 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [GTK] Allow applications to disable Accelerated Compositing mode. |
| https://bugs.webkit.org/show_bug.cgi?id=154147 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/gtk/WebPreferencesGtk.cpp: |
| (WebKit::WebPreferences::platformInitializeStore): if the environment |
| variable WEBKIT_DISABLE_COMPOSITING_MODE is defined, then disable AC. |
| |
| 2016-02-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r196453. |
| https://bugs.webkit.org/show_bug.cgi?id=154142 |
| |
| This change broke internal iOS builds (Requested by ryanhaddad |
| on #webkit). |
| |
| Reverted changeset: |
| |
| "Move Download authentication code to AuthenticationManager" |
| https://bugs.webkit.org/show_bug.cgi?id=154132 |
| http://trac.webkit.org/changeset/196453 |
| |
| 2016-02-11 Anders Carlsson <andersca@apple.com> |
| |
| Use the system PluginProcess.app for generating plug-in MIME type preferences |
| https://bugs.webkit.org/show_bug.cgi?id=154139 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: |
| (WebKit::PluginProcessProxy::createPropertyListFile): |
| |
| 2016-02-11 Beth Dakin <bdakin@apple.com> |
| |
| EditingRangeIsRelativeTo::Document and NSRangeIsRelativeTo::Document should |
| be called EditableRoot instead |
| https://bugs.webkit.org/show_bug.cgi?id=154138 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| EditableRoot is much more accurate than Document. |
| * Shared/EditingRange.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::insertText): |
| (WebKit::WebViewImpl::selectedRangeWithCompletionHandler): |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::rangeFromEditingRange): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2016-02-11 Alex Christensen <achristensen@webkit.org> |
| |
| Move Download authentication code to AuthenticationManager |
| https://bugs.webkit.org/show_bug.cgi?id=154132 |
| |
| Reviewed by Sam Weinig. |
| |
| When a video element makes a request that receives an authentication challenge, the |
| AuthenticationManager receives an AuthenticationChallenge without an AuthenticationClient. |
| As a result, Download::receivedCredential and other functions were being called, which |
| sent a message to the challenge's sender. This functionality is not specific to downloads, |
| so I moved it from Download to AuthenticationManager. |
| |
| This fixes http/tests/media/video-auth.html when using NetworkSession |
| because I use AuthenticationManager::receivedCredential if there is no AuthenticationClient |
| instead of improperly asserting that there is always an AuthenticationClient if there is no |
| completionHandler. |
| |
| * NetworkProcess/Downloads/Download.h: |
| * NetworkProcess/Downloads/ios/DownloadIOS.mm: |
| (WebKit::Download::platformDidFinish): |
| (WebKit::Download::receivedCredential): Deleted. |
| (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted. |
| (WebKit::Download::receivedCancellation): Deleted. |
| (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted. |
| (WebKit::Download::receivedChallengeRejection): Deleted. |
| * NetworkProcess/Downloads/mac/DownloadMac.mm: |
| (WebKit::Download::platformDidFinish): |
| (WebKit::Download::receivedCredential): Deleted. |
| (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted. |
| (WebKit::Download::receivedCancellation): Deleted. |
| (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted. |
| (WebKit::Download::receivedChallengeRejection): Deleted. |
| * NetworkProcess/Downloads/soup/DownloadSoup.cpp: |
| (WebKit::Download::platformDidFinish): |
| (WebKit::Download::receivedCredential): Deleted. |
| (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted. |
| (WebKit::Download::receivedCancellation): Deleted. |
| (WebKit::Download::continueWithoutCredential): Deleted. |
| (WebKit::Download::useCredential): Deleted. |
| (WebKit::Download::cancelAuthenticationChallenge): Deleted. |
| (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted. |
| (WebKit::Download::receivedChallengeRejection): Deleted. |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| * PlatformMac.cmake: |
| * Shared/Authentication/AuthenticationManager.cpp: |
| (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge): |
| (WebKit::AuthenticationManager::useCredentialForSingleChallenge): |
| (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge): |
| (WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge): |
| (WebKit::AuthenticationManager::cancelChallenge): |
| (WebKit::AuthenticationManager::cancelSingleChallenge): |
| (WebKit::AuthenticationManager::performDefaultHandling): |
| (WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge): |
| (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue): |
| (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge): |
| * Shared/Authentication/AuthenticationManager.h: |
| (WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount): |
| * Shared/Authentication/cocoa: Added. |
| * Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm: Added. |
| (WebKit::AuthenticationManager::receivedCredential): |
| (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential): |
| (WebKit::AuthenticationManager::receivedCancellation): |
| (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling): |
| (WebKit::AuthenticationManager::receivedChallengeRejection): |
| * Shared/Authentication/soup: Added. |
| * Shared/Authentication/soup/AuthenticationManagerSoup.cpp: Added. |
| (WebKit::AuthenticationManager::receivedCredential): |
| (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential): |
| (WebKit::AuthenticationManager::receivedCancellation): |
| (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling): |
| (WebKit::AuthenticationManager::receivedChallengeRejection): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-02-11 Beth Dakin <bdakin@apple.com> |
| |
| Soft spaces are often tracked in the wrong spot |
| https://bugs.webkit.org/show_bug.cgi?id=154127 |
| -and corresponding- |
| rdar://problem/24493140 |
| |
| Reviewed by Sam Weinig. |
| |
| Soft spaces are in the wrong space now for two reasons. First of all, the |
| NSRange we get from the accepted candidate is relative to the paragraph |
| start, so without this patch, soft spaces are only ever right for the first |
| paragraph. Secondly, if focus changes for any reason other than text |
| insertion, soft spaces are also wrong because they need to be re-set. |
| |
| New enum can be used to indicate what an EditingRange is relative to. |
| * Shared/EditingRange.h: |
| (WebKit::EditingRange::EditingRange): |
| |
| didHandleAcceptedCandidate is a new message that gets sent from the |
| WebProcess. This lets us track a bool m_isHandlingAcceptedCandidate. |
| * UIProcess/Cocoa/WebViewImpl.h: |
| (WebKit::WebViewImpl::didHandleAcceptedCandidate): |
| |
| Re-set the m_softSpaceRange on selection changes so long as |
| m_isHandlingAcceptedCandidate is false. |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::selectionDidChange): |
| |
| Set m_isHandlingAcceptedCandidate to true. |
| (WebKit::WebViewImpl::handleAcceptedCandidate): |
| |
| Set m_isHandlingAcceptedCandidate to false. |
| (WebKit::WebViewImpl::didHandleAcceptedCandidate): |
| |
| insertTextAsync takes a new parameter indicating what the replacementRange is |
| relative to. If needToRemoveSoftSpace is true, then the replacementRange is |
| relative to the paragraph. |
| (WebKit::WebViewImpl::insertText): |
| |
| Pipe didHandleAcceptedCandidate through to WebViewImpl. |
| * UIProcess/PageClient.h: |
| |
| insertTextAsync takes an EditingRangeIsRelativeTo. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::insertTextAsync): |
| |
| Pipe didHandleAcceptedCandidate through to WebViewImpl. |
| (WebKit::WebPageProxy::didHandleAcceptedCandidate): |
| * UIProcess/WebPageProxy.h: |
| |
| New message lets the WebProcess tell the UIProcess when the candidate has |
| been accepted. |
| * UIProcess/WebPageProxy.messages.in: |
| |
| Pipe didHandleAcceptedCandidate through to WebViewImpl. |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didHandleAcceptedCandidate): |
| |
| insertTextAsync takes an EditingRangeIsRelativeTo. Pass that through to |
| rangeFromEditingRange to get the correct range. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::insertTextAsync): |
| |
| Use the EditingRangeIsRelativeTo to find the right WebCore::Range. |
| (WebKit::WebPage::rangeFromEditingRange): |
| |
| Take EditingRangeIsRelativeTo in a few places. |
| * WebProcess/WebPage/WebPage.h: |
| |
| InsertTextAsync takes a EditingRangeIsRelativeTo. |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| Send didHandleAccpetedCandidate to the UIProcess |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::handleAcceptedCandidate): |
| |
| 2016-02-11 Alex Christensen <achristensen@webkit.org> |
| |
| Use BlobResourceHandle when loading blob urls, even when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=154096 |
| |
| Reviewed by Brady Eidson. |
| |
| This fixes at least http/tests/xmlhttprequest/blob-request-byte-range.html. |
| |
| * NetworkProcess/NetworkDataTask.h: |
| Renamed NetworkDataTaskClient::didReceiveResponse to didReceiveResponseNetworkSession |
| to avoid conflicting with ResourceHandleClient::didReceiveResponse. |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): |
| Make a BlobResourceHandle instead of a NetworkDataTask if we have a request for a blob url. |
| (WebKit::NetworkLoad::~NetworkLoad): |
| (WebKit::NetworkLoad::setDefersLoading): |
| (WebKit::NetworkLoad::cancel): |
| (WebKit::NetworkLoad::continueWillSendRequest): |
| (WebKit::NetworkLoad::continueDidReceiveResponse): |
| (WebKit::NetworkLoad::sharedDidReceiveResponse): |
| (WebKit::NetworkLoad::convertTaskToDownload): |
| (WebKit::NetworkLoad::setPendingDownloadID): |
| (WebKit::NetworkLoad::didReceiveChallenge): |
| (WebKit::NetworkLoad::didReceiveResponseNetworkSession): |
| (WebKit::NetworkLoad::cannotShowURL): |
| (WebKit::NetworkLoad::didReceiveResponseAsync): |
| (WebKit::NetworkLoad::willSendRequestAsync): |
| (WebKit::NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync): |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| (WebKit::NetworkLoad::supportsDataArray): |
| (WebKit::NetworkLoad::didReceiveDataArray): |
| (WebKit::NetworkLoad::didSendData): |
| (WebKit::NetworkLoad::receivedCancellation): |
| (WebKit::NetworkLoad::didReceiveResponse): Deleted. |
| Compile ResourceHandleClient when using NetworkSession because it is used for blobs now. |
| Also, add null checks because we now have NetworkLoads where either m_task or m_handle is always null. |
| * NetworkProcess/NetworkLoad.h: |
| (WebKit::NetworkLoad::pendingDownloadID): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| * NetworkProcess/mac/NetworkLoadMac.mm: |
| (WebKit::NetworkLoad::willCacheResponseAsync): |
| |
| 2016-02-11 Frederic Wang <fred.wang@free.fr> |
| |
| Bug 154103 - [GTK] Build error after bug 154046 |
| https://bugs.webkit.org/show_bug.cgi?id=154103 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/WebKitUserContent.cpp: |
| (_WebKitUserStyleSheet::_WebKitUserStyleSheet): |
| (webkitUserStyleSheetGetUserStyleSheet): |
| * UIProcess/API/gtk/WebKitUserContentPrivate.h: |
| |
| 2016-02-10 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Rename *Event::create* which creates events for bindings to *Event::createForBindings* and cleanup corresponding paths |
| https://bugs.webkit.org/show_bug.cgi?id=153903 |
| <rdar://problem/24518146> |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::nextAssistableElement): |
| |
| 2016-02-10 Anders Carlsson <andersca@apple.com> |
| |
| Add SPI to remove individual user scripts or user style sheets |
| https://bugs.webkit.org/show_bug.cgi?id=154046 |
| rdar://problem/23596352 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController _removeUserScript:]): |
| (-[WKUserContentController _userStyleSheets]): |
| (-[WKUserContentController _addUserStyleSheet:]): |
| (-[WKUserContentController _removeUserStyleSheet:]): |
| * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy): |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::removeUserScript): |
| (WebKit::WebUserContentControllerProxy::addUserStyleSheet): |
| (WebKit::WebUserContentControllerProxy::removeUserStyleSheet): |
| (WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets): |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| (WebKit::WebUserContentControllerProxy::userStyleSheets): |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::removeUserScript): |
| (WebKit::WebUserContentController::removeUserStyleSheet): |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/UserContent/WebUserContentController.messages.in: |
| |
| 2016-02-10 Alex Christensen <achristensen@webkit.org> |
| |
| Fix assertions when loading from WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=154079 |
| |
| Reviewed by Anders Carlsson. |
| |
| Assertions were failing, mostly when using NetworkProcess, and mostly involving Top Sites. |
| When we do loading from the WebProcess (which we should eventually not allow), we were sometimes |
| using a private browsing session that did not exist because the UIProcess had told the NetworkProcess |
| to create a private browsing session with the given SessionID, but the WebProcess was not told about |
| the private browsing session. |
| Also, sometimes we were calling NetworkProcess::singleton() from the WebProcess, which caused problems |
| with the PlatformStrategies object being reset. This prevents that, too. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): |
| Added an assertion that we have a network session when we have just made a NetworkingContext with the given SessionID. |
| * NetworkProcess/NetworkSession.h: |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSession::defaultSession): |
| (WebKit::NetworkSession::NetworkSession): |
| * NetworkProcess/mac/RemoteNetworkingContext.mm: |
| (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): |
| Call NetworkProcess::singleton only when we know we are in the network process. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: |
| (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): |
| Tell the WebProcesses about the new private session, too. Sometimes they use the new private session. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::ensurePrivateBrowsingSession): |
| (WebKit::WebProcess::destroyPrivateBrowsingSession): |
| Removed useless macros that were always true for all WK2 clients. |
| |
| 2016-02-10 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] Stop installing the legacy processes |
| https://bugs.webkit.org/show_bug.cgi?id=154062 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/All.xcconfig: Removed the legacy processes from EXCLUDED_SOURCE_FILE_NAMES |
| for iOS, now that they are no longer included in a Copy Files build phase. |
| * Configurations/BaseLegacyProcess.xcconfig: Set SKIP_INSTALL to YES for OS X as well. |
| * WebKit2.xcodeproj/project.pbxproj: Removed the Copy Files build phase that copied the |
| processes into the framework in engineering builds. Renamed the “Add current version |
| symlinks” script build phase to “Add XPCServices symlink”, and changed it to do just that. |
| |
| 2016-02-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r196183): [GTK] Broke TestInspector |
| https://bugs.webkit.org/show_bug.cgi?id=153945 |
| |
| Reviewed by Michael Catanzaro. |
| |
| When the inspector view is detached and not added to a window, |
| which happens when it's closed, the inspector view is destroyed |
| because it doesn't have a parent anymore. When the inspector view |
| is destroyed we notify the web process that the inspector was |
| closed. Before r196183 this was not a problem, because the call to |
| WebInspectorProxy::didClose() from platformDetach() returned early |
| because WebInspectorProxy::didClose() had already set |
| m_inspectorPage to nullptr. In r196183 m_inspectorPage is set to |
| nullptr after platformDetach(), so we end up trying to detach the |
| inpector view again. To prevent this cycle, we should disconnect |
| the destroyed signal handler from the inspector view when |
| platformDetach() is called from WebInspectorProxy::didClose(). |
| |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformDetach): |
| |
| 2016-02-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r196341. |
| https://bugs.webkit.org/show_bug.cgi?id=154056 |
| |
| This change broke existing API tests on Mac and iOS (Requested |
| by ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "Add SPI to remove individual user scripts or user style |
| sheets" |
| https://bugs.webkit.org/show_bug.cgi?id=154046 |
| http://trac.webkit.org/changeset/196341 |
| |
| 2016-02-09 Anders Carlsson <andersca@apple.com> |
| |
| Add SPI to remove individual user scripts or user style sheets |
| https://bugs.webkit.org/show_bug.cgi?id=154046 |
| rdar://problem/23596352 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController _removeUserScript:]): |
| (-[WKUserContentController _userStyleSheets]): |
| (-[WKUserContentController _addUserStyleSheet:]): |
| (-[WKUserContentController _removeUserStyleSheet:]): |
| * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy): |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::removeUserScript): |
| (WebKit::WebUserContentControllerProxy::addUserStyleSheet): |
| (WebKit::WebUserContentControllerProxy::removeUserStyleSheet): |
| (WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets): |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| (WebKit::WebUserContentControllerProxy::userStyleSheets): |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::removeUserScript): |
| (WebKit::WebUserContentController::removeUserStyleSheet): |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/UserContent/WebUserContentController.messages.in: |
| |
| 2016-02-07 Gavin Barraclough <barraclough@apple.com> |
| |
| GetValueFunc/PutValueFunc should not take both slotBase and thisValue |
| https://bugs.webkit.org/show_bug.cgi?id=154009 |
| |
| Reviewed by Geoff Garen. |
| |
| In JavaScript there are two types of properties - regular value properties, and accessor properties. |
| One difference between these is how they are reflected by getOwnPropertyDescriptor, and another is |
| what object they operate on in the case of a prototype access. If you access a value property of a |
| prototype object it return a value pertinent to the prototype, but in the case of a prototype object |
| returning an accessor, then the accessor function is applied to the base object of the access. |
| |
| JSC supports special 'custom' properties implemented as a c++ callback, and these custom properties |
| can be used to implement either value- or accessor-like behavior. getOwnPropertyDescriptor behavior |
| is selected via the CustomAccessor attribute. Value- or accessor-like object selection is current |
| supported by passing both the slotBase and the thisValue to the callback,and hoping it uses the |
| right one. This is probably inefficient, bug-prone, and leads to crazy like JSBoundSlotBaseFunction. |
| |
| Instead, just pass one thisValue to the callback functions, consistent with CustomAccessor. |
| |
| * WebProcess/Plugins/Netscape/JSNPObject.cpp: |
| (WebKit::JSNPObject::getOwnPropertyNames): |
| (WebKit::JSNPObject::propertyGetter): |
| (WebKit::JSNPObject::methodGetter): |
| * WebProcess/Plugins/Netscape/JSNPObject.h: |
| - Merged slotBase & thisValue to custom property callbacks. |
| |
| 2016-02-09 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Exiting fullscreen through the placeholder action leaves window in empty state |
| https://bugs.webkit.org/show_bug.cgi?id=152979 |
| <rdar://problem/24132309> |
| |
| Reviewed by Brent Fulgham. |
| |
| In r194593, we relaxed the _fullScreenState requirement in -finishedExitFullScreenAnimation: to handle |
| the case where the request to exit fullscreen came from outside the process. However, in so doing, we |
| allowed -finishedExitFullScreenAnimation: to be called twice, and in so doing, leave the original window |
| empty of its WebView. Tighten up the restriction of _fullScreenState to allow only the "InFullScreen" |
| state (to take care of the external exit command) and the "ExitingFullScreen" state, to handle the |
| normal teardown path. |
| |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): |
| |
| 2016-02-04 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Adopt NSURLSession properties in AVAssetResourceLoader |
| https://bugs.webkit.org/show_bug.cgi?id=153873 |
| |
| Reviewed by Eric Carlson. |
| |
| Add a WebKit2 preference to control the WebCore isAVFoundationNSURLSessionEnabled() |
| setting. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetAVFoundationNSURLSessionEnabled): |
| (WKPreferencesGetAVFoundationNSURLSessionEnabled): |
| * UIProcess/API/C/WKPreferencesRef.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-02-09 Anders Carlsson <andersca@apple.com> |
| |
| All 32-bit plug-ins should use the XPC service |
| https://bugs.webkit.org/show_bug.cgi?id=154036 |
| rdar://problem/16059483 |
| |
| Reviewed by Dan Bernstein. |
| |
| Silverlight expects malloced memory from the tiny zone to be executable. It also expects |
| the data segment from its coreclr image to be executable. |
| |
| Make this possible by: |
| |
| 1. Shimming mach_vm_map, making sure to add the VM_PROT_EXECUTABLE bit to any memory in the tiny zone. |
| 2. Go through the address space, looking for any existing ranges from the tiny zone and mach_vm_protect them |
| to be executable. |
| 3. Register with dyld so we'll get callbacks whenever a library is bound, look for the coreclr image, and |
| mach_vm_protect its __DATA segment to be executable. |
| |
| * Platform/spi/Cocoa/DyldSPI.h: Copied from Source/WebKit2/PluginProcess/mac/PluginProcessShim.h. |
| * PluginProcess/mac/PluginProcessMac.mm: |
| (WebKit::isMallocMemoryTag): |
| (WebKit::shouldMapMemoryExecutable): |
| (WebKit::initializeShim): |
| (WebKit::PluginProcess::platformInitializeProcess): |
| * PluginProcess/mac/PluginProcessShim.h: |
| * PluginProcess/mac/PluginProcessShim.mm: |
| (WebKit::shimMachVMMap): |
| * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: |
| (WebKit::PluginProcessProxy::platformGetLaunchOptions): |
| (WebKit::shouldUseXPC): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-02-09 Fujii Hironori <Hironori.Fujii@jp.sony.com> |
| |
| possible buffer overrun in Connection::processMessage of Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=153637 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::Connection::processMessage): Fix invalid arguments of memmove. |
| |
| 2016-02-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.5 release. |
| |
| * gtk/NEWS: Add release notes for 2.11.5. |
| |
| 2016-02-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] WebKitWebView should send crossing events to the WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=153740 |
| |
| Reviewed by Michael Catanzaro. |
| |
| We don't currently handle crossing events in the web view |
| (enter/leave). That's why if you hover a scrollbar and leave the |
| window, the scrollbar is still rendered as hovered. |
| |
| * Shared/gtk/WebEventFactory.cpp: |
| (WebKit::buttonForEvent): Handle the case of GDK_ENTER_NOTIFY and |
| GDK_LEAVE_NOTIFY events. |
| (WebKit::WebEventFactory::createWebMouseEvent): Ditto. |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseRealize): Add GDK_ENTER_NOTIFY_MASK and |
| GDK_LEAVE_NOTIFY_MASK flags to the web view event mask. |
| (webkitWebViewBaseCrossingNotifyEvent): Handle enter/leave notify |
| events by generating a mouse move event, ensuring the double to |
| int conversion will not cause any problem. |
| (webkit_web_view_base_class_init): Add an implementation for |
| enter_notify_event and leave_notify_event. |
| |
| 2016-02-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Infinite loop when processing mouse events synchronously |
| https://bugs.webkit.org/show_bug.cgi?id=153995 |
| |
| Reviewed by Darin Adler. |
| |
| This happened with WTR in the GTK+ port after landing patch in bug |
| #153740. The thing is that WTR forces events handling IPC messages |
| to be synchronous. When a drag and drop operation is in progress, |
| the web process ignores mouse move events and replies with |
| DidReceiveEvent signal. The DidReceiveEvent message handler in |
| WebPageProxy checks if we have a m_nextMouseMoveEvent and handles |
| it, but when all this happens synchronously the |
| m_nextMouseMoveEvent is the current one because we haven't |
| returned yet from handleMouseEvent(). We need to invalidate the |
| m_nextMouseMoveEvent before calling handleMouseEvent(). |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didReceiveEvent): |
| |
| 2016-02-08 Jeremy Jones <jeremyj@apple.com> |
| |
| Remove __weak from WKAirPlayRoutePicker.mm to fix build warning. |
| https://bugs.webkit.org/show_bug.cgi?id=153985 |
| rdar://problem/24485348 |
| |
| Reviewed by Darin Adler. |
| |
| Remove __weak since it is only available when using ARC. |
| |
| * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: |
| |
| 2016-02-08 Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> |
| |
| [GTK] Fix crash when creating webview with g_object_new |
| https://bugs.webkit.org/show_bug.cgi?id=153989 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| g_object_new(WEBKIT_TYPE_WEB_VIEW, NULL) crashes webkit |
| as _WebKitWebViewBasePrivate constructor requires a mainloop, but |
| webkit is only initialized when a context is created (which |
| doesn't happen with a direct call to g_object_new). |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkit_web_view_base_class_init): |
| |
| 2016-02-08 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r196253. |
| https://bugs.webkit.org/show_bug.cgi?id=153990 |
| |
| Caused several crashes in GTK+ bots (Requested by KaL on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[GTK] WebKitWebView should send crossing events to the |
| WebProcess" |
| https://bugs.webkit.org/show_bug.cgi?id=153740 |
| http://trac.webkit.org/changeset/196253 |
| |
| 2016-02-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] WebKitWebView should send crossing events to the WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=153740 |
| |
| Reviewed by Michael Catanzaro. |
| |
| We don't currently handle crossing events in the web view |
| (enter/leave). That's why if you hover a scrollbar and leave the |
| window, the scrollbar is still rendered as hovered. |
| |
| * Shared/gtk/WebEventFactory.cpp: |
| (WebKit::buttonForEvent): Handle the case of GDK_ENTER_NOTIFY and |
| GDK_LEAVE_NOTIFY events. |
| (WebKit::WebEventFactory::createWebMouseEvent): Ditto. |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseRealize): Add GDK_ENTER_NOTIFY_MASK and |
| GDK_LEAVE_NOTIFY_MASK flags to the web view event mask. |
| (webkitWebViewBaseCrossingNotifyEvent): Handle enter/leave notify |
| events by generating a mouse move event, ensuring the double to |
| int conversion will not cause any problem. |
| (webkit_web_view_base_class_init): Add an implementation for |
| enter_notify_event and leave_notify_event. |
| |
| 2016-02-06 Daniel Bates <dabates@apple.com> |
| |
| Call CFRelease() on SecRequirementRef when no longer needed |
| https://bugs.webkit.org/show_bug.cgi?id=153954 |
| <rdar://problem/24540259> |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::ChildProcess::initializeSandbox): |
| |
| 2016-02-06 Darin Adler <darin@apple.com> |
| |
| Finish auditing call sites of upper() and lower(), eliminate many, and rename the functions |
| https://bugs.webkit.org/show_bug.cgi?id=153905 |
| |
| Reviewed by Sam Weinig. |
| |
| * NetworkProcess/CustomProtocols/CustomProtocolManager.h: Use ASCII case-insensitive hash |
| for set of registered schemes. |
| |
| * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: |
| (WebKit::getPluginInfoFromPropertyLists): Use convertToASCIILowercase for MIME type and |
| for file extensions. |
| |
| * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: |
| (WebKit::NetscapePluginModule::parseMIMEDescription): Use convertToASCIILowercase for |
| MIME description. |
| |
| * UIProcess/API/efl/ewk_context.cpp: |
| (ewk_context_preferred_languages_set): Use convertToASCIILowercase for language. |
| |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkit_web_context_set_preferred_languages): Use convertToASCIILowercase for language. |
| |
| * UIProcess/Plugins/PluginInfoStore.cpp: |
| (WebKit::PluginInfoStore::findPluginForExtension): Use Vector::contains instead of |
| writing it out using std::find. |
| (WebKit::pathExtension): Lowercase the result with convertToASCIILowercase instead of |
| leaving that to the caller. |
| (WebKit::PluginInfoStore::findPlugin): Removed call to lower since pathExtension |
| handles that now. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::findPlugin): Use convertToASCIILowercase for MIME type. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::globalURLSchemesWithCustomProtocolHandlers): Use |
| an ASCII case-insensitive hash. |
| (WebKit::WebProcessPool::registerGlobalURLSchemeAsHavingCustomProtocolHandlers): |
| Remove lowercasing, since the hash is now ASCII case-insensitive. |
| (WebKit::WebProcessPool::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers): |
| Ditto. |
| |
| * UIProcess/WebProcessPool.h: Use an ASCII case-insensitive hash. |
| |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::initialize): Use convertToASCIILowercase on parameter names |
| and values. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::pluginSupportsExtension): Use convertToASCIILowercase for extension assertion. |
| Also use a modern for loop. |
| (WebKit::WebFrameLoaderClient::objectContentType): Make the checks for empty MIME types |
| a little less redundant. Reordered logic to avoid checking the list of supported MIME |
| types extra times, and to eliminate the need for a boolean. Use convertToASCIILowercase |
| on the extension. |
| |
| 2016-02-06 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix more incorrect ASSERT introduced in r196053. |
| |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| (WebKit::NetscapePluginX11::handleMouseEvent): |
| (WebKit::NetscapePluginX11::handleWheelEvent): |
| (WebKit::NetscapePluginX11::setFocus): |
| (WebKit::NetscapePluginX11::handleMouseEnterEvent): |
| (WebKit::NetscapePluginX11::handleMouseLeaveEvent): |
| (WebKit::NetscapePluginX11::handleKeyboardEvent): |
| |
| 2016-02-05 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Error when closing page with WebInspector open |
| https://bugs.webkit.org/show_bug.cgi?id=152867 |
| rdar://problem/24099423 |
| |
| Reviewed by Brian Burg. |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::didClose): Null out m_inspectorPage after platformDetach(), |
| so the views can be cleaned up correctly. |
| |
| 2016-02-05 Alex Christensen <achristensen@webkit.org> |
| |
| Move NetworkDataTask to its own header and source files |
| https://bugs.webkit.org/show_bug.cgi?id=153922 |
| |
| Reviewed by Tim Horton. |
| |
| Also renamed NetworkSessionTaskClient to NetworkDataTaskClient. |
| |
| * NetworkProcess/NetworkDataTask.h: Added. |
| (WebKit::NetworkDataTaskClient::~NetworkDataTaskClient): |
| (WebKit::NetworkDataTask::create): |
| (WebKit::NetworkDataTask::client): |
| (WebKit::NetworkDataTask::pendingDownloadID): |
| (WebKit::NetworkDataTask::pendingDownload): |
| (WebKit::NetworkDataTask::setPendingDownloadID): |
| (WebKit::NetworkDataTask::setPendingDownload): |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient): Deleted. |
| (WebKit::NetworkDataTask::create): Deleted. |
| (WebKit::NetworkDataTask::client): Deleted. |
| (WebKit::NetworkDataTask::pendingDownloadID): Deleted. |
| (WebKit::NetworkDataTask::pendingDownload): Deleted. |
| (WebKit::NetworkDataTask::setPendingDownloadID): Deleted. |
| (WebKit::NetworkDataTask::setPendingDownload): Deleted. |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: Added. |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| (WebKit::NetworkDataTask::~NetworkDataTask): |
| (WebKit::NetworkDataTask::scheduleFailure): |
| (WebKit::NetworkDataTask::failureTimerFired): |
| (WebKit::NetworkDataTask::tryPasswordBasedAuthentication): |
| (WebKit::NetworkDataTask::cancel): |
| (WebKit::NetworkDataTask::resume): |
| (WebKit::NetworkDataTask::suspend): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSession::takeDownloadID): |
| (WebKit::NetworkDataTask::NetworkDataTask): Deleted. |
| (WebKit::NetworkDataTask::~NetworkDataTask): Deleted. |
| (WebKit::NetworkDataTask::scheduleFailure): Deleted. |
| (WebKit::NetworkDataTask::failureTimerFired): Deleted. |
| (WebKit::NetworkDataTask::tryPasswordBasedAuthentication): Deleted. |
| (WebKit::NetworkDataTask::cancel): Deleted. |
| (WebKit::NetworkDataTask::resume): Deleted. |
| (WebKit::NetworkDataTask::suspend): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-02-05 Alex Christensen <achristensen@webkit.org> |
| |
| Clean up Blob code |
| https://bugs.webkit.org/show_bug.cgi?id=153910 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: |
| (WebKit::NetworkBlobRegistry::NetworkBlobRegistry): |
| (WebKit::NetworkBlobRegistry::registerFileBlobURL): |
| * NetworkProcess/FileAPI/NetworkBlobRegistry.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::registerFileBlobURL): |
| (WebKit::NetworkConnectionToWebProcess::registerBlobURL): |
| * WebProcess/FileAPI/BlobRegistryProxy.cpp: |
| (WebKit::BlobRegistryProxy::registerFileBlobURL): |
| * WebProcess/FileAPI/BlobRegistryProxy.h: |
| |
| 2016-02-05 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Get rid of unused SPI declarations |
| https://bugs.webkit.org/show_bug.cgi?id=153915 |
| |
| Reviewed by Tim Horton. |
| |
| * Platform/spi/Cocoa/NSInvocationSPI.h: Removed NSInvocation SPI method declaration. |
| |
| * Platform/spi/ios/SafariServicesSPI.h: Removed. |
| |
| * UIProcess/API/Cocoa/WKSecurityOrigin.mm: |
| (-[WKSecurityOrigin methodSignatureForSelector:]): Deleted. |
| (-[WKSecurityOrigin forwardInvocation:]): Deleted. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: Removed unused #import. |
| |
| * WebKit2.xcodeproj/project.pbxproj: Removed reference to deleted header. |
| |
| 2016-02-04 Daniel Bates <dabates@apple.com> |
| |
| WebKit for iOS Simulator fails to build with public iOS SDK |
| https://bugs.webkit.org/show_bug.cgi?id=153881 |
| |
| Reviewed by Alex Christensen. |
| |
| Add version guards around SPI that is now API as of iOS SDK 9.2. Until we upgrade the iOS EWS |
| and iOS buildbots to use the 9.2 SDK we need to keep these SPI declarations to avoid breaking |
| the build. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| |
| 2016-02-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Give nested inspectors their own process pool |
| https://bugs.webkit.org/show_bug.cgi?id=153880 |
| <rdar://problem/24508310> |
| |
| Reviewed by Timothy Hatcher. |
| |
| When inspecting the inspector both inspectors were using the same |
| Inspector process and sharing the same VM. This meant that profiling |
| information was confusing (memory and JavaScript sampling) because |
| it was showing data about both inspectors sharing the same process. |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::inspectorProcessPool): |
| (WebKit::WebInspectorProxy::isInspectorProcessPool): |
| Have two process pools. The main inspector process pool (1st level inspectors) |
| and a nested inspector process pool (inspecting the inspector, only expected |
| by WebKit developers). |
| |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/efl/WebInspectorProxyEfl.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| Pass the inspectionLevel to determine the appropriate pool to use. |
| |
| 2016-02-04 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Fix the !ENABLE(NETSCAPE_PLUGIN_API) build after r196053 |
| https://bugs.webkit.org/show_bug.cgi?id=153878 |
| |
| Unreviewed buildfix. |
| |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h: |
| |
| 2016-02-04 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, rolling out r196067. |
| |
| Re-enable speculative revalidation now that we have measured |
| the impact on the perf bots |
| |
| Reverted changeset: |
| |
| "Unreviewed, rolling out r195555." |
| https://bugs.webkit.org/show_bug.cgi?id=153443 |
| http://trac.webkit.org/changeset/196067 |
| |
| 2016-02-03 Alex Christensen <achristensen@webkit.org> |
| |
| Report wasBlocked and cannotShowURL errors when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=153846 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): |
| (WebKit::NetworkLoad::didSendData): |
| (WebKit::NetworkLoad::wasBlocked): |
| (WebKit::NetworkLoad::cannotShowURL): |
| (WebKit::NetworkLoad::didReceiveResponseAsync): |
| * NetworkProcess/NetworkLoad.h: |
| NetworkDataTask is now RefCounted so we can protect it when reporting errors which delete the NetworkLoad. |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient): |
| (WebKit::NetworkDataTask::create): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSession::takeDownloadID): |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| Check the validity of the requested url and check if the port is allowed like we do in the ResourceHandle constructor. |
| (WebKit::NetworkDataTask::~NetworkDataTask): |
| Don't remove the task from the NetworkSession's map if we didn't make it because there was an error. |
| (WebKit::NetworkDataTask::scheduleFailure): |
| (WebKit::NetworkDataTask::failureTimerFired): |
| Implemented like ResourceHandle's. |
| (WebKit::NetworkDataTask::tryPasswordBasedAuthentication): |
| (WebKit::NetworkDataTask::resume): |
| (WebKit::NetworkDataTask::suspend): |
| Handle the failure timer like we do in ResourceHandle::setDefersLoading. |
| |
| 2016-02-02 Alex Christensen <achristensen@webkit.org> |
| |
| Use proposed credentials in authentication challenges with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=153811 |
| |
| Reviewed by Darin Adler. |
| |
| This fixes http/tests/xmlhttprequest/basic-auth-default.html |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkDataTask::tryPasswordBasedAuthentication): |
| Use the proposed credential if there is one. This matches behavior in |
| ResourceHandle::tryHandlePasswordBasedAuthentication. |
| |
| 2016-02-03 Jessie Berlin <jberlin@webkit.org> |
| |
| Build fix. |
| |
| [NSEvent context] has always returned nil. Replace uses with nullptr. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent): |
| * UIProcess/mac/WebPopupMenuProxyMac.mm: |
| (WebKit::WebPopupMenuProxyMac::showPopupMenu): |
| |
| 2016-02-03 Dan Bernstein <mitz@apple.com> |
| |
| [iOS] Engineering builds use manual sandboxing, but don’t need to |
| https://bugs.webkit.org/show_bug.cgi?id=153834 |
| |
| Reviewed by Anders Carlsson. |
| |
| Now that engineering builds use the non-re-execing variant of XPC services, they can be |
| statically sandboxed and no longer need to be manually sandboxed. |
| |
| * Configurations/DebugRelease.xcconfig: Don’t set WK_MANUAL_SANDBOXING_ENABLED to YES. |
| * WebKit2.xcodeproj/project.pbxproj: Let Xcode make changes to the built product references. |
| |
| 2016-02-03 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, rolling out r195555. |
| |
| Temporarily disable speculative revalidation to measure the |
| impact on the bots |
| |
| Reverted changeset: |
| |
| "[WK2][NetworkCache] Enable speculative revalidation" |
| https://bugs.webkit.org/show_bug.cgi?id=153443 |
| http://trac.webkit.org/changeset/195555 |
| |
| 2016-02-03 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r194660): Legacy WebProcess crashes in ChildProcess::initializeSandbox() |
| https://bugs.webkit.org/show_bug.cgi?id=153734 |
| <rdar://problem/24433179> |
| |
| Reviewed by Dan Bernstein. |
| |
| Fixes an issue where clients that used the legacy WebProcess bootstrapping process would crash. |
| |
| Additionally, only consider the extra initialization parameter user-directory-suffix for |
| unsigned apps (e.g. WebKitTestRunner). |
| |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::ChildProcess::initializeSandbox): |
| |
| 2016-02-03 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Unreviewed speculative buildfix after r195979. |
| |
| * PlatformMac.cmake: |
| |
| 2016-02-03 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Reduce IPC traffic due to view state changes |
| https://bugs.webkit.org/show_bug.cgi?id=153745 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Very often view state changes happen one after another in a very |
| short period of time, even in the same run loop iteration. For |
| example, when you switch to the web view window, the view is |
| focused and the active window flag changes as well. In that case |
| we are sending two messages to the web process and the page |
| updates its status according to the new flags in two steps. So, we |
| could group all state changes happening in the same run loop |
| iteration and notify about them all in the next iteration. This |
| also prevents unnecessary changes of state when we quickly go back |
| to a previous state, for example in focus follows mouse |
| configurations if you move the mouse outside the window and then |
| inside the window again quickly. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate): Use |
| VirewState::Flags to keep the web view state instead of |
| boolean, and also to keep the flags that need to be updated. Use a |
| timer to update web view state flags. |
| (_WebKitWebViewBasePrivate::updateViewStateTimerFired): Call |
| WebPageProxy::viewStateDidChange() and reset the flags that need |
| to be updated. |
| (webkitWebViewBaseScheduleUpdateViewState): Update the flags that |
| need to be updated and schedule the timer if it's not active. |
| (toplevelWindowFocusInEvent): Use the flags and schedule an update. |
| (toplevelWindowFocusOutEvent): Ditto. |
| (toplevelWindowStateEvent): Also mark the view as hidden when minimized. |
| (webkitWebViewBaseSetToplevelOnScreenWindow): Connect to |
| window-state-event instead of deprecated visibility-notify-event. |
| (webkitWebViewBaseMap): Use the flags and schedule an update. |
| (webkitWebViewBaseUnmap): Ditto. |
| (webkitWebViewBaseSetFocus): Ditto. |
| (webkitWebViewBaseIsInWindowActive): Use the flags. |
| (webkitWebViewBaseIsFocused): Ditto |
| (webkitWebViewBaseIsVisible): Ditto. |
| (webkitWebViewBaseIsInWindow): Removed this since it was unused. |
| * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: |
| |
| 2016-02-03 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix incorrect ASSERT introduced in r196053. |
| |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| (WebKit::NetscapePluginX11::paint): Ensure the plugin is not |
| windowed if paint() is called. |
| |
| 2016-02-02 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [UNIX] Add support for windowless NPAPI plugins with no UI in non X11 platforms |
| https://bugs.webkit.org/show_bug.cgi?id=151992 |
| |
| Reviewed by Darin Adler. |
| |
| We are currently disabling all plugins when running under wayland, |
| for example. There are some plugins, like the one used by |
| extensions.gnome.org, that don't do any rendering, so there's not |
| reason not to support those plugins under wayland or any other |
| unix non-x11 platform. |
| X11 specific code has been moved to a new class NetscapePluginX11, |
| only used under X11. The common code is in NetscapePluginUnix.cpp |
| that will use the X11 implementatin only when needed and |
| available. For windowed plugins we will fail the initialization |
| under non-X11 plaforms, while for windowless plugins we will just |
| return early from paint method. |
| |
| * PlatformEfl.cmake: Add new files to compilation. |
| * PlatformGTK.cmake: Ditto. |
| * UIProcess/API/gtk/WebKitSettings.cpp: |
| (webkit_settings_set_enable_plugins): Do not disable plugins in wayland. |
| * UIProcess/gtk/WebPreferencesGtk.cpp: |
| (WebKit::WebPreferences::platformInitializeStore): Ditto. |
| * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: |
| (WebKit::NPN_GetValue): Use PlatformDisplay instead of |
| NetscapePlugin::x11HostDisplay() and don't claim to support X11 |
| specific features under non-x11 platforms. |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::NetscapePlugin): Remove X11 and GTK |
| specific memebers that are now moved to a dedicated class NetscapePluginX11. |
| * WebProcess/Plugins/Netscape/NetscapePlugin.h: |
| (WebKit::NetscapePlugin::frameRectInWindowCoordinates): Make this public. |
| (WebKit::NetscapePlugin::clipRect): Add getter. |
| (WebKit::NetscapePlugin::size): Ditto. |
| (WebKit::NetscapePlugin::isWindowed): Ditto. |
| (WebKit::NetscapePlugin::isVisible): Ditto. |
| * WebProcess/Plugins/Netscape/unix/NetscapePluginUnix.cpp: Added. |
| (WebKit::NetscapePlugin::platformPreInitialize): |
| (WebKit::NetscapePlugin::platformPostInitialize): |
| (WebKit::NetscapePlugin::platformDestroy): |
| (WebKit::NetscapePlugin::platformInvalidate): |
| (WebKit::NetscapePlugin::platformGeometryDidChange): |
| (WebKit::NetscapePlugin::platformVisibilityDidChange): |
| (WebKit::NetscapePlugin::platformPaint): |
| (WebKit::NetscapePlugin::platformHandleMouseEvent): |
| (WebKit::NetscapePlugin::platformHandleWheelEvent): |
| (WebKit::NetscapePlugin::platformSetFocus): |
| (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates): |
| (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): |
| (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): |
| (WebKit::NetscapePlugin::platformHandleKeyboardEvent): |
| * WebProcess/Plugins/Netscape/unix/NetscapePluginUnix.h: Added. |
| (WebKit::NetscapePluginUnix::~NetscapePluginUnix): |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| (WebKit::getPluginDisplay): |
| (WebKit::displayDepth): |
| (WebKit::x11HostDisplay): |
| (WebKit::NetscapePluginX11::create): |
| (WebKit::NetscapePluginX11::NetscapePluginX11): |
| (WebKit::NetscapePluginX11::~NetscapePluginX11): |
| (WebKit::NetscapePluginX11::windowType): |
| (WebKit::NetscapePluginX11::window): |
| (WebKit::NetscapePluginX11::geometryDidChange): |
| (WebKit::NetscapePluginX11::visibilityDidChange): |
| (WebKit::NetscapePluginX11::paint): |
| (WebKit::initializeXEvent): |
| (WebKit::NetscapePluginX11::handleMouseEvent): |
| (WebKit::NetscapePluginX11::handleWheelEvent): |
| (WebKit::NetscapePluginX11::setFocus): |
| (WebKit::NetscapePluginX11::handleMouseEnterEvent): |
| (WebKit::NetscapePluginX11::handleMouseLeaveEvent): |
| (WebKit::NetscapePluginX11::handleKeyboardEvent): |
| (WebKit::setCommonMouseEventFields): Deleted. |
| (WebKit::setXKeyEventFields): Deleted. |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h: Added. |
| |
| 2016-02-02 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| Remove ENABLE(GLOBAL_FASTMALLOC_NEW) guard in WebMemorySamplerLinux.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=153812 |
| |
| Reviewed by Darin Adler. |
| |
| r164261 already removed ENABLE_GLOBAL_FASTMALLOC_NEW guard though, WebMemorySamplerLinux |
| is still using it. That's why EFL and GTK memory sampler don't show fast malloc memory use. |
| |
| * Shared/linux/WebMemorySamplerLinux.cpp: |
| (WebKit::WebMemorySampler::sampleWebKit): Deleted. |
| |
| 2016-02-02 Enrica Casucci <enrica@apple.com> |
| |
| Provide handleKeyWebEvent with completion handler. |
| https://bugs.webkit.org/show_bug.cgi?id=153806 |
| rdar://problem/24399218 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView handleKeyWebEvent:withCompletionHandler:]): |
| (-[WKContentView _didHandleKeyEvent:eventWasHandled:]): |
| |
| 2016-02-02 Alex Christensen <achristensen@webkit.org> |
| |
| Fix authentication with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=153779 |
| |
| Reviewed by Brady Eidson. |
| |
| This fixes many tests, including http/tests/xmlhttprequest/cross-origin-authorization.html. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): |
| NetworkingContexts are not used with NetworkSession. NetworkSession is used instead. |
| Pass allowStoredCredentials to the NetworkLoad so it knows whether to use a session with credential storage or not. |
| (WebKit::NetworkLoad::didReceiveChallenge): |
| Always call continueCanAuthenticateAgainstProtectionSpace because we might need credentials for synchronous requests. |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| Reject the protection space if we cannot authenticate against this protection space. |
| If the protection space is not password-based (such as ServerTrustEvaluationRequested) and we can authenticate against this protection space, |
| then perform default handling instead of asking the UI process for a password, which wouldn't mean anything. |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkSession.h: |
| Use a NSURLSession with configuration.URLCredentialStorage = nil but with the same cookie storage for requests without credentials. |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSession::NetworkSession): |
| (WebKit::NetworkSession::~NetworkSession): |
| (WebKit::NetworkSession::dataTaskForIdentifier): |
| (WebKit::NetworkSession::takeDownloadID): |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace): |
| Always send a reply message so we can always do the callbacks of NSURLSession delegates. |
| |
| 2016-02-01 Dave Hyatt <hyatt@apple.com> |
| |
| Add a line grid pagination SPI to WebKit. |
| https://bugs.webkit.org/show_bug.cgi?id=153757 |
| <rdar://problem/23041598> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPaginationLineGridEnabled): |
| (WKPageGetPaginationLineGridEnabled): |
| * UIProcess/API/C/WKPagePrivate.h: |
| * UIProcess/API/Cocoa/WKBrowsingContextController.mm: |
| (-[WKBrowsingContextController setPaginationLineGridEnabled:]): |
| (-[WKBrowsingContextController paginationLineGridEnabled]): |
| * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _paginationLineGridEnabled]): |
| (-[WKWebView _setPaginationLineGridEnabled:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::setPaginationLineGridEnabled): |
| (WebKit::WebPageProxy::creationParameters): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::paginationLineGridEnabled): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setPaginationLineGridEnabled): |
| WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2016-02-02 Adrien Plazas <aplazas@igalia.com> |
| |
| [GTK] Several tests fail due to assert not reached in DrawingArea::dispatchAfterEnsuringDrawing() |
| https://bugs.webkit.org/show_bug.cgi?id=153785 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/DrawingAreaProxyImpl.cpp: |
| (WebKit::DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing): |
| * UIProcess/DrawingAreaProxyImpl.h: |
| |
| 2016-02-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: High Level Memory Overview Instrument |
| https://bugs.webkit.org/show_bug.cgi?id=153516 |
| <rdar://problem/24356378> |
| |
| Reviewed by Brian Burg. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-02-01 Alex Christensen <achristensen@webkit.org> |
| |
| Fix CMake build. |
| |
| * PlatformMac.cmake: |
| |
| 2016-02-01 Dan Bernstein <mitz@apple.com> |
| |
| More iOS build fix. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| |
| 2016-02-01 Dan Bernstein <mitz@apple.com> |
| |
| iOS build fix. |
| |
| * Platform/IPC/mac/ConnectionMac.mm: |
| |
| 2016-02-01 Dan Bernstein <mitz@apple.com> |
| |
| Copy sandbox profiles during installhdrs. |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/SandboxProfiles.xcconfig: |
| |
| 2016-02-01 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Remove some more __has_include guards |
| https://bugs.webkit.org/show_bug.cgi?id=153774 |
| |
| Reviewed by Tim Horton. |
| |
| Guard private header includes with #if USE(APPLE_INTERNAL_SDK) rather than with __has_include. |
| |
| * Platform/IPC/mac/ConnectionMac.mm: |
| * Platform/IPC/mac/ImportanceAssertion.h: |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: |
| * Shared/cf/ArgumentCodersCF.cpp: |
| * Shared/mac/ChildProcessMac.mm: |
| * Shared/mac/SecItemShim.cpp: |
| |
| 2016-02-01 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] Let Xcode know that the WebKit XPC service products are XPC services |
| https://bugs.webkit.org/show_bug.cgi?id=153773 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/BaseXPCService.xcconfig: Removed now-redundant definitions of |
| MACH_O_TYPE and WRAPPER_EXTENSION. |
| * WebKit2.xcodeproj/project.pbxproj: Updated product types. |
| |
| 2016-02-01 Tim Horton <timothy_horton@apple.com> |
| |
| Crash using WKPDFView, in -[UIPDFPageView showContent] |
| https://bugs.webkit.org/show_bug.cgi?id=153770 |
| <rdar://problem/20157864> |
| |
| Reviewed by Anders Carlsson. |
| |
| When scrolling, we throw away UIPDFPageViews, but forget to unhook their delegates. |
| In some cases (also because their delegate is a raw pointer, not weak), they can call |
| back into a deleted WKPDFView, causing a crash. |
| |
| * UIProcess/ios/WKPDFView.mm: |
| (detachViewForPage): |
| Add a helper to detach a page view, and unhook its delegates. |
| |
| (-[WKPDFView _clearPages]): |
| (-[WKPDFView _revalidateViews]): |
| Make use of the new helper. |
| |
| 2016-02-01 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/20150072> [iOS] Remove some file upload code only needed before iOS 9 |
| https://bugs.webkit.org/show_bug.cgi?id=153754 |
| |
| Reviewed by Darin Adler. |
| |
| * Platform/spi/ios/UIKitSPI.h: Removed conditional forward declaration of SPI. |
| |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (photoLibraryIcon): Removed check for HAVE_WEBKIT_DOC_PICKER_ICONS, which is always true in |
| iOS 9 and later. |
| (cameraIcon): Ditto. |
| (-[WKFileUploadPanel presentWithParameters:resultListener:]): Removed branch for when |
| UIDocumentMenuViewController doesn’t respond to |
| -_initIgnoringApplicationEntitlementForImportOfTypes:. |
| (-[WKFileUploadPanel _showMediaSourceSelectionSheet]): Deleted now-unused method. |
| |
| 2016-02-01 Anders Carlsson <andersca@apple.com> |
| |
| Stop linking to PassKit |
| https://bugs.webkit.org/show_bug.cgi?id=153746 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/WebKit.xcconfig: |
| |
| 2016-02-01 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Get rid of WK_ macros for initializers |
| https://bugs.webkit.org/show_bug.cgi?id=153744 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_DESIGNATED_INITIALIZER and |
| WK_UNAVAILABLE. |
| |
| * mac/postprocess-framework-headers.sh: Removed rules for rewriting the above macros. Also |
| removed Foundation import that became unnecessary, and definitions that were only needed |
| before iOS 8. |
| |
| Replaced instances of the above macros with their expansions. |
| |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| * UIProcess/API/Cocoa/WKSecurityOrigin.h: |
| * UIProcess/API/Cocoa/WKWebView.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| |
| 2016-02-01 Csaba Osztrogonác <ossy@webkit.org> |
| |
| One more unreviewed speculative buildfix after r195755. |
| |
| * PlatformMac.cmake: |
| |
| 2016-02-01 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Unreviewed speculative buildfix after r195755. |
| |
| * PlatformMac.cmake: |
| |
| 2016-02-01 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Unreviewed speculative buildfix after r195795. |
| |
| * PlatformMac.cmake: Remove Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm. |
| |
| 2016-01-31 Darin Adler <darin@apple.com> |
| |
| Get rid of most calls to String::upper; mostly replace them with convertToASCIIUppercase |
| https://bugs.webkit.org/show_bug.cgi?id=153715 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: |
| Use convertToASCIIUppercase on language names. |
| |
| 2016-01-31 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Remove __has_include guards around use of WebKitAdditions |
| https://bugs.webkit.org/show_bug.cgi?id=153728 |
| |
| Reviewed by Andy Estes. |
| |
| Guard WebKitAdditions includes with #if USE(APPLE_INTERNAL_SDK) rather than with __has_include. |
| |
| * Shared/Cocoa/WebKitAdditions.mm: |
| * Shared/WebCoreArgumentCoders.h: |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| (WebKit::WebPageProxy::resetState): |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_shouldDispatchFakeMouseMoveEvents): |
| |
| 2016-01-31 Timothy Horton <timothy_horton@apple.com> |
| |
| Include the right WebKitAdditions files |
| <rdar://problem/24429804> |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::resetState): |
| |
| 2016-01-31 Darin Adler <darin@apple.com> |
| |
| Replace CaseFoldingHash with ASCIICaseInsensitiveHash |
| https://bugs.webkit.org/show_bug.cgi?id=153639 |
| |
| Reviewed by Filip Pizlo. |
| |
| * UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Use ASCIICaseInsensitiveHash |
| for MIME types. MIME types are all ASCII. |
| |
| * UIProcess/Plugins/PlugInAutoStartProvider.h: Use ASCIICaseInsensitiveHash for |
| origins. Origin strings should use ASCII case insensitive matching and should not |
| fold non-ASCII case. |
| |
| * WebProcess/WebPage/WebPage.h: Use ASCIICaseInsensitiveHash for MIME types. |
| MIME types are all ASCII. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::addCaseFoldedCharacters): Use ASCIICaseInsensitiveHash to hash plug-in |
| origin strings. (See rationale above.) |
| (WebKit::hashForPlugInOrigin): Updated comment. |
| |
| 2016-01-31 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| Use std::make_unique<> when creating an unique_ptr object. |
| https://bugs.webkit.org/show_bug.cgi?id=153705 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): Use std::make_unique<> instead of RunLoopObserver::create(). |
| |
| 2016-01-30 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Get rid of many WK_ macros for nullability |
| https://bugs.webkit.org/show_bug.cgi?id=153718 |
| |
| Sam Weinig reviewed an earlier version of this change, and Simon Fraser rubber-stamped this version. |
| |
| * Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_ASSUME_NONNULL_{BEGIN, END}, |
| WK_NULLABLE, WK_NULL_UNSPECIFIED, and WK_NULLABLE_PROPERTY. Removed the |
| !__has_feature(assume_nonnull) case. |
| |
| * mac/postprocess-framework-headers.sh: Removed rules for rewriting the above macros. Also |
| chanegd to rewrite WK_NULLABLE_SPECIFIER to the modern _Nullable instead of __nullable. |
| |
| Replaced instances of the above macros with their expansions. |
| |
| * UIProcess/API/Cocoa/WKBackForwardList.h: |
| * UIProcess/API/Cocoa/WKBackForwardListItem.h: |
| * UIProcess/API/Cocoa/WKError.h: |
| * UIProcess/API/Cocoa/WKFrameInfo.h: |
| * UIProcess/API/Cocoa/WKNavigationAction.h: |
| * UIProcess/API/Cocoa/WKNavigationDelegate.h: |
| * UIProcess/API/Cocoa/WKNavigationResponse.h: |
| * UIProcess/API/Cocoa/WKScriptMessage.h: |
| * UIProcess/API/Cocoa/WKScriptMessageHandler.h: |
| * UIProcess/API/Cocoa/WKSecurityOrigin.h: |
| * UIProcess/API/Cocoa/WKUIDelegate.h: |
| * UIProcess/API/Cocoa/WKUserContentController.h: |
| * UIProcess/API/Cocoa/WKUserScript.h: |
| * UIProcess/API/Cocoa/WKWebView.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWindowFeatures.h: |
| * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: |
| * UIProcess/API/Cocoa/_WKElementInfo.h: |
| * UIProcess/API/Cocoa/_WKPreviewElementInfo.h: |
| * UIProcess/API/Cocoa/_WKUserStyleSheet.h: |
| |
| 2016-01-30 Dan Bernstein <mitz@apple.com> |
| |
| Reverted r195914, because at least one of the build.webkit.org builders still uses a compiler that doesn’t understand _Nullable. |
| |
| * Shared/API/Cocoa/WKFoundation.h: |
| * UIProcess/API/Cocoa/WKBackForwardList.h: |
| * UIProcess/API/Cocoa/WKBackForwardListItem.h: |
| * UIProcess/API/Cocoa/WKError.h: |
| * UIProcess/API/Cocoa/WKFrameInfo.h: |
| * UIProcess/API/Cocoa/WKNavigationAction.h: |
| * UIProcess/API/Cocoa/WKNavigationDelegate.h: |
| * UIProcess/API/Cocoa/WKNavigationResponse.h: |
| * UIProcess/API/Cocoa/WKScriptMessage.h: |
| * UIProcess/API/Cocoa/WKScriptMessageHandler.h: |
| * UIProcess/API/Cocoa/WKSecurityOrigin.h: |
| * UIProcess/API/Cocoa/WKUIDelegate.h: |
| * UIProcess/API/Cocoa/WKUserContentController.h: |
| * UIProcess/API/Cocoa/WKUserScript.h: |
| * UIProcess/API/Cocoa/WKWebView.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWindowFeatures.h: |
| * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: |
| * UIProcess/API/Cocoa/_WKElementInfo.h: |
| * UIProcess/API/Cocoa/_WKPreviewElementInfo.h: |
| * UIProcess/API/Cocoa/_WKUserStyleSheet.h: |
| * mac/postprocess-framework-headers.sh: |
| |
| 2016-01-30 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r195911. |
| https://bugs.webkit.org/show_bug.cgi?id=153723 |
| |
| Caused frequent assertion failures on bots (Requested by ap on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Replace CaseFoldingHash with ASCIICaseInsensitiveHash" |
| https://bugs.webkit.org/show_bug.cgi?id=153639 |
| http://trac.webkit.org/changeset/195911 |
| |
| 2016-01-30 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Get rid of WK_ macros for nullability |
| https://bugs.webkit.org/show_bug.cgi?id=153718 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_ASSUME_NONNULL_{BEGIN, END}, |
| WK_NULLABLE, WK_NULL_UNSPECIFIED, WK_NULLABLE_SPECIFIER, and WK_NULLABLE_PROPERTY. |
| |
| * mac/postprocess-framework-headers.sh: Removed rules for rewriting those macros. |
| |
| Replaced instances of those macros with their expansions, but using the modern _Nullable |
| instead of __nullable: |
| |
| * UIProcess/API/Cocoa/WKBackForwardList.h: |
| * UIProcess/API/Cocoa/WKBackForwardListItem.h: |
| * UIProcess/API/Cocoa/WKError.h: |
| * UIProcess/API/Cocoa/WKFrameInfo.h: |
| * UIProcess/API/Cocoa/WKNavigationAction.h: |
| * UIProcess/API/Cocoa/WKNavigationDelegate.h: |
| * UIProcess/API/Cocoa/WKNavigationResponse.h: |
| * UIProcess/API/Cocoa/WKScriptMessage.h: |
| * UIProcess/API/Cocoa/WKScriptMessageHandler.h: |
| * UIProcess/API/Cocoa/WKSecurityOrigin.h: |
| * UIProcess/API/Cocoa/WKUIDelegate.h: |
| * UIProcess/API/Cocoa/WKUserContentController.h: |
| * UIProcess/API/Cocoa/WKUserScript.h: |
| * UIProcess/API/Cocoa/WKWebView.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWindowFeatures.h: |
| * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: |
| * UIProcess/API/Cocoa/_WKElementInfo.h: |
| * UIProcess/API/Cocoa/_WKPreviewElementInfo.h: |
| * UIProcess/API/Cocoa/_WKUserStyleSheet.h: |
| |
| 2016-01-30 Darin Adler <darin@apple.com> |
| |
| Replace CaseFoldingHash with ASCIICaseInsensitiveHash |
| https://bugs.webkit.org/show_bug.cgi?id=153639 |
| |
| Reviewed by Filip Pizlo. |
| |
| * UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Use ASCIICaseInsensitiveHash |
| for MIME types. MIME types are all ASCII. |
| |
| * UIProcess/Plugins/PlugInAutoStartProvider.h: Use ASCIICaseInsensitiveHash for |
| origins. Origin strings should use ASCII case insensitive matching and should not |
| fold non-ASCII case. |
| |
| * WebProcess/WebPage/WebPage.h: Use ASCIICaseInsensitiveHash for MIME types. |
| MIME types are all ASCII. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::addCaseFoldedCharacters): Use ASCIICaseInsensitiveHash to hash plug-in |
| origin strings. (See rationale above.) |
| (WebKit::hashForPlugInOrigin): Updated comment. |
| |
| 2016-01-30 Jeremy Huddleston Sequoia <jeremyhu@apple.com> |
| |
| [GTK] Use configured python executable when executing generate-inspector-gresource-manifest.py |
| https://bugs.webkit.org/show_bug.cgi?id=153712 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * PlatformGTK.cmake: |
| |
| 2016-01-29 Ada Chan <adachan@apple.com> |
| |
| Enable VIDEO_PRESENTATION_MODE only in Debug and Release builds on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=153665 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-01-29 Dan Bernstein <mitz@apple.com> |
| |
| Don’t use the “.Development” suffix for engineering builds targeting iOS devices, because the XPC cache is only aware of the unsuffixed service identifiers. |
| |
| Reviewed by Chris Dumez. |
| |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2016-01-29 Enrica Casucci <enrica@apple.com> |
| |
| One more iOS build fix. |
| |
| Unreviewed. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| |
| 2016-01-29 Enrica Casucci <enrica@apple.com> |
| |
| iOS build fix after r195826. |
| |
| Unreviewed. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| |
| 2016-01-29 Enrica Casucci <enrica@apple.com> |
| |
| Disable text interaction with pencil. |
| https://bugs.webkit.org/show_bug.cgi?id=153655 |
| rdar://problem/24337778 |
| |
| Reviewed by Tim Horton. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]): |
| (-[WKContentView _singleTapCommited:]): |
| |
| 2016-01-29 Mario Sanchez Prada <mario@endlessm.com> |
| |
| [GTK] WebProcess crashes when quickly attempting many DnD operations |
| https://bugs.webkit.org/show_bug.cgi?id=138468 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Guard all the new DnD-related code under GTK_CHECK_VERSION #if's to |
| make sure we don't bump the required version of GTK+ up to 3.16, and |
| it's buildable again with GTK+ >= 3.6. |
| |
| * UIProcess/gtk/DragAndDropHandler.cpp: |
| (WebKit::DragAndDropHandler::DragAndDropHandler): |
| (WebKit::DragAndDropHandler::startDrag): |
| (WebKit::DragAndDropHandler::fillDragData): |
| (WebKit::DragAndDropHandler::finishDrag): |
| * UIProcess/gtk/DragAndDropHandler.h: |
| |
| 2016-01-28 Antti Koivisto <antti@apple.com> |
| |
| Enable background tab suspension by default on OSX |
| https://bugs.webkit.org/show_bug.cgi?id=153629 |
| <rdar://problem/24402895> |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::registerUserDefaultsIfNeeded): |
| |
| 2016-01-28 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Use the non-Development variants of XPC services for development |
| https://bugs.webkit.org/show_bug.cgi?id=152545 |
| |
| Reviewed by Darin Adler. |
| |
| The purpose of the Development variants of the WebKit XPC services is to allow the service |
| to link against the development WebKit dylibs rather than the system ones. Instead, we |
| accomplish this here by including dyld environment load commands in the normal services |
| when the WebKit dylibs are expected to be relocated. A new build setting, |
| WK_RELOCATABLE_FRAMEWORKS, controls this. |
| |
| To make it easy to identify engineering builds of the services at runtime, they can be |
| given a distinctive suffix. A new build setting, WK_XPC_SERVICE_SUFFIX, controls this. |
| |
| * Configurations/DebugRelease.xcconfig: Set WK_RELOCATABLE_FRAMEWORKS to YES and |
| WK_XPC_SERVICE_SUFFIX to ".Development". |
| |
| * Configurations/BaseTarget.xcconfig: Make the quoted value of the WK_XPC_SERVICE_SUFFIX |
| build setting available as a preprocessor macro. |
| |
| * Configurations/BaseXPCService.xcconfig: |
| - Simplify the definition of INSTALL_PATH now that there are no Development variants. |
| - Define WK_RELOCATABLE_FRAMEWORKS_LDFLAGS when building relocatable frameworks to include |
| -dyld_env options setting DYLD_FRAMEWORK_PATH to point to the directory containing |
| WebKit.framework and DYLD_LIBRARY_PATH to the framework’s Frameworks subdirectory. When |
| not building relocatable frameworks, define WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to include |
| a -headerpad option allowing dyld environment load commands to be added after the fact. |
| - Add WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to OTHER_LDFLAGS. |
| - Define WK_XPC_SERVICE_INSERT_LIBRARIES_DIR when building relocatable frameworks to be |
| the path to the Frameworks subdirectory of the WebKit framework containing the service. |
| When not building relocatable frameworks, define it to the absolute path of the |
| Frameworks subdirectory of the installed WebKit framework. |
| |
| * Configurations/DatabaseService.xcconfig: Append WK_XPC_SERVICE_SUFFIX to PRODUCT_NAME, |
| and remove no-longer-used definition of WK_XPC_SERVICE_VARIANT. |
| * Configurations/NetworkService.xcconfig: Append WK_XPC_SERVICE_SUFFIX to PRODUCT_NAME, add |
| WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to OTHER_LDFLAGS, and remove no-longer-used definition |
| of WK_XPC_SERVICE_VARIANT. |
| * Configurations/PluginService.32.xcconfig: Ditto. |
| * Configurations/PluginService.64.xcconfig: Ditto. |
| * Configurations/WebContentService.xcconfig: Ditto. |
| |
| * Configurations/DatabaseService.Development.xcconfig: Removed. |
| * Configurations/NetworkService.Development.xcconfig: Removed. |
| * Configurations/PluginService.32.Development.xcconfig: Removed. |
| * Configurations/PluginService.64.Development.xcconfig: Removed. |
| * Configurations/WebContentService.Development.xcconfig: Removed. |
| |
| * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development: Removed. |
| * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Removed. |
| * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Set |
| CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. |
| |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development: Removed. |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist: Removed. |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: Removed. |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Set |
| CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. Use |
| WK_XPC_SERVICE_INSERT_LIBRARIES_DIR in the value of DYLD_INSERT_LIBRARIES. |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: Set |
| CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: Ditto. |
| |
| * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Ditto. |
| * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development: Removed. |
| * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: Removed. |
| |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development: Removed. |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: Removed. |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: Removed. |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Set |
| CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. Use |
| WK_XPC_SERVICE_INSERT_LIBRARIES_DIR in the value of DYLD_INSERT_LIBRARIES. |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: Set |
| CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: Ditto. |
| |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm: Removed. |
| |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm: |
| (WebKit::XPCServiceEventHandler): If stdout and stderr file descriptors are included in the |
| bootstrap message, hook them up to the serviceâs stdout and stderr, like the Development |
| services do. |
| (main): Moved code from XPCServiceMain.Development.mm to handle the optional |
| OverrideLanguages array. |
| |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::addDYLDEnvironmentAdditions): Addressed a FIXME. |
| (WebKit::serviceName): Removed forDevelopment argument and .Development service names. |
| Added WK_XPC_SERVICE_SUFFIX to the names. |
| (WebKit::connectToService): Updated for removal of forDevelopment argument. Removed |
| "framework-executable-path" key from the bootstrap message, because it was only used in |
| the Development variants. |
| (WebKit::connectToReExecService): Deleted. |
| (WebKit::createService): Removed call to connectToReExecService. Instead pass forDevelopment |
| to connectToService. |
| |
| * WebKit2.xcodeproj/project.pbxproj: Removed references to removed files. Removed targets |
| for Development services. Removed Development services from script build phase that copies |
| services into the framework in engineering builds, and made it respect |
| WK_XPC_SERVICE_SUFFIX. |
| |
| 2016-01-28 Enrica Casucci <enrica@apple.com> |
| |
| Should avoid navigation for some data detector urls. |
| https://bugs.webkit.org/show_bug.cgi?id=153600 |
| |
| Reviewed by Tim Horton. |
| |
| When a tap is commited, we normally generate a synthetic click if |
| the node responds to click events. |
| This patch adds the logic to prevent that from happening if the node |
| is a data detector link with certain characteristics (calendar event, telephone, etc.). |
| If this is the case, we compute the interaction information as position, send it |
| over to the UI process and notify that we did not handle the tap. |
| The page client is now also notified of this event and can show the data detector sheet if |
| appropriate. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::toolTipChanged): |
| (WebKit::PageClientImpl::didNotHandleTapAsClick): |
| (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest): |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView clearSelection]): |
| (-[WKContentView _didNotHandleTapAsClick:]): |
| (-[WKContentView _positionInformationDidChange:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::didNotHandleTapAsClick): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::commitPotentialTap): |
| |
| 2016-01-28 Brent Fulgham <bfulgham@apple.com> |
| |
| [iOS] Update Web Process sandbox profile for audiodeviceclock access |
| https://bugs.webkit.org/show_bug.cgi?id=153571 |
| <rdar://problem/24134612> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| |
| 2016-01-26 Ada Chan <adachan@apple.com> |
| |
| Get WebVideoFullscreenManager and related classes to also compile for Mac platform |
| with video presentation mode support. |
| https://bugs.webkit.org/show_bug.cgi?id=153221 |
| |
| Reviewed by Eric Carlson. |
| |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| Enabled also for Mac with video presentation mode support. |
| (-[WKLayerHostView makeBackingLayer]): |
| Make sure this view uses CALayerHost for its layer. |
| (WebKit::WebVideoFullscreenManagerProxy::invalidate): |
| (WebKit::WebVideoFullscreenManagerProxy::createModelAndInterface): |
| (WebKit::WebVideoFullscreenManagerProxy::ensureInterface): |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): |
| Replace WebCore::WebVideoFullscreenInterfaceAVKit with PlatformWebVideoFullscreenInterface. |
| (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame): |
| +[UIWindow _synchronizeDrawingAcrossProcesses] is not available on Mac. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| (WebKit::WebPageProxy::viewDidLeaveWindow): |
| (WebKit::WebPageProxy::resetState): |
| * UIProcess/WebPageProxy.h: |
| The code that creates m_videoFullscreenManager is now enabled also on Mac with video |
| presentation mode support. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| Enable the API related to the video fullscreen layer also on Mac with video presentation |
| mode support. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| * WebProcess/WebPage/WebPage.h: |
| The code that creates m_videoFullscreenManager is now enabled also on Mac with video |
| presentation mode support. |
| |
| * WebProcess/cocoa/WebVideoFullscreenManager.h: |
| * WebProcess/cocoa/WebVideoFullscreenManager.messages.in: |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| Enabled also for Mac with video presentation mode support. |
| (WebKit::WebVideoFullscreenManager::supportsVideoFullscreen): |
| Return false for now on Mac. |
| |
| 2016-01-28 Darin Adler <darin@apple.com> |
| |
| Remove equalIgnoringCase since all callers really wanted equalIgnoringASCIICase |
| https://bugs.webkit.org/show_bug.cgi?id=153411 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Shared/API/c/WKString.cpp: |
| (WKStringIsEqualToUTF8CStringIgnoringCase): Use equalIgnoringASCIICase. |
| This is a change in behavior for callers who passed non-ASCII letters to |
| this function and expected case insensitive comparison. |
| |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::PDFPlugin::streamDidReceiveResponse): Use equalIgnoringASCIICase. |
| No change in behavior because this is just checking a fixed ASCII MIME type. |
| (WebKit::PDFPlugin::manualStreamDidReceiveResponse): Ditto. |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::streamDidReceiveResponse): Ditto. |
| (WebKit::PDFPlugin::manualStreamDidReceiveResponse): Ditto. |
| |
| 2016-01-27 Alex Christensen <achristensen@webkit.org> |
| |
| Fix CMake build after r195722. |
| |
| * PlatformMac.cmake: |
| Include new file. |
| |
| 2016-01-27 Dan Bernstein <mitz@apple.com> |
| |
| Fix other builds. |
| |
| * Configurations/WebKit.xcconfig: |
| |
| 2016-01-27 Anders Carlsson <andersca@apple.com> |
| |
| Fix build. |
| |
| * Configurations/WebKit.xcconfig: |
| |
| 2016-01-27 Krzysztof Czech <k.czech@samsung.com> |
| |
| [EFL] Remove unused accessibility related code |
| https://bugs.webkit.org/show_bug.cgi?id=153543 |
| |
| Reviewed by Darin Adler. |
| |
| Do not need to load external library to expose WebKit's |
| accessibility tree. There have been changes in EFL/Elementary |
| in terms of support of accessibility and we should follow those. |
| |
| * WebProcess/efl/WebProcessMainEfl.cpp: |
| (eailLibraryPath): Deleted. |
| (eail): Deleted. |
| |
| 2016-01-27 Enrica Casucci <enrica@apple.com> |
| |
| Cache results of data detection in the UI process when load completes. |
| https://bugs.webkit.org/show_bug.cgi?id=153560 |
| |
| Reviewed by Tim Horton. |
| |
| This patch changes when the results of data detections are sent to the |
| UIProcess. Before this change, they were only provided as part of |
| InteractionInformationAtPosition, which is populated when long press |
| gesture is triggered. |
| We need to have the results available if the client wants to allow navigation |
| to a data detector link, in order to allow them to retrieve the full url. |
| With this change, we now send the results as soon as they are computed |
| and keep them in the WebPageProxy object so that they can be fetched when |
| necessary from a WKWebView private interface. |
| |
| * Shared/Cocoa/DataDetectionResult.h: Added. |
| * Shared/Cocoa/DataDetectionResult.mm: Added. |
| (WebKit::DataDetectionResult::encode): |
| (WebKit::DataDetectionResult::decode): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _snapshotLayerContentsForBackForwardListItem:]): |
| (-[WKWebView _dataDetectionResults]): |
| (-[WKWebView _didRelaunchProcess]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/Cocoa/WebPageProxyCocoa.mm: |
| (WebKit::WebPageProxy::setDataDetectionResult): |
| (WebKit::WebPageProxy::saveRecentSearches): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::websiteDataStore): |
| (WebKit::WebPageProxy::dataDetectionResults): |
| (WebKit::WebPageProxy::scrollingCoordinatorProxy): |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView ensurePositionInformationIsUpToDate:]): |
| (-[WKContentView _dataDetectionResults]): |
| (-[WKContentView gestureRecognizerShouldBegin:]): |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength): |
| (WebKit::WebFrameLoaderClient::dispatchDidFinishDataDetection): |
| (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| (WebKit::WebPage::setDataDetectionResults): |
| (WebKit::WebPage::willCommitLayerTree): |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::shouldExtendIncrementalRenderingSuppression): |
| |
| 2016-01-27 Anders Carlsson <andersca@apple.com> |
| |
| Include the right WebKitAdditions files |
| https://bugs.webkit.org/show_bug.cgi?id=153572 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| |
| 2016-01-27 Daniel Bates <dabates@apple.com> |
| |
| Move ContentSecurityPolicy.{cpp, h} to its own directory |
| https://bugs.webkit.org/show_bug.cgi?id=153527 |
| <rdar://problem/24359892> |
| |
| Reviewed by Sam Weinig. |
| |
| Add ${WEBCORE_DIR}/page/csp to the list of WebKit2 include directories. |
| |
| * CMakeLists.txt: |
| |
| 2016-01-27 Anders Carlsson <andersca@apple.com> |
| |
| Add WebKitAdditions extension points to WebCore, WebKit and WebKitLegacy |
| https://bugs.webkit.org/show_bug.cgi?id=153550 |
| |
| Reviewed by Sam Weinig. |
| |
| * DerivedSources.make: |
| Add the ability for WebKitAdditions to add new message receivers. |
| |
| * Shared/Cocoa/WebKitAdditions.mm: Added. |
| Add addition files. |
| |
| * Shared/WebCoreArgumentCoders.h: |
| Add extension points. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| (WebKit::WebPageProxy::resetState): |
| Add extension points. |
| |
| * UIProcess/WebPageProxy.h: |
| Add extension points. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| Add extension points. |
| |
| 2016-01-27 Chris Dumez <cdumez@apple.com> |
| |
| window.atob() should ignore spaces in input |
| https://bugs.webkit.org/show_bug.cgi?id=153522 |
| <rdar://problem/24357822> |
| |
| Reviewed by Benjamin Poulain. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformSave): |
| |
| 2016-01-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add API to access closed shadowRoot in InjectedBundle |
| https://bugs.webkit.org/show_bug.cgi?id=153533 |
| |
| Reviewed by Antti Koivisto. |
| |
| Added WKBundleScriptWorldMakeAllShadowRootsOpen to make all shadow roots open. |
| This is needed to keep supporting certain browser-level features such as autofill. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: |
| (WKBundleScriptWorldMakeAllShadowRootsOpen): Added. |
| * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: |
| * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: |
| (WebKit::InjectedBundleScriptWorld::makeAllShadowRootsOpen): Added. |
| * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: |
| |
| 2016-01-27 Zhuo Li <zachli@apple.com> |
| |
| Need ability to specify alternate image for AutoFill button in input fields. |
| https://bugs.webkit.org/show_bug.cgi?id=153116. |
| rdar://problem/23384854. |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: |
| (toAutoFillButtonType): Convert the WebKit AutoFill button type enum to WebCore AutoFill button |
| type enum. |
| (WKBundleNodeHandleSetHTMLInputElementAutoFillButtonEnabledWithButtonType): Added to be able to specify |
| what the AutoFill button type is. None means the AutoFill button is not shown. |
| (WKBundleNodeHandleSetHTMLInputElementAutoFillButtonEnabled): Deprecate this method. |
| * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Declare an AutoFill button type enum. |
| * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: |
| (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFillButtonEnabled): None means the AutoFill button is not enabled. |
| (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFillButtonEnabledWithButtonType): Use the new parameter to specify |
| what the AutoFill button type is. |
| * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto. |
| |
| 2016-01-27 Dan Bernstein <mitz@apple.com> |
| |
| More trying to fix the build. |
| |
| * Configurations/WebKit.xcconfig: |
| |
| 2016-01-27 Alexey Proskuryakov <ap@apple.com> |
| |
| Remove ENABLE_CURRENTSRC |
| https://bugs.webkit.org/show_bug.cgi?id=153545 |
| |
| Reviewed by Simon Fraser. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-01-27 Sam Weinig <sam@webkit.org> |
| |
| Try to fix the build. |
| |
| * Configurations/WebKit.xcconfig: |
| |
| 2016-01-26 Sam Weinig <sam@webkit.org> |
| |
| Attempt to force a rebuild. |
| |
| * DerivedSources.make: |
| |
| 2016-01-26 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r194557): Keyboard shortcuts stop working after the WKWebView is unparented and reparented |
| https://bugs.webkit.org/show_bug.cgi?id=153492 |
| <rdar://problem/24138989> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView canBecomeFirstResponder]): |
| (-[WKContentView becomeFirstResponder]): |
| (-[WKContentView resignFirstResponder]): |
| When WKWebView is unparented, WKContentView will attempt to resignFirstResponder upwards, |
| first asking WKWebView. After r194557, WKWebView will accept first responder and forward |
| it on to the WKContentView, which will happily accept it again, despite being the view |
| that's trying to resign. This will cause us to completely lose first responder, |
| where it was actually supposed to propagate up above WKWebView to the client. |
| |
| Keep track of when WKContentView is resigning first responder, and don't |
| let it become first responder while it is doing so, breaking the cycle. |
| |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView canBecomeFirstResponder]): |
| If the WKContentView is currently in the process of resigning first responder status, |
| we shouldn't accept it, because clients expect to receive it. |
| |
| 2016-01-26 I-Ting Liu <iting_liu@apple.com> |
| |
| Implement wildcard matching for plug-in policy host. |
| https://bugs.webkit.org/show_bug.cgi?id=153090 |
| |
| Reviewed by Darin Adler. |
| |
| WebPlatformStrategies decides the plug-in load policy for a host by looking |
| for a matched hostname in the list of plug-in policies sent by Safari. This |
| patch adds support for wildcard matching -- if there's a policy with hostname |
| "*.example.com," the policy for "foo.example.com" would be replaced with that |
| of "*.example.com" if there's no policy for this hostname. If there is more |
| than one wildcard hostname, the host with the longest wildcard hostname will |
| be used. |
| |
| This patch adds a helper function in StringUtilites that matches a string to |
| another string, which may contain wildcard ('*') characters. |
| |
| * Platform/mac/StringUtilities.h: |
| - Add WebKit::stringMatchesWildcardString. |
| - Remove #if ENABLE(TELEPHONE_NUMBER_DETECTION) && PLATFORM(MAC) flag so that |
| the compiler allows exposing StringUtilities.h. |
| - Add #if __OBJC__ to allow the file to be included in WebPltformStrategies.cpp |
| |
| * Platform/mac/StringUtilities.mm: |
| (WebKit::stringMatchesWildcardString): |
| Return true if the entire first given String matches the second. The second string |
| may contain wildcard characters. |
| (WebKit::wildcardRegexPatternString): |
| Return the regex expression from a wildcard string by replacing the wildcard |
| character ('*') with (".*") and escaping regular expression metacharacters. |
| (WebKit::formattedPhoneNumberString): |
| To expose StringUtilities.h for tests, we removed #if ENABLE(TELEPHONE_NUMBER_DETECTION) |
| && PLATFORM(MAC) flag in the header. Add a function that returns nil for |
| #if !(ENABLE(TELEPHONE_NUMBER_DETECTION) && PLATFORM(MAC)) to fix the removal |
| of the flag in the header file. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Change the file attribute of StringUtilities.h from Project to Private for |
| testing in TestWebKitAPI. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::longestMatchedWildcardHostForHost): |
| Return the wildcard hostname whose matched substring with the host is the longest. |
| (WebKit::WebPlatformStrategies::replaceHostWithMatchedWildcardHost): |
| Replace the look-up host with a matched wildcard host if there is a match and that |
| the matched wildcard host's plug-in identifier is the same as that of the host. |
| (WebKit::WebPlatformStrategies::pluginLoadClientPolicyForHost): |
| Try to replace the look-up host with the wildcard host if there's no policy for |
| the host. Restructure the function to reduce hashmap lookup. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| Declare the methods. |
| |
| 2016-01-26 Anders Carlsson <andersca@apple.com> |
| |
| Remove -d flag from make invocation. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-01-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Generalize ResourceUsageData gathering to be used outside of ResourceUsageOverlay |
| https://bugs.webkit.org/show_bug.cgi?id=153509 |
| <rdar://problem/24354291> |
| |
| Reviewed by Andreas Kling. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| Rename the ENABLE flag. |
| |
| 2016-01-26 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r195602. |
| https://bugs.webkit.org/show_bug.cgi?id=153526 |
| |
| broke more than it fixed (Requested by thorton on #webkit). |
| |
| Reverted changeset: |
| |
| "REGRESSION (r194557): Keyboard shortcuts stop working after |
| the WKWebView is unparented and reparented" |
| https://bugs.webkit.org/show_bug.cgi?id=153492 |
| http://trac.webkit.org/changeset/195602 |
| |
| 2016-01-26 Anders Carlsson <andersca@apple.com> |
| |
| WebKitAdditions should be able to modify derived source rules |
| https://bugs.webkit.org/show_bug.cgi?id=153514 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/BaseTarget.xcconfig: |
| * Configurations/WebKit.xcconfig: |
| Set WEBKITADDITIONS_HEADER_SEARCH_PATHS. |
| |
| * DerivedSources.make: |
| Move the path computation earlier and include WebKitDerivedSourcesAdditions.make. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Pass our WebKitAdditions paths as include paths to make. |
| |
| 2016-01-26 Anders Carlsson <andersca@apple.com> |
| |
| Add a private WKUIDelegate method for getting a presenting view controller for a WKWebView on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=153510 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::presentingViewController): |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/Cocoa/UIDelegate.h: |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): |
| (WebKit::UIDelegate::UIClient::presentingViewController): |
| |
| 2016-01-26 Dean Jackson <dino@apple.com> |
| |
| [iOS] Documents without an explicit width should not get fast tapping |
| https://bugs.webkit.org/show_bug.cgi?id=153465 |
| <rdar://problem/23962529> |
| |
| Reviewed by Simon Fraser (and Wenson Hseih). |
| |
| As the title says, documents that do not set a viewport should |
| not get the fast click behaviour. There were complaints that we broke |
| double-tap to scroll in ImageDocuments where the image was narrow and long. |
| |
| The fix is to just keep a flag that tells the UI process if the |
| width was explicit. However, it turns out that those ImageDocuments |
| are given an explicit device-width, which is fine for scaling but |
| really should behave as auto for fast tapping. So we also need |
| to tell the UIProcess if the viewport arguments came from an |
| ImageDocument. |
| |
| * Shared/mac/RemoteLayerTreeTransaction.h: Add two new flags into |
| the transaction. |
| (WebKit::RemoteLayerTreeTransaction::viewportMetaTagWidthWasExplicit): |
| (WebKit::RemoteLayerTreeTransaction::setViewportMetaTagWidthWasExplicit): |
| (WebKit::RemoteLayerTreeTransaction::viewportMetaTagCameFromImageDocument): |
| (WebKit::RemoteLayerTreeTransaction::setViewportMetaTagCameFromImageDocument): |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::encode): |
| (WebKit::RemoteLayerTreeTransaction::decode): |
| (WebKit::RemoteLayerTreeTransaction::description): |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didCommitLayerTree:]): Notice whether or not the viewport |
| width was explicit. |
| (-[WKWebView _allowsDoubleTapGestures]): Return yes if the width |
| was not explicit, or if the viewport came from an ImageDocument. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::willCommitLayerTree): |
| |
| 2016-01-26 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r194557): Keyboard shortcuts stop working after the WKWebView is unparented and reparented |
| https://bugs.webkit.org/show_bug.cgi?id=153492 |
| <rdar://problem/24138989> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView canBecomeFirstResponder]): |
| (-[WKContentView becomeFirstResponder]): |
| (-[WKContentView resignFirstResponder]): |
| When WKWebView is unparented, WKContentView will attempt to resignFirstResponder upwards, |
| first asking WKWebView. After r194557, WKWebView will accept first responder and forward |
| it on to the WKContentView, which will happily accept it again, despite being the view |
| that's trying to resign. This will cause us to completely lose first responder, |
| where it was actually supposed to propagate up above WKWebView to the client. |
| |
| Keep track of when WKContentView is resigning first responder, and don't |
| let it become first responder while it is doing so, breaking the cycle. |
| |
| 2016-01-25 Ada Chan <adachan@apple.com> |
| |
| Move WebVideoFullscreenManager and related classes from iOS specific folders to cocoa folders |
| https://bugs.webkit.org/show_bug.cgi?id=153473 |
| |
| Reviewed by Eric Carlson. |
| |
| * DerivedSources.make: |
| Add new paths. |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: Renamed from Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h. |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in: Renamed from Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in. |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: Renamed from Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm. |
| (WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector): |
| Fix a style error by moving the opening curly brace to the same line as the for statement. |
| * WebKit2.xcodeproj/project.pbxproj: |
| Update due to changes to the file locations. |
| * WebProcess/cocoa/WebVideoFullscreenManager.h: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.h. |
| * WebProcess/cocoa/WebVideoFullscreenManager.messages.in: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.messages.in. |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm. |
| (WebKit::WebVideoFullscreenInterfaceContext::setSeekableRanges): |
| Fix a style error by adding a missing space after a comma. |
| |
| 2016-01-26 Daniel Bates <dabates@apple.com> |
| |
| WebKitTestRunner: Credential cache is not cleared between tests |
| https://bugs.webkit.org/show_bug.cgi?id=153407 |
| <rdar://problem/24280834> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Expose SPI to call CredentialStorage::clearCredentials() on the default network storage |
| session to clear cached credentials. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::clearCachedCredentials): Added. |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: Added message ClearCachedCredentials(). |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextClearCachedCredentials): Added. |
| * UIProcess/API/C/WKContextPrivate.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::clearCachedCredentials): Notify all web processes and the |
| network process to clear cached credentials. |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::clearCachedCredentials): Clear cached credentials in the default |
| network storage session. |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: Added message ClearCachedCredentials(). |
| |
| 2016-01-26 Mario Sanchez Prada <mario@endlessm.com> |
| |
| [GTK] WebProcess crashes when quickly attempting many DnD operations |
| https://bugs.webkit.org/show_bug.cgi?id=138468 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Do not allow different DnD operations over the same element at the |
| same time, so that any new attempt to DnD an element happening before |
| a previous attempt has ended will take precedence, cancelling the older |
| operation before going ahead with the new one. |
| |
| This is consistent with how WebCore::EventHandler handles DnD operations, |
| preventing the web process from crashing in scenarios where the user might |
| try to perform many DnD operations over the same element very quickly. |
| |
| * UIProcess/gtk/DragAndDropHandler.cpp: |
| (WebKit::DragAndDropHandler::DragAndDropHandler): Initialized new member. |
| (WebKit::DragAndDropHandler::startDrag): Ensure a previous DnD operation |
| is cancelled before handling the new one that has just started. |
| (WebKit::DragAndDropHandler::fillDragData): Protect against calling this |
| function from webkitWebViewBaseDragDataGet for already cancelled operations. |
| (WebKit::DragAndDropHandler::finishDrag): Protect against calling this |
| function from webkitWebViewBaseDragEnd for already cancelled operations. |
| * UIProcess/gtk/DragAndDropHandler.h: |
| |
| 2016-01-25 Enrica Casucci <enrica@apple.com> |
| |
| Add support for DataDetectors in WK (iOS). |
| https://bugs.webkit.org/show_bug.cgi?id=152989 |
| rdar://problem/22855960 |
| |
| Reviewed by Tim Horton. |
| |
| Moving InteractionInformationAtPosition files to platform folder, |
| since this is only used on iOS and changing from .cpp to .mm. |
| The structure is extended to include data detection specific fields |
| and the relevant encode/decode functions have been updated to |
| handle the new fields. |
| The patch also adds a new WKUIDelegatePrivate method to allow |
| the client to provide additional context for data detection actions. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * Shared/InteractionInformationAtPosition.cpp: Removed. |
| * Shared/InteractionInformationAtPosition.h: Removed. |
| * Shared/ios/InteractionInformationAtPosition.h: Copied from Shared/InteractionInformationAtPosition.h. |
| * Shared/ios/InteractionInformationAtPosition.mm: Copied from Shared/InteractionInformationAtPosition.cpp. |
| (WebKit::InteractionInformationAtPosition::encode): |
| (WebKit::InteractionInformationAtPosition::decode): |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WKActionSheetAssistant.h: |
| * UIProcess/ios/WKActionSheetAssistant.mm: |
| (-[WKActionSheetAssistant showDataDetectorsSheet]): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView actionSheetAssistantDidStopInteraction:]): |
| (-[WKContentView dataDetectionContextForActionSheetAssistant:]): |
| (-[WKContentView selectedTextForActionSheetAssistant:]): |
| (-[WKContentView _dataForPreviewItemController:atPosition:type:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::getPositionInformation): |
| |
| 2016-01-25 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r195543. |
| https://bugs.webkit.org/show_bug.cgi?id=153451 |
| |
| regressed performance of test bots by ~6% (Requested by dydz |
| on #webkit). |
| |
| Reverted changeset: |
| |
| "WebKitTestRunner: Credential cache is not cleared between |
| tests" |
| https://bugs.webkit.org/show_bug.cgi?id=153407 |
| http://trac.webkit.org/changeset/195543 |
| |
| 2016-01-25 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][NetworkCache] Enable speculative revalidation |
| https://bugs.webkit.org/show_bug.cgi?id=153443 |
| <rdar://problem/23092196> |
| |
| Reviewed by Antti Koivisto. |
| |
| Enable speculative revalidation to better evaluate performance and |
| robustness. |
| |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::registerUserDefaultsIfNeeded): |
| |
| 2016-01-25 Beth Dakin <bdakin@apple.com> |
| |
| Handle soft spaces after accepted candidates |
| https://bugs.webkit.org/show_bug.cgi?id=153331 |
| -and corresponding- |
| rdar://problem/23958418 |
| |
| Reviewed by Darin Adler. |
| |
| New member variable m_softSpaceRange keeps track to the NSRange of a soft |
| space if the last text that was inserted has a soft space at the end. |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::WebViewImpl): |
| |
| The space at the end of candidates is a soft space. If that space exists, |
| cache the range of the space in m_softSpaceRange. |
| (WebKit::WebViewImpl::handleAcceptedCandidate): |
| |
| When new text is inserted, find out if it is being inserted right after a |
| soft space. If it is, then [NSSpellChecker deletesAutospaceBeforeString] will |
| tell us if the space needs to be removed. If that is the case, then set the |
| replacementString to the soft space. |
| (WebKit::WebViewImpl::insertText): |
| |
| 2016-01-25 Daniel Bates <dabates@apple.com> |
| |
| WebKitTestRunner: Credential cache is not cleared between tests |
| https://bugs.webkit.org/show_bug.cgi?id=153407 |
| <rdar://problem/24280834> |
| |
| Reviewed by Brady Eidson. |
| |
| Add SPI to call NetworkStorageSession::switchToNewTestingSession() to create a new testing session. |
| The new testing session will have an empty credential cache. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::switchToNewTestingSession): Added. |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: Added message SwitchToNewTestingSession(). |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextResetTestingNetworkSession): Added. |
| * UIProcess/API/C/WKContextPrivate.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::resetTestingNetworkSession): Added. |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::switchToNewTestingSession): Added. |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: Added message SwitchToNewTestingSession(). |
| |
| 2016-01-22 Ryosuke Niwa <rniwa@webkit.org> |
| |
| document.createElement should be able to create a custom element |
| https://bugs.webkit.org/show_bug.cgi?id=153173 |
| |
| Reviewed by Darin Adler. |
| |
| Use createElementForBindings here since this is for SPI. |
| |
| * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: |
| (-[WKDOMDocument createElement:]): |
| (-[WKDOMDocument createTextNode:]): |
| |
| 2016-01-24 Alex Christensen <achristensen@webkit.org> |
| |
| Report upload progress to NetworkLoadClient when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=153388 |
| |
| Reviewed by Darin Adler. |
| |
| This fixes http/tests/xmlhttprequest/upload-onload-event.html and a few other tests. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::didBecomeDownload): |
| (WebKit::NetworkLoad::didSendData): |
| (WebKit::NetworkLoad::didReceiveResponseAsync): |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate initWithNetworkSession:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]): |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| |
| 2016-01-24 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| Reduce PassRefPtr uses in dom - 4 |
| https://bugs.webkit.org/show_bug.cgi?id=153270 |
| |
| Reviewed by Darin Adler. |
| |
| As a step to remove PassRefPtr uses, this patch reduces the uses in WebCore/dom. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::focusPluginElement): |
| |
| 2016-01-23 Alex Christensen <achristensen@webkit.org> |
| |
| CMake build fix after r195494. |
| |
| * PlatformMac.cmake: |
| WebKit2 needs to be able to find DataDetectors.h. |
| |
| 2016-01-23 Alex Christensen <achristensen@webkit.org> |
| |
| Use credentials from a URL with NetworkSession like we did with ResourceHandle |
| https://bugs.webkit.org/show_bug.cgi?id=153328 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): |
| createDataTaskWithRequest is being removed, so use std::make_unique<NetworkDataTask> directly instead. |
| Also, create the task even if we are deferring loading. Don't call resume if we are deferring loading. |
| * NetworkProcess/NetworkSession.h: |
| Callbacks are not just used in NetworkSessionTaskClient, so declare them outside. |
| The NetworkDataTask now takes a ResourceRequest so we can strip its credentials. |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| Try credentials stored with the NetworkDataTask before asking the client for credentials. |
| (WebKit::NetworkSession::~NetworkSession): |
| (WebKit::NetworkSession::dataTaskForIdentifier): |
| (WebKit::NetworkSession::takeDownloadID): |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| Strip the credentials from the url before creating the task because we do not know the authentication type. |
| We will use these credentials when a challenge is received. |
| (WebKit::NetworkDataTask::~NetworkDataTask): |
| (WebKit::NetworkDataTask::tryPasswordBasedAuthentication): |
| If we have credentials from the initial URL, try using them if it is appropriate. |
| (WebKit::NetworkDataTask::cancel): |
| (WebKit::NetworkSession::createDataTaskWithRequest): Deleted. |
| * Shared/Authentication/AuthenticationManager.h: |
| |
| 2016-01-22 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/24304228> REGRESSION (r184215): Staged XPC services load non-staged shims |
| https://bugs.webkit.org/show_bug.cgi?id=153389 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/Shim.xcconfig: Don’t override the install name when using a staged install path. |
| |
| 2016-01-22 Enrica Casucci <enrica@apple.com> |
| |
| Add support for DataDetectors in WK (iOS). |
| https://bugs.webkit.org/show_bug.cgi?id=152989 |
| rdar://problem/22855960 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (fromWKDataDetectorTypes): Changed parameter to uint64_t to |
| successfully compare against WKDataDetectorTypeAll. |
| |
| 2016-01-17 Ada Chan <adachan@apple.com> |
| |
| Add a mode parameter to MediaControllerInterface::supportsFullscreen() and ChromeClient::supportsVideoFullscreen(). |
| https://bugs.webkit.org/show_bug.cgi?id=153220 |
| |
| Reviewed by Eric Carlson. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::supportsVideoFullscreen): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| |
| 2016-01-22 Tim Horton <timothy_horton@apple.com> |
| |
| Reproducible "Unhanded web process message 'WebUserContentController:AddUserScripts'" and friends |
| https://bugs.webkit.org/show_bug.cgi?id=153193 |
| <rdar://problem/24222034> |
| |
| Reviewed by Darin Adler. |
| |
| The WebPageProxy constructor assumes that if its WebProcess is already running, |
| it can add itself to the existing WebUserContentController(Proxy) and all will be well. |
| |
| However, if the API client constructs a different WKUserContentController for two views, |
| and forces them both into the same process, WebPageProxy's constructor sends a message |
| with a WebUserContentController ID that doesn't exist yet on the WebProcess side |
| (because createWebPage, which usually brings it up, hasn't happened yet), and we |
| drop the message on the floor (and get the aforementioned logging). |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::initializeWebPageAfterProcessLaunch): |
| Instead of connecting our WebUserContentControllerProxy and WebVisitedLinkStoreProxy |
| to our WebProcessProxy in the constructor, when doing so might send messages |
| to the WebProcess that arrive before their corresponding WebProcess objects have |
| been created, do this in initializeWebPageAfterProcessLaunch, which always runs |
| during-or-after inititalizeWebPage (and always after the CreateWebPage message goes out). |
| |
| (WebKit::WebPageProxy::initializeWebPage): |
| Mark us as needing initializeWebPageAfterProcessLaunch run, and run it right now |
| if the WebProcess is already up. |
| (WebKit::WebPageProxy::processDidFinishLaunching): |
| If the WebProcess wasn't up at the end of initializeWebPage, we'll eventually end up here |
| after it is launched, and will initializeWebPageAfterProcessLaunch. |
| |
| (WebKit::WebPageProxy::resetStateAfterProcessExited): |
| If the WebProcess dies, we don't want to initializeWebPageAfterProcessLaunch |
| until after initializeWebPage runs again, so make sure the flag isn't set. |
| |
| * UIProcess/WebPageProxy.h: |
| |
| 2016-01-22 Darin Adler <darin@apple.com> |
| |
| Reduce use of equalIgnoringCase to just ignore ASCII case |
| https://bugs.webkit.org/show_bug.cgi?id=153266 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * UIProcess/PageLoadState.cpp: |
| (WebKit::PageLoadState::hasOnlySecureContent): Use the protocolIs |
| function from WebCore instead of calling startsWith. |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::initialize): Use equalLettersIgnoringASCIICase. |
| |
| 2016-01-21 Brent Fulgham <bfulgham@apple.com> |
| |
| [Mac] Tooltips do not honor some types of obscuring windows |
| https://bugs.webkit.org/show_bug.cgi?id=153263 |
| <rdar://problem/21423972> |
| |
| Reviewed by Simon Fraser. |
| |
| Recognize that the current WebView is obscured by comparing the current event's Window Number against |
| the Window Number of the current WebView. If they don't match, something is in the way. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::windowIsFrontWindowUnderMouse): Added. |
| * UIProcess/PageClient.h: |
| (WebKit::PageClient::windowIsFrontWindowUnderMouse): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::handleMouseEvent): Check if the current WebView is obscured. If it |
| is, clear the tooltip and return. |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::windowIsFrontWindowUnderMouse): Added. |
| |
| 2016-01-22 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| Remove PassRefPtr from ResourceRequest and FormData |
| https://bugs.webkit.org/show_bug.cgi?id=153229 |
| |
| Reviewed by Chris Dumez. |
| |
| * NetworkProcess/NetworkResourceLoadParameters.cpp: |
| (WebKit::NetworkResourceLoadParameters::decode): |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::Entry): |
| |
| 2016-01-21 Simon Fraser <simon.fraser@apple.com> |
| |
| REGRESSION (r168244): Content in horizontal-bt page is offset such that only the end is viewable and there is a white gap at the top |
| https://bugs.webkit.org/show_bug.cgi?id=136019 |
| |
| Reviewed by Dan Bernstein. |
| |
| Now call frameView.positionForRootContentLayer(), and add a FIXME questioning the |
| behavior in horizontal b-t documents. However, this code isn't hit now that we always |
| do extended backgrounds, so never have shadow layers. |
| |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::shadowLayerPositionForFrame): |
| |
| 2016-01-21 Dean Jackson <dino@apple.com> |
| |
| Move _allowsDoubleTapGestures implementation out of category |
| https://bugs.webkit.org/show_bug.cgi?id=153329 |
| <rdar://problem/24289768> |
| |
| Reviewed by Simon Fraser. |
| |
| We were generating a linker warning because the implementation |
| was located inside the WKPrivate category. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _allowsDoubleTapGestures]): Move this out of |
| the category. |
| |
| 2016-01-21 Dean Jackson <dino@apple.com> |
| |
| [iOS] Crash in _endPotentialTapAndEnableDoubleTapGesturesIfNecessary |
| https://bugs.webkit.org/show_bug.cgi?id=153326 |
| <rdar://problem/24264339> |
| |
| Reviewed by Anders Carlsson. |
| |
| UIKit's UIGestureRecognizer could call back into the WKContentView |
| after the associated WKWebView has disappeared. The fix is to |
| explicitly null the WKWebView reference as we deallocate. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView dealloc]): Tell the WKContentView we are going away. |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView _webViewDestroyed]): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]): |
| Only do something if the WKWebView is still around. |
| |
| 2016-01-21 Beth Dakin <bdakin@apple.com> |
| |
| Add the ability to update WebKitAdditions to WK2 |
| https://bugs.webkit.org/show_bug.cgi?id=153320 |
| -and corresponding- |
| rdar://problem/23639629 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| * UIProcess/API/mac/WKView.mm: |
| * UIProcess/Cocoa/WebViewImpl.h: |
| (WebKit::WebViewImpl::createWeakPtr): |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::updateWebViewImplAdditions): |
| (WebKit::WebViewImpl::showCandidates): |
| (WebKit::WebViewImpl::webViewImplAdditionsWillDestroyView): |
| (WebKit::trackingAreaOptions): |
| (WebKit::WebViewImpl::~WebViewImpl): |
| (WebKit::WebViewImpl::becomeFirstResponder): |
| (WebKit::WebViewImpl::selectionDidChange): |
| (WebKit::WebViewImpl::handleRequestedCandidates): |
| (WebKit::textCheckingResultFromNSTextCheckingResult): |
| |
| 2016-01-19 Ada Chan <adachan@apple.com> |
| |
| Make it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms. |
| https://bugs.webkit.org/show_bug.cgi?id=153218 |
| |
| Reviewed by Eric Carlson. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-01-20 Alex Christensen <achristensen@webkit.org> |
| |
| Fix CMake build after r195300. |
| |
| * PlatformMac.cmake: |
| Include editing/mac to find DataDetection.h. |
| |
| 2016-01-20 Alex Christensen <achristensen@webkit.org> |
| |
| Ask UI Process before sending redirect requests when downloading |
| https://bugs.webkit.org/show_bug.cgi?id=153041 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::continueCanAuthenticateAgainstProtectionSpace): |
| (WebKit::DownloadManager::continueWillSendRequest): |
| (WebKit::DownloadManager::convertHandleToDownload): |
| * NetworkProcess/Downloads/DownloadManager.h: |
| * NetworkProcess/Downloads/PendingDownload.cpp: |
| (WebKit::PendingDownload::willSendRedirectedRequest): |
| (WebKit::PendingDownload::continueWillSendRequest): |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::continueCanAuthenticateAgainstProtectionSpace): |
| (WebKit::NetworkProcess::continueWillSendRequest): |
| (WebKit::NetworkProcess::setCacheModel): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * UIProcess/API/APIDownloadClient.h: |
| (API::DownloadClient::didCancel): |
| (API::DownloadClient::processDidCrash): |
| (API::DownloadClient::canAuthenticateAgainstProtectionSpace): |
| (API::DownloadClient::willSendRequest): |
| * UIProcess/Downloads/DownloadProxy.cpp: |
| (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): |
| (WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace): |
| (WebKit::DownloadProxy::willSendRequest): |
| (WebKit::DownloadProxy::didReceiveResponse): |
| * UIProcess/Downloads/DownloadProxy.h: |
| * UIProcess/Downloads/DownloadProxy.messages.in: |
| |
| 2016-01-20 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.4 release. |
| |
| * gtk/NEWS: Add release notes for 2.11.4. |
| |
| 2016-01-19 Enrica Casucci <enrica@apple.com> |
| |
| Add support for DataDetectors in WK (iOS). |
| https://bugs.webkit.org/show_bug.cgi?id=152989 |
| rdar://problem/22855960 |
| |
| Reviewed by Tim Horton. |
| |
| This is the first step toward implementing Data Detectors support |
| in WK2. The patch adds a new property to the configuration |
| object to indicate the type of detection desired and propagates |
| to the WebProcess. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (fromWKDataDetectorTypes): |
| (-[WKWebView initWithFrame:configuration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration copyWithZone:]): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-01-19 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r195300. |
| https://bugs.webkit.org/show_bug.cgi?id=153244 |
| |
| enrica wants more time to fix Windows (Requested by thorton on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Add support for DataDetectors in WK (iOS)." |
| https://bugs.webkit.org/show_bug.cgi?id=152989 |
| http://trac.webkit.org/changeset/195300 |
| |
| 2016-01-19 Enrica Casucci <enrica@apple.com> |
| |
| Add support for DataDetectors in WK (iOS). |
| https://bugs.webkit.org/show_bug.cgi?id=152989 |
| rdar://problem/22855960 |
| |
| Reviewed by Tim Horton. |
| |
| This is the first step toward implementing Data Detectors support |
| in WK2. The patch adds a new property to the configuration |
| object to indicate the type of detection desired and propagates |
| to the WebProcess. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration copyWithZone:]): |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebPage/Cocoa/WebPageCocoa.mm: Added. |
| (WebKit::WebPage::fromWKDataDetectorTypes): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2016-01-19 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r187471. |
| https://bugs.webkit.org/show_bug.cgi?id=153236 |
| |
| purportedly caused a significant memory regression and want to |
| see if that is true (Requested by thorton on #webkit). |
| |
| Reverted changeset: |
| |
| "First in-window viewStateChange synchronously blocks despite |
| not previously being in-window" |
| https://bugs.webkit.org/show_bug.cgi?id=147344 |
| http://trac.webkit.org/changeset/187471 |
| |
| 2016-01-19 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Runtime critical warnings when loading a URL after a session restore |
| https://bugs.webkit.org/show_bug.cgi?id=153233 |
| |
| Reviewed by Michael Catanzaro. |
| |
| This happens when doing a normal load after restoring the back |
| forward list from session state and the list contained forward |
| items. In that case the forward items are removed from the list |
| and we try to reference a WebBackForwardListItem wrapper that |
| hasn't been created. We create the wrappers on demand, and when |
| the back forward list is populated from session state, items are |
| added to the list without creating their wrappers. That was not |
| possible before, and that's why we assumed that any item that is |
| removed from the list should have a wrapper already created. |
| |
| * UIProcess/API/gtk/WebKitBackForwardList.cpp: |
| (webkitBackForwardListChanged): If we don't have a wrapper for the |
| removed item, create a new one to be passed to the signal, but |
| without adding it to the map. |
| |
| 2016-01-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| CharacterData::setData doesn't need ExceptionCode as an out argument |
| https://bugs.webkit.org/show_bug.cgi?id=153225 |
| |
| Reviewed by Antti Koivisto. |
| |
| * WebProcess/InjectedBundle/API/mac/WKDOMText.mm: |
| (-[WKDOMText setData:]): |
| |
| 2016-01-18 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] Remove wkView() from EwkView |
| https://bugs.webkit.org/show_bug.cgi?id=152604 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkViewEventHandler<EVAS_CALLBACK_SHOW>::handleEvent): |
| (EwkViewEventHandler<EVAS_CALLBACK_HIDE>::handleEvent): |
| (EwkView::EwkView): |
| (EwkView::create): |
| (EwkView::wkPage): |
| (EwkView::isVisible): |
| (EwkView::setVisible): |
| (EwkView::setDeviceScaleFactor): |
| (EwkView::deviceSize): |
| (EwkView::displayTimerFired): |
| (EwkView::setViewportPosition): |
| (EwkView::requestExitFullScreen): |
| (EwkView::contentsSize): |
| (EwkView::setThemePath): |
| (EwkView::feedTouchEvent): |
| (EwkView::createGLSurface): |
| (EwkView::showContextMenu): |
| (EwkView::requestPopupMenu): |
| (EwkView::webView): |
| (EwkView::handleEvasObjectCalculate): |
| (EwkView::handleEvasObjectColorSet): |
| (EwkView::handleEwkViewFocusIn): |
| (EwkView::handleEwkViewFocusOut): |
| (EwkView::feedTouchEvents): |
| (EwkView::takeSnapshot): |
| (EwkView::scrollBy): |
| (EwkView::setBackgroundColor): |
| (EwkView::backgroundColor): |
| * UIProcess/API/efl/EwkView.h: |
| (EwkView::wkView): Deleted. |
| * UIProcess/API/efl/GestureRecognizer.cpp: |
| (WebKit::GestureHandler::handleSingleTap): |
| * UIProcess/API/efl/ewk_view.cpp: |
| (EWKViewCreate): |
| (EWKViewGetWKView): |
| (ewk_view_fullscreen_exit): |
| (ewk_view_layout_fixed_set): |
| (ewk_view_layout_fixed_get): |
| (ewk_view_layout_fixed_size_set): |
| (ewk_view_layout_fixed_size_get): |
| (ewk_view_bg_color_get): |
| (ewk_view_contents_size_get): |
| * UIProcess/efl/PageViewportControllerClientEfl.cpp: |
| (WebKit::PageViewportControllerClientEfl::setPageScaleFactor): |
| * UIProcess/efl/ViewClientEfl.cpp: |
| (WebKit::ViewClientEfl::webProcessDidRelaunch): |
| (WebKit::ViewClientEfl::ViewClientEfl): |
| (WebKit::ViewClientEfl::~ViewClientEfl): |
| |
| 2016-01-18 Zan Dobersek <zdobersek@igalia.com> |
| |
| Sink the Vector<uint8_t> buffer into the SerializedScriptValue constructor |
| https://bugs.webkit.org/show_bug.cgi?id=142634 |
| |
| Reviewed by Darin Adler. |
| |
| Update API::SerializedScriptValue::adopt() to take in a Vector<uint8_t> |
| rvalue, moving it into the WebCore::SerializedScriptValue::adopt() call. |
| |
| Update other places that are affected by the SerializedScriptValue changes. |
| |
| * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex): |
| * Shared/API/APISerializedScriptValue.h: |
| (API::SerializedScriptValue::adopt): |
| * Shared/UserData.cpp: |
| (WebKit::UserData::decode): |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::didPostMessage): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::scriptValueCallback): |
| * WebProcess/WebCoreSupport/SessionStateConversion.cpp: |
| (WebKit::applyFrameState): |
| |
| 2016-01-18 Olivier Blin <olivier.blin@softathome.com> |
| |
| [EFL][GTK][WK2] Fix UIProcess build with GStreamer and without VIDEO |
| https://bugs.webkit.org/show_bug.cgi?id=153135 |
| |
| Reviewed by Michael Catanzaro. |
| |
| GStreamer builds fail when WebAudio is enabled but VIDEO disabled. |
| |
| This change makes the flag more consistent around the |
| decicePolicyForInstallMissingMediaPluginsPermissionRequest() method: |
| ENABLE(VIDEO) && USE(GSTREAMER) everywhere, while the code used to |
| test either one or the other. |
| |
| This does not enable InstallMissingMediaPlugins for WebAudio, since no |
| code makes use of this in WebKitWebAudioSourceGStreamer. |
| |
| It also fixes a naming typo for the following method: |
| decidePolicyForInstallMissingMediaPluginsPermissionRequest() |
| |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::decidePolicyForInstallMissingMediaPluginsPermissionRequest): |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/efl/WebViewEfl.h: |
| * UIProcess/gstreamer/WebPageProxyGStreamer.cpp: |
| (WebKit::WebPageProxy::requestInstallMissingMediaPlugins): |
| |
| 2016-01-17 Jeremy Huddleston Sequoia <jeremyhu@apple.com> |
| |
| Add quotes around ${CMAKE_SHARED_LINKER_FLAGS} in case it is unset |
| https://bugs.webkit.org/show_bug.cgi?id=153175 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * PlatformGTK.cmake: |
| |
| 2016-01-16 Jeremy Huddleston Sequoia <jeremyhu@apple.com> |
| |
| Remove a now-irrelevant darwin build hack |
| https://bugs.webkit.org/show_bug.cgi?id=153117 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * PlatformGTK.cmake: |
| |
| 2016-01-16 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| [iOS] Replace deprecated -[UIDocumentMenuViewController |
| _setIgnoreApplicationEntitlementForImport:] |
| |
| <https://bugs.webkit.org/show_bug.cgi?id=145690> |
| <rdar://problem/20636577> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| Replace deprecated SPI with newer SPI. |
| |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (-[WKFileUploadPanel presentWithParameters:resultListener:]): |
| (-[WKFileUploadPanel _showDocumentPickerMenu]): |
| Ditto. |
| |
| 2016-01-16 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Unreviewed. Fix a typo in an API comment. |
| |
| * UIProcess/API/gtk/WebKitWebViewSessionState.cpp: |
| |
| 2016-01-16 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] GVariant runtime critical errors when encoding session data |
| https://bugs.webkit.org/show_bug.cgi?id=153130 |
| |
| Reviewed by Michael Catanzaro. |
| |
| It happens when the FrameState has children, because the recursive |
| serialization is wrong. Also fix serialization of |
| documentSequenceNumber and itemSequenceNumber that are gint64, not |
| guint64. |
| |
| * UIProcess/API/gtk/WebKitWebViewSessionState.cpp: |
| (encodeFrameState): Let the caller open/init the given |
| builder. Use a new builder to encode child states recursively. |
| (encodePageState): Do the builder open/close for the FrameState encoding. |
| (decodeFrameState): Get the variant of every child. |
| |
| 2016-01-15 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Fix internal Windows build |
| https://bugs.webkit.org/show_bug.cgi?id=153142 |
| |
| Unreviewed addition to Alex's JSC patch, which was reviewed by Brent Fulgham. Pass |
| -I${JAVASCRIPTCORE_DIR} to g-ir-scanner. |
| |
| * PlatformGTK.cmake: |
| |
| 2016-01-14 Simon Fraser <simon.fraser@apple.com> |
| |
| Remove workaround for rdar://problem/23623670 |
| https://bugs.webkit.org/show_bug.cgi?id=153107 |
| rdar://problem/23633319 |
| |
| Reviewed by Tim Horton. |
| |
| Remove the code that uses IOSurfaceAcceleratorTransformSurface() when copying from |
| back-to-front buffer, now that CGIOSurfaceContextCreate()-code path works correctly. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::display): |
| |
| 2016-01-14 Beth Dakin <bdakin@apple.com> |
| |
| WK1 and WK2 should share more candidate request code |
| https://bugs.webkit.org/show_bug.cgi?id=153108 |
| |
| Reviewed by Simon Fraser. |
| |
| requestCandidatesForSelection() does not need to be exposed as an |
| EditorClient function. WK1 can just call invoke this code from the existing |
| respondToChangedSelection EditorClient function, which is what WK2 does. |
| * WebProcess/WebCoreSupport/WebEditorClient.h: |
| |
| 2016-01-14 Beth Dakin <bdakin@apple.com> |
| |
| WK2: Request completion candidates when needed |
| https://bugs.webkit.org/show_bug.cgi?id=153040 |
| -and corresponding- |
| rdar://problem/24155631 |
| |
| Reviewed by Enrica Casucci and Tim Horton. |
| |
| Mac needs to support postLayoutData in order to have some layout-related |
| editing information to request candidates. This patch re-shuffles some items |
| in the struct so that they can be shared by Mac and iOS, and it adds 3 new |
| items for Mac only. |
| * Shared/EditorState.cpp: |
| (WebKit::EditorState::encode): |
| (WebKit::EditorState::decode): |
| (WebKit::EditorState::PostLayoutData::encode): |
| (WebKit::EditorState::PostLayoutData::decode): |
| * Shared/EditorState.h: |
| |
| Request and handle candidates here in WebViewImpl, and cache the |
| m_lastStringForCandidateRequest so that we can ensure the results we receive |
| were received in a timely enough manner that they are still for the same |
| String. |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::selectionDidChange): |
| |
| When selection changes, request new candidates. |
| (WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded): |
| |
| Once candidates have been received, we ask the sharedSpellChecker to show |
| them. |
| (WebKit::WebViewImpl::handleRequestedCandidates): |
| |
| If a candidate is accepted, we ask the WebProcess to accept it, so we start |
| by converting the NSTextCheckingResult to a WebCore::TextCheckingResult. |
| (WebKit::textCheckingResultFromNSTextCheckingResult): |
| (WebKit::WebViewImpl::handleAcceptedCandidate): |
| |
| Ask the WebProcess to handle accepting the candidate. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::handleAcceptedCandidate): |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage:: handleAcceptedCandidate): |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| Now that Mac has some postLayoutData in the EditorState, fill that in in |
| platformEditorState(). |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::platformEditorState): |
| |
| Ask WebCore::Editor to handle the accepted candidate. |
| (WebKit::WebPage::handleAcceptedCandidate): |
| |
| 2016-01-14 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r195002. |
| https://bugs.webkit.org/show_bug.cgi?id=153098 |
| |
| Crashes many/most editing tests (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "WK2: Request completion candidates when needed" |
| https://bugs.webkit.org/show_bug.cgi?id=153040 |
| http://trac.webkit.org/changeset/195002 |
| |
| 2016-01-14 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| [EFL][GTK][SeccompFilter] Fix build break when enabling --seccomp-filters |
| https://bugs.webkit.org/show_bug.cgi?id=153094 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| diskCacheDirectory and cookiePersistentStoragePath were removed by r192796. |
| But SyscallPolicy::addDefaultWebProcessPolicy has added directory permission |
| to the removed paths. |
| |
| It looks two paths needs to be handled by network process. |
| |
| * Shared/linux/SeccompFilters/SyscallPolicy.cpp: |
| (WebKit::SyscallPolicy::addDefaultWebProcessPolicy): Deleted. |
| |
| 2016-01-13 Alex Christensen <achristensen@webkit.org> |
| |
| Implement custom protocols when using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=153078 |
| |
| Reviewed by Andy Estes. |
| |
| * NetworkProcess/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: |
| (WebKit::generateCustomProtocolID): |
| (+[WKCustomProtocol canInitWithRequest:]): |
| (+[WKCustomProtocol canonicalRequestForRequest:]): |
| (-[WKCustomProtocol initWithRequest:cachedResponse:client:]): |
| (-[WKCustomProtocol startLoading]): |
| (-[WKCustomProtocol stopLoading]): |
| There's no need to have a static pointer when we can use NetworkProcess::singleton to access |
| the process-global CustomProtocolManager, and add null checks because that's a good thing to do. |
| (WebKit::CustomProtocolManager::CustomProtocolManager): |
| Call UTF8Encoding when creating the CustomProtocolManager on the main thread to make sure it exists |
| for when we decode URLS in ResourceResponses from IPC later, which is done on a different WorkQueue. |
| (WebKit::CustomProtocolManager::initializeConnection): |
| (WebKit::CustomProtocolManager::initialize): |
| (WebKit::CustomProtocolManager::removeCustomProtocol): |
| (WebKit::CustomProtocolManager::registerProtocolClass): |
| (WebKit::CustomProtocolManager::registerScheme): |
| * NetworkProcess/CustomProtocols/CustomProtocolManager.h: |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSession::NetworkSession): |
| Call registerProtocolClass to set configuration.protocolClasses if there is a CustomProtocolManager. |
| |
| 2016-01-13 Beth Dakin <bdakin@apple.com> |
| |
| WK2: Request completion candidates when needed |
| https://bugs.webkit.org/show_bug.cgi?id=153040 |
| -and corresponding- |
| rdar://problem/24155631 |
| |
| Reviewed by Enrica Casucci. |
| |
| Mac needs to support postLayoutData in order to have some layout-related |
| editing information to request candidates. This patch re-shuffles some items |
| in the struct so that they can be shared by Mac and iOS, and it adds 3 new |
| items for Mac only. |
| * Shared/EditorState.cpp: |
| (WebKit::EditorState::encode): |
| (WebKit::EditorState::decode): |
| (WebKit::EditorState::PostLayoutData::encode): |
| (WebKit::EditorState::PostLayoutData::decode): |
| * Shared/EditorState.h: |
| |
| Request and handle candidates here in WebViewImpl, and cache the |
| m_lastStringForCandidateRequest so that we can ensure the results we receive |
| were received in a timely enough manner that they are still for the same |
| String. |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::selectionDidChange): |
| |
| When selection changes, request new candidates. |
| (WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded): |
| |
| Once candidates have been received, we ask the sharedSpellChecker to show |
| them. |
| (WebKit::WebViewImpl::handleRequestedCandidates): |
| |
| If a candidate is accepted, we ask the WebProcess to accept it, so we start |
| by converting the NSTextCheckingResult to a WebCore::TextCheckingResult. |
| (WebKit::textCheckingResultFromNSTextCheckingResult): |
| (WebKit::WebViewImpl::handleAcceptedCandidate): |
| |
| Ask the WebProcess to handle accepting the candidate. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::handleAcceptedCandidate): |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage:: handleAcceptedCandidate): |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| Now that Mac has some postLayoutData in the EditorState, fill that in in |
| platformEditorState(). |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::platformEditorState): |
| |
| Ask WebCore::Editor to handle the accepted candidate. |
| (WebKit::WebPage::handleAcceptedCandidate): |
| |
| 2016-01-12 Geoffrey Garen <ggaren@apple.com> |
| |
| WebKit2 should have an API for eagerly querying whether the web process is responsive |
| https://bugs.webkit.org/show_bug.cgi?id=153037 |
| |
| Reviewed by Tim Horton. |
| |
| WebKit2 provides a delegate notification when the web process doesn't |
| respond to a message after a while. But there's no way to send a message |
| eagerly and check for reply. |
| |
| We want this new mechanism so that navigation can terminate the web |
| process eagerly if it is hung. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageGetWebProcessIsResponsive): |
| * UIProcess/API/C/WKPagePrivate.h: This is the new API. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::sendWheelEvent): Updated for interface change. |
| |
| (WebKit::WebPageProxy::getWebProcessIsResponsive): Calls through to the |
| web process proxy. We claim that we are responsive when there is no |
| web process because we assume that a fresh web process will not hang. |
| |
| * UIProcess/WebPageProxy.h: |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::WebProcessProxy): |
| (WebKit::WebProcessProxy::didBecomeUnresponsive): Keep a flag indicating |
| whether the process is unresponsive so that we can fire unresponsiveness |
| callbacks immediately for a hung process instead of waiting another 3s. |
| |
| (WebKit::WebProcessProxy::didBecomeResponsive): We don't fire responsiveness |
| callbacks inside didBecomeResponsive because we assume that a responsive |
| web process will invoke didReceiveMainThreadPing -- and we fire the |
| callbacks there. |
| |
| (WebKit::WebProcessProxy::getIsResponsive): If the web process is already |
| known to be unresponsive, fire the callback right away. Otherwise, queue |
| it up to fire once we have an answer from a main thread ping. |
| |
| (WebKit::WebProcessProxy::didReceiveMainThreadPing): Fire any pending |
| callbacks when we learn that the web process is responsive. |
| |
| * UIProcess/WebProcessProxy.h: |
| |
| 2016-01-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.3 release. |
| |
| * gtk/NEWS: Add release notes for 2.11.3. |
| |
| 2016-01-12 Geoffrey Garen <ggaren@apple.com> |
| |
| WebPageProxy should reattach to the web process before navigating |
| https://bugs.webkit.org/show_bug.cgi?id=153026 |
| |
| Reviewed by Anders Carlsson. |
| |
| This fixes a crash (and lots of other corruption) when force-quitting |
| the web process during navigation. |
| |
| Some objects (like ViewGestureController) use one-time initialization |
| to point to a ChildProcessProxy -- and, by design, we destroy them when |
| the ChildProcessProxy becomes invalid (i.e., crashes or quits). |
| |
| If we navigate *before* creating a new, valid ChildProcessProxy, then |
| we accidentally re-create these objects pointing to the old, invalid |
| ChildProcessProxy. |
| |
| We need to wait until we have a valid ChildProcessProxy before we |
| initialize these objects. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::reattachToWebProcessWithItem): Navigate after |
| reattaching to the web process so that lazily allocated helper objects |
| point to the right ChildProcessProxy. |
| |
| 2016-01-12 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add a build flag for custom element |
| https://bugs.webkit.org/show_bug.cgi?id=153005 |
| |
| Reviewed by Alex Christensen. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-01-12 Alex Christensen <achristensen@webkit.org> |
| |
| Ask for UI Process approval of ProtectionSpace when authenticating downloads with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=152999 |
| |
| Reviewed by Brady Eidson. |
| |
| * DerivedSources.make: |
| I mistakenly added PendingDownload.messages.in in r194810, but this will not be needed because |
| the PendingDownload is not a MessageReceiver. Rather, the NetworkProcess receives the messages |
| and forwards their contents to the PendingDownload through its DownloadManager. |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::dataTaskBecameDownloadTask): |
| (WebKit::DownloadManager::continueCanAuthenticateAgainstProtectionSpace): |
| (WebKit::DownloadManager::convertHandleToDownload): |
| * NetworkProcess/Downloads/DownloadManager.h: |
| * NetworkProcess/Downloads/PendingDownload.cpp: |
| (WebKit::PendingDownload::continueWillSendRequest): |
| (WebKit::PendingDownload::canAuthenticateAgainstProtectionSpaceAsync): |
| Instead of taking a shortcut I added in r194810, send a message to the UI process and wait for its |
| asynchronous reply to determine if we can authenticate against this protection space. |
| (WebKit::PendingDownload::continueCanAuthenticateAgainstProtectionSpace): |
| (WebKit::PendingDownload::didConvertToDownload): |
| * NetworkProcess/Downloads/PendingDownload.h: |
| * NetworkProcess/Downloads/PendingDownload.messages.in: Removed. |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::cancelDownload): |
| (WebKit::NetworkProcess::continueCanAuthenticateAgainstProtectionSpace): |
| (WebKit::NetworkProcess::setCacheModel): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * Shared/Authentication/AuthenticationManager.h: |
| * UIProcess/API/APIDownloadClient.h: |
| (API::DownloadClient::didFail): |
| (API::DownloadClient::didCancel): |
| (API::DownloadClient::processDidCrash): |
| (API::DownloadClient::canAuthenticateAgainstProtectionSpace): |
| * UIProcess/Downloads/DownloadProxy.cpp: |
| (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): |
| (WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace): |
| (WebKit::DownloadProxy::didReceiveResponse): |
| * UIProcess/Downloads/DownloadProxy.h: |
| * UIProcess/Downloads/DownloadProxy.messages.in: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-01-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Move ChildProcessProxy from Shared to UIProcess |
| https://bugs.webkit.org/show_bug.cgi?id=125570 |
| |
| Reviewed by Darin Adler. |
| |
| ChildProcessProxy is only used by the UI process. |
| |
| * CMakeLists.txt: |
| * PlatformGTK.cmake: |
| * UIProcess/ChildProcessProxy.cpp: Renamed from Source/WebKit2/Shared/ChildProcessProxy.cpp. |
| (WebKit::ChildProcessProxy::ChildProcessProxy): |
| (WebKit::ChildProcessProxy::~ChildProcessProxy): |
| (WebKit::ChildProcessProxy::fromConnection): |
| (WebKit::ChildProcessProxy::getLaunchOptions): |
| (WebKit::ChildProcessProxy::connect): |
| (WebKit::ChildProcessProxy::terminate): |
| (WebKit::ChildProcessProxy::state): |
| (WebKit::ChildProcessProxy::sendMessage): |
| (WebKit::ChildProcessProxy::addMessageReceiver): |
| (WebKit::ChildProcessProxy::removeMessageReceiver): |
| (WebKit::ChildProcessProxy::dispatchMessage): |
| (WebKit::ChildProcessProxy::dispatchSyncMessage): |
| (WebKit::ChildProcessProxy::didFinishLaunching): |
| (WebKit::ChildProcessProxy::shutDownProcess): |
| (WebKit::ChildProcessProxy::connectionWillOpen): |
| * UIProcess/ChildProcessProxy.h: Renamed from Source/WebKit2/Shared/ChildProcessProxy.h. |
| (WebKit::ChildProcessProxy::connection): |
| (WebKit::ChildProcessProxy::processIdentifier): |
| (WebKit::ChildProcessProxy::canSendMessage): |
| (WebKit::ChildProcessProxy::send): |
| (WebKit::ChildProcessProxy::sendSync): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-01-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] UI process crashes if webkit_web_view_get_tls_info is called before internal load-committed event |
| https://bugs.webkit.org/show_bug.cgi?id=142375 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Remove all the hacks to emit delayed load events now that the |
| page cache resource load delegates are consistent with all other |
| resource loads. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewLoadChanged): |
| (webkitWebViewResourceLoadStarted): |
| (webkit_web_view_get_tls_info): Add a g_return_val_if_fail to |
| prevent this function from being misused. |
| (webkitWebViewDisconnectMainResourceResponseChangedSignalHandler): Deleted. |
| (webkitWebViewDispose): Deleted. |
| (webkitWebViewEmitLoadChanged): Deleted. |
| (webkitWebViewEmitDelayedLoadEvents): Deleted. |
| (mainResourceResponseChangedCallback): Deleted. |
| (waitForMainResourceResponseIfWaitingForResource): Deleted. |
| |
| 2016-01-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r190717): [GTK] Popup menus stop working after being dismissed without selecting an item |
| https://bugs.webkit.org/show_bug.cgi?id=152977 |
| |
| Reviewed by Michael Catanzaro. |
| |
| This happens since r190717 when you open a popup menu and without |
| selecting any option it's dismissed (press ESC or click somewhere |
| else). This is because I removed the code to track when the menu |
| is unmapped, thinking that it was no longer necessary. But we need |
| to send the DidChangeSelectedIndexForActivePopupMenu to the |
| WebProcess with -1 as index to keep the web process in sync. |
| |
| * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: |
| (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk): |
| (WebKit::WebPopupMenuProxyGtk::showPopupMenu): |
| (WebKit::WebPopupMenuProxyGtk::cancelTracking): |
| (WebKit::WebPopupMenuProxyGtk::menuItemActivated): |
| (WebKit::WebPopupMenuProxyGtk::dismissMenuTimerFired): |
| (WebKit::WebPopupMenuProxyGtk::menuUnmappedCallback): |
| * UIProcess/gtk/WebPopupMenuProxyGtk.h: |
| |
| 2016-01-09 Andy Estes <aestes@apple.com> |
| |
| [Cocoa] Add SPI to opt out a URL scheme from the memory cache |
| https://bugs.webkit.org/show_bug.cgi?id=152950 |
| rdar://problem/24066652 |
| |
| Reviewed by Tim Horton. |
| |
| Added a alwaysRevalidatedURLSchemes property to _WKProcessPoolConfiguration. Taught WebProcess to add these |
| schemes to SchemeRegistry when initializing a new web process. |
| |
| * Shared/API/Cocoa/WKFoundation.h: Added a newline to force re-postprocessing. |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::copy): |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration alwaysRevalidatedURLSchemes]): |
| (-[_WKProcessPoolConfiguration setAlwaysRevalidatedURLSchemes:]): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| (WebKit::WebProcess::registerURLSchemeAsAlwaysRevalidated): |
| * WebProcess/WebProcess.h: |
| |
| 2016-01-11 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of CFMakeCollectable, it is a no-op |
| https://bugs.webkit.org/show_bug.cgi?id=152988 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/Cocoa/WKNSString.mm: |
| * Shared/Cocoa/WKNSURL.mm: |
| (-[WKNSURL _web_createTarget]): |
| |
| 2016-01-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r194866. |
| https://bugs.webkit.org/show_bug.cgi?id=152986 |
| |
| This change broke the mac build (Requested by ryanhaddad on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[Cocoa] Add SPI to opt out a URL scheme from the memory |
| cache" |
| https://bugs.webkit.org/show_bug.cgi?id=152950 |
| http://trac.webkit.org/changeset/194866 |
| |
| 2016-01-11 Andy Estes <aestes@apple.com> |
| |
| [Cocoa] Add SPI to opt out a URL scheme from the memory cache |
| https://bugs.webkit.org/show_bug.cgi?id=152950 |
| rdar://problem/24066652 |
| |
| Reviewed by Tim Horton. |
| |
| Added a alwaysRevalidatedURLSchemes property to _WKProcessPoolConfiguration. Taught WebProcess to add these |
| schemes to SchemeRegistry when initializing a new web process. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::copy): |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration alwaysRevalidatedURLSchemes]): |
| (-[_WKProcessPoolConfiguration setAlwaysRevalidatedURLSchemes:]): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| (WebKit::WebProcess::registerURLSchemeAsAlwaysRevalidated): |
| * WebProcess/WebProcess.h: |
| |
| 2016-01-11 Alex Christensen <achristensen@webkit.org> |
| |
| Fix Mac CMake build after r194810. |
| |
| * PlatformMac.cmake: |
| PendingDownload isn't needed until NETWORK_SESSION is used by default. |
| I'll figure this out when I make the switch. |
| |
| 2016-01-11 Mario Sanchez Prada <mario@endlessm.com> |
| |
| [WK2][GTK] Propagate motion-notify-event signals from the WebView |
| https://bugs.webkit.org/show_bug.cgi?id=152974 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Always propagate motion-notify-event signals, regardless of what the |
| web process does, so that we can listen for those events (which does |
| not act on specific targets inside the webview) from the container |
| widget too, and not just from the WebView itself. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseMotionNotifyEvent): Ensure the signal gets propagated. |
| |
| 2016-01-10 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Disable header postprocessing when building for El Capitan |
| https://bugs.webkit.org/show_bug.cgi?id=152962 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/WebKit.xcconfig: |
| |
| 2016-01-09 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Allow overriding the frameworks directory independently of using a staging install path |
| https://bugs.webkit.org/show_bug.cgi?id=152926 |
| |
| Reviewed by Tim Horton. |
| |
| Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines |
| where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets |
| WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari. |
| |
| Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces. |
| |
| * Configurations/BaseTarget.xcconfig: |
| - Add quotes to account for spaces. |
| - Define WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on |
| WK_OVERRIDE_FRAMEWORKS_DIR. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| - In the Migrate WebKitLegacy Headers build phase, work around make’s inability to handle |
| spaces in paths by creating a symlink to WEBKIT_LEGACY_PRIVATE_HEADERS_DIR under |
| BUILT_PRODUCTS_DIR and using the symlink as the value of |
| WEBKIT_LEGACY_PRIVATE_HEADERS_DIR. |
| - In the Postprocess WKBase.h and Postprocess WKFoundation.h build phases, add quotes to |
| account for spaces. |
| |
| * mac/MigrateHeadersFromWebKitLegacy.make: |
| Use a BUILT_PRODUCTS_DIR-based path to the framework instead of a TARGET_BUILD_DIR-based |
| one in order to avoid spaces. |
| |
| * mac/postprocess-framework-headers.sh: |
| Add quotes to account for spaces. |
| |
| 2016-01-08 Alex Christensen <achristensen@webkit.org> |
| |
| Implement download authentication with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=152878 |
| |
| Reviewed by Brady Eidson. |
| |
| * DerivedSources.make: |
| * NetworkProcess/Downloads/Download.h: |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::startDownload): |
| * NetworkProcess/Downloads/PendingDownload.cpp: Added. |
| (WebKit::PendingDownload::PendingDownload): |
| (WebKit::PendingDownload::willSendRedirectedRequest): |
| (WebKit::PendingDownload::continueWillSendRequest): |
| (WebKit::PendingDownload::canAuthenticateAgainstProtectionSpaceAsync): |
| (WebKit::PendingDownload::continueCanAuthenticateAgainstProtectionSpace): |
| (WebKit::PendingDownload::didConvertToDownload): |
| (WebKit::PendingDownload::messageSenderConnection): |
| (WebKit::PendingDownload::messageSenderDestinationID): |
| * NetworkProcess/Downloads/PendingDownload.h: |
| (WebKit::PendingDownload::PendingDownload): Deleted. |
| * NetworkProcess/Downloads/PendingDownload.messages.in: Added. |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::continueWillSendRequest): |
| The completion handler should always be called. If m_currentRequest is null, then the request will not proceed, which is the same as canceling it. |
| (WebKit::NetworkLoad::setPendingDownloadID): |
| (WebKit::NetworkLoad::setPendingDownload): |
| (WebKit::NetworkLoad::willPerformHTTPRedirection): |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| If this load is going to become a download, then call the PendingDownload version of didReceiveAuthenticationChallenge to communicate with the |
| UI process directly because there wasn't necessarily a web process associated with this request that will become a download. |
| * NetworkProcess/NetworkLoad.h: |
| (WebKit::NetworkLoad::pendingDownloadID): |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkDataTask::client): |
| (WebKit::NetworkDataTask::pendingDownloadID): |
| (WebKit::NetworkDataTask::pendingDownload): |
| (WebKit::NetworkDataTask::setPendingDownloadID): |
| (WebKit::NetworkDataTask::setPendingDownload): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| * PlatformMac.cmake: |
| * Shared/Authentication/AuthenticationManager.cpp: |
| (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge): |
| * Shared/Authentication/AuthenticationManager.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace): |
| Removed unnecessary protection and move null check to before using the pointer it checks. |
| |
| 2016-01-07 Simon Fraser <simon.fraser@apple.com> |
| |
| Use an appropriate buffer format for swipe snapshots |
| https://bugs.webkit.org/show_bug.cgi?id=152880 |
| rdar://problem/23728299 |
| |
| Reviewed by Tim Horton. |
| |
| Choose an appropriate buffer format for swipe snapshots, and avoid converting |
| them to YUV422. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (WebKit::bufferFormat): |
| (-[WKWebView _takeViewSnapshot]): |
| |
| 2016-01-07 Alex Christensen <achristensen@webkit.org> |
| |
| Progress towards implementing downloads with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=152760 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/Downloads/Download.cpp: |
| (WebKit::Download::Download): |
| There's no need to store the unused NetworkSession&. |
| (WebKit::Download::didStart): |
| (WebKit::Download::didReceiveAuthenticationChallenge): |
| Downloads with NetworkSession are NetworkLoads until the response is received, which is after authentication |
| challenges are handled by NetworkLoad's code. |
| (WebKit::Download::didReceiveResponse): |
| * NetworkProcess/Downloads/Download.h: |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::startDownload): |
| Create a PendingDownload, which is basically a NetworkLoad that knows that it will become a Download |
| when the response is received, regardless of whether or not there is a Content-Disposition header. |
| (WebKit::DownloadManager::dataTaskBecameDownloadTask): |
| * NetworkProcess/Downloads/DownloadManager.h: |
| * NetworkProcess/Downloads/PendingDownload.h: Added. |
| (WebKit::PendingDownload::PendingDownload): |
| Added a new NetworkLoadClient for requests that will become downloads. |
| A PendingDownload contains a NetworkLoad so we can always keep them together |
| and so it can handle setting its pending download id. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): |
| Avoid dereferencing a pointer if the NetworkSession hadn't been created when a NetworkLoad starts. |
| This shouldn't be possible, but it's good to not assume that all pointers are non-null. |
| (WebKit::NetworkLoad::cancel): |
| Add a null check in case the constructor doesn't make m_task. |
| (WebKit::NetworkLoad::convertTaskToDownload): |
| (WebKit::NetworkLoad::setPendingDownloadID): |
| Added for downloads that start with startDownload. The pending DownloadID is used to indicate that |
| this request should always become a download, regardless of whether or not the response has a |
| Content-Disposition header. |
| (WebKit::NetworkLoad::willPerformHTTPRedirection): |
| (WebKit::NetworkLoad::didReceiveResponse): |
| * NetworkProcess/NetworkLoad.h: |
| There's no need to store a DownloadID here. It's stored in the NetworkDataTask (m_task). |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkDataTask::client): |
| (WebKit::NetworkDataTask::pendingDownloadID): |
| (WebKit::NetworkDataTask::setPendingDownloadID): |
| (WebKit::NetworkDataTask::downloadID): Deleted. |
| (WebKit::NetworkDataTask::setDownloadID): Deleted. |
| Renamed downloadID and setDownloadID to pendingDownloadID and setPendingDownloadID, respectively, |
| to indicate their use. They are not the current downloadID, but they are the downloadID of the download |
| that will happen once the response is received and PolicyDownload will be returned in the completion handler. |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): |
| Call dataTaskBecameDownloadTask after didBecomeDownload because the networkDataTask is deleted by removing it |
| from m_pendingDownloads in dataTaskBecameDownloadTask. |
| |
| 2016-01-06 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a setting and preferences to enable display-list drawing. Does nothing yet. |
| https://bugs.webkit.org/show_bug.cgi?id=152807 |
| |
| Reviewed by Zalan Bujtas. |
| |
| WK2 debug pref for display-list drawing, defaults to off. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _displayListDrawingEnabled]): |
| (-[WKPreferences _setDisplayListDrawingEnabled:]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2016-01-06 Daniel Bates <dabates@apple.com> |
| |
| Use code signed identifier as part of user directory suffix |
| https://bugs.webkit.org/show_bug.cgi?id=152310 |
| <rdar://problem/13352225> |
| |
| As pointed out by Sam Weinig, the year is 2016! I inadvertently added the copyright year 2015 instead of 2016. |
| |
| * Shared/mac/ChildProcessMac.mm: |
| |
| 2016-01-06 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS] Revert overflow:hidden on the body affecting viewport scale (r186786) |
| https://bugs.webkit.org/show_bug.cgi?id=152803 |
| rdar://problem/22242515 |
| |
| Reviewed by Tim Horton. |
| |
| You can't assume that if an author uses overflow:hidden on the body, they have no |
| content outside the body that is important. Sites like Google Translate put |
| abspos elements outside the body. |
| |
| So revert the change. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::mainFrameDidLayout): Go back to using contents size. |
| |
| 2016-01-06 Anders Carlsson <andersca@apple.com> |
| |
| Add a smart block pointer |
| https://bugs.webkit.org/show_bug.cgi?id=152799 |
| |
| Reviewed by Tim Horton. |
| |
| Use WTF::BlockPtr. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): |
| (-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| (-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]): |
| |
| 2016-01-06 Daniel Bates <dabates@apple.com> |
| |
| Use code signed identifier as part of user directory suffix |
| https://bugs.webkit.org/show_bug.cgi?id=152310 |
| <rdar://problem/13352225> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::findSecCodeForProcess): Added. |
| (WebKit::ChildProcess::initializeSandbox): Modified to use an identifier |
| from the code signature of the app/tool as part of the user directory suffix. |
| |
| 2016-01-06 Brian Burg <bburg@apple.com> |
| |
| Add a WebKit SPI for registering an automation controller with RemoteInspector |
| https://bugs.webkit.org/show_bug.cgi?id=151576 |
| |
| Reviewed by Dan Bernstein and Joseph Pecoraro. |
| |
| _WKAutomationDelegate is a new SPI that allows WKProcessPool clients to decide |
| policy and implement actions for remote automation. |
| |
| The SPI's implementation connects the client's delegate to RemoteInspector::Client. |
| This allows the delegate to handle some commands, such as requestAutomationSession, |
| that come over XPC from an external test runner but are not associated with a specific |
| automation target. |
| |
| * PlatformMac.cmake: |
| * UIProcess/API/APIAutomationClient.h: Added. Boilerplate for WebKit::AutomationClient. |
| (API::AutomationClient::~AutomationClient): |
| (API::AutomationClient::allowsRemoteAutomation): |
| (API::AutomationClient::requestAutomationSession): |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _automationDelegate]): Added. |
| (-[WKProcessPool _setAutomationDelegate:]): Added. |
| (-[WKProcessPool _automationCapabilitiesDidChange]): Added. |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Add delegate. |
| * UIProcess/API/Cocoa/_WKAutomationDelegate.h: Added. |
| |
| This is a new delegate SPI of WKProcessPool; it corresponds to AutomationClient. |
| |
| * UIProcess/Cocoa/AutomationClient.h: Added. |
| * UIProcess/Cocoa/AutomationClient.mm: Added. |
| |
| This implements a bridge between RemoteInspector::Client and _WKAutomationDelegate. |
| Since the delegate can be called from JavaScriptCore, save the delegating |
| WKProcessPool and pass it as the self parameter to delegate methods. |
| |
| (WebKit::AutomationClient::AutomationClient): |
| (WebKit::AutomationClient::~AutomationClient): |
| |
| This client automatically registers and unregisters as a RemoteInspector::Client. |
| |
| (WebKit::AutomationClient::remoteAutomationAllowed): |
| (WebKit::AutomationClient::requestAutomationSession): |
| |
| Forward requests from RemoteInspector to the automation delegate. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::WebProcessPool): |
| (WebKit::WebProcessPool::setAutomationClient): Added. |
| (WebKit::WebProcessPool::updateAutomationCapabilities): Added, it notifies RemoteInspector. |
| * UIProcess/WebProcessPool.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2016-01-06 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| [EFL] Set WebKit2 process output name |
| https://bugs.webkit.org/show_bug.cgi?id=152773 |
| |
| Reviewed by Benjamin Poulain. |
| |
| If we add *WebKit* prefix to each WK2 process, it is more clear when checking what process is running. |
| So this patch sets wk2 process output name. |
| |
| * PlatformEfl.cmake: |
| |
| 2016-01-05 Alex Christensen <achristensen@webkit.org> |
| |
| Implement defersLoading with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=151818 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::NetworkLoad): |
| (WebKit::NetworkLoad::setDefersLoading): |
| * NetworkProcess/NetworkSession.h: |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkDataTask::resume): |
| (WebKit::NetworkDataTask::suspend): |
| |
| 2016-01-05 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r192432): Keyboard repeat doesn't work anymore for arrow keys/spacebar |
| https://bugs.webkit.org/show_bug.cgi?id=152767 |
| <rdar://problem/24017380> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _didHandleKeyEvent:eventWasHandled:]): |
| Instead of always bailing, call [super _handleKeyUIEvent:] if we aren't |
| in an editable area, because we won't have done so in _handleKeyUIEvent. |
| |
| It's important that the event makes it to the root UIResponder (even if |
| we handled it!) for key repeat to function. |
| |
| The double-scrolling case is still fixed because we notice the resent |
| event coming back in to us and bail if we've already seen it. |
| |
| 2016-01-05 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Exiting fullscreen via Mission Control leaves fullcreen window frontmost on desktop |
| https://bugs.webkit.org/show_bug.cgi?id=152733 |
| |
| Reviewed by Eric Carlson. |
| |
| Rather than ignore -windowDidExitFullScreen: notifications when fullscreen exit was |
| not initiated by WebKit (and the -window:startCustomAnimationToEnterFullScreenWithDuration: |
| method was not called), continue to exit fullscreen normally. |
| |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): |
| |
| 2016-01-05 Alex Christensen <achristensen@webkit.org> |
| |
| Clean up download code |
| https://bugs.webkit.org/show_bug.cgi?id=152739 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::DownloadManager): |
| (WebKit::DownloadManager::didCreateDownload): |
| (WebKit::DownloadManager::didDestroyDownload): |
| (WebKit::DownloadManager::downloadProxyConnection): |
| (WebKit::DownloadManager::downloadsAuthenticationManager): |
| * NetworkProcess/Downloads/DownloadManager.h: |
| Keep a Client& instead of a Client*. |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::downloadManager): |
| * NetworkProcess/NetworkSession.h: |
| m_sessionID is not used. There is no need to store the sessionID if it is only used in the NetworkSession constructor. |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSession::defaultSession): |
| (WebKit::NetworkSession::NetworkSession): |
| |
| 2016-01-04 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Allow to save and restore session |
| https://bugs.webkit.org/show_bug.cgi?id=115600 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Add new API to get and resore the web view session state. |
| |
| * PlatformGTK.cmake: Add new files to compilation. |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_get_session_state): Create a new |
| WebKitWebViewSessionState representing the current session state. |
| (webkit_web_view_restore_session_state): Restore the web view |
| session state from the given WebKitWebViewSessionState. |
| * UIProcess/API/gtk/WebKitWebView.h: |
| * UIProcess/API/gtk/WebKitWebViewSessionState.cpp: Added. |
| (_WebKitWebViewSessionState::_WebKitWebViewSessionState): |
| (toExternalURLsPolicy): |
| (toWebCoreExternalURLsPolicy): |
| (toHTMLBodyElementType): |
| (toHTTPBodyElementType): |
| (encodeHTTPBody): |
| (encodeFrameState): |
| (encodePageState): |
| (encodeBackForwardListItemState): |
| (encodeBackForwardListState): |
| (encodeSessionState): |
| (decodeHTTPBody): |
| (decodeFrameState): |
| (decodeBackForwardListItemState): |
| (decodeSessionState): |
| (webkitWebViewSessionStateCreate): |
| (webkitWebViewSessionStateGetSessionState): |
| (webkit_web_view_session_state_new): Create a |
| WebKitWebViewSessionState from serialized data. |
| (webkit_web_view_session_state_ref): |
| (webkit_web_view_session_state_unref): |
| (webkit_web_view_session_state_serialize): Serialize the WebKitWebViewSessionState. |
| * UIProcess/API/gtk/WebKitWebViewSessionState.h: Added. |
| * UIProcess/API/gtk/WebKitWebViewSessionStatePrivate.h: Added. |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols. |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Add webkit_web_view_session_state_get_type. |
| * UIProcess/API/gtk/webkit2.h: Include WebKitWebViewSessionState.h. |
| |
| 2016-01-04 Alex Christensen <achristensen@webkit.org> |
| |
| Use unique_ptr for NetworkDataTasks and references for NetworkSessionTaskClients |
| https://bugs.webkit.org/show_bug.cgi?id=152724 |
| |
| Reviewed by Andy Estes. |
| |
| There is no reason to have a NetworkSessionTaskClient* instead of a |
| NetworkSessionTaskClient& just so we can clear it in the NetworkLoad destructor, |
| which immediately calls ~NetworkDataTask. |
| Also, NetworkDataTasks are owned only by the NetworkLoad, so there's no reason to refcount them. |
| |
| * NetworkProcess/Downloads/Download.h: |
| * NetworkProcess/Downloads/DownloadManager.h: |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::~NetworkLoad): |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient): |
| (WebKit::NetworkDataTask::client): |
| (WebKit::NetworkDataTask::downloadID): |
| (WebKit::NetworkDataTask::setDownloadID): |
| (WebKit::NetworkDataTask::clearClient): Deleted. |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]): |
| (-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): |
| (WebKit::NetworkSession::~NetworkSession): |
| (WebKit::NetworkSession::createDataTaskWithRequest): |
| (WebKit::NetworkSession::dataTaskForIdentifier): |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| |
| 2016-01-04 Alex Christensen <achristensen@webkit.org> |
| |
| Progress towards implementing downloads with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=152716 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/Downloads/Download.h: |
| * NetworkProcess/Downloads/DownloadID.h: |
| (WebKit::DownloadID::DownloadID): |
| (WebKit::DownloadID::operator==): |
| (WebKit::DownloadID::operator!=): |
| (WebKit::DownloadID::downloadID): |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::startDownload): |
| * NetworkProcess/Downloads/DownloadManager.h: |
| (WebKit::DownloadManager::download): |
| (WebKit::DownloadManager::isDownloading): |
| * NetworkProcess/Downloads/cocoa/DownloadCocoa.mm: |
| (WebKit::Download::resume): |
| (WebKit::Download::platformInvalidate): |
| (WebKit::Download::platformDidFinish): |
| (WebKit::Download::start): Deleted. |
| * NetworkProcess/NetworkSession.h: |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]): |
| (-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]): |
| (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]): |
| (-[WKNetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): |
| |
| When using NSURLSession, a data task is converted to a download task after the connection has already |
| been established, the headers have been received, and WebCore looks at the response and decides that |
| this connection should become a download. We call the didReceiveResponse to match the behavior of |
| NSURLDownload, but this could be cleaned up later to match what is actually happening. We also do not |
| need to tell the download to start because it has already started. |
| |
| (WebKit::NetworkSession::dataTaskForIdentifier): |
| (WebKit::NetworkSession::addDownloadID): |
| (WebKit::NetworkSession::downloadID): |
| (WebKit::NetworkSession::takeDownloadID): |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| |
| NSURLSessionDownloadTask taskIdentifiers are unique to that NSURLSession, but we have one global DownloadManager |
| in the NetworkProcess. We need to have each NetworkSession keep a map of taskIdentifiers to global DownloadID. |
| |
| 2016-01-04 Tim Horton <timothy_horton@apple.com> |
| |
| Turn on gesture events when building for Yosemite |
| https://bugs.webkit.org/show_bug.cgi?id=152704 |
| rdar://problem/24042472 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2016-01-04 Tim Horton <timothy_horton@apple.com> |
| |
| Hardware keyboard key-commands stop responding when viewing PDFs |
| https://bugs.webkit.org/show_bug.cgi?id=152712 |
| <rdar://problem/23014457> |
| |
| Reviewed by Dan Bernstein. |
| |
| Maintain first responder status through any content view swapping, by |
| making WKWebView become first responder if needed, and pushing first |
| responder status down to the swapped-in content view if possible. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView becomeFirstResponder]): |
| Make the current content view first responder instead of the WKContentView, |
| in case we have a custom content view installed. |
| |
| (-[WKWebView canBecomeFirstResponder]): |
| WKWebView can always become first responder, even if none of its children can. |
| This makes it so that if a custom content view can't become first responder, |
| WKWebView will take the responsibility. |
| |
| (-[WKWebView _setHasCustomContentView:loadedMIMEType:]): |
| Return the responsibility of being first responder to the newly-installed |
| content view if WKWebView is currently the first responder (either because |
| of tab switching or because the previous content view did not support |
| being first responder), if it supports being first responder. |
| |
| 2016-01-04 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r194544. |
| https://bugs.webkit.org/show_bug.cgi?id=152711 |
| |
| This change caused assertions in existing inspector tests |
| (Requested by ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: reproducible debug ASSERT when inspecting the |
| inspector (WK2)" |
| https://bugs.webkit.org/show_bug.cgi?id=152080 |
| http://trac.webkit.org/changeset/194544 |
| |
| 2016-01-04 Alex Christensen <achristensen@webkit.org> |
| |
| Fix Mac CMake build after r194378. |
| |
| * CMakeLists.txt: |
| |
| 2016-01-04 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: reproducible debug ASSERT when inspecting the inspector (WK2) |
| https://bugs.webkit.org/show_bug.cgi?id=152080 |
| |
| Reviewed by Timothy Hatcher. |
| |
| We hit an assert underneath ChildProcessProxy::addMessageReceiver when opening Inspector[2] |
| because we try to add WebInpectorProxy as a message receiver twice for the same process. |
| |
| On investigating, I found several interrelated issues that caused this state of affairs: |
| |
| - WebInspectorProxy adds message receivers for inspector page's WebProcess and the |
| inspected page's WebProcess. When inspecting the inspector, we mistakenly add a receiver |
| again because the inspector is now the inspected page. |
| - We mixed up process ids when adding message receivers. |
| - invalidate() is re-entrant, causing us to try and double-remove the message receiver. |
| |
| Fix this by removing add/remove of message recievers for the inspector page when then |
| inspected page is itself an inspector page. In that case, the receivers are managed by |
| the inspector page's WebInspectorProxy instance. |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::invalidate): Re-arrange to guard against useless reentrancy. |
| (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess): |
| (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage): |
| (WebKit::WebInspectorProxy::didClose): |
| |
| 2016-01-04 Alex Christensen <achristensen@webkit.org> |
| |
| Build fix after r194536 when using NetworkSession. |
| |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::dataTaskBecameDownloadTask): |
| (WebKit::DownloadManager::convertHandleToDownload): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): |
| WTFMove changed underneath me. |
| |
| 2016-01-04 Alex Christensen <achristensen@webkit.org> |
| |
| Progress towards implementing downloads with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=152576 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/Downloads/Download.cpp: |
| (WebKit::Download::Download): |
| (WebKit::Download::~Download): |
| (WebKit::Download::didStart): |
| (WebKit::Download::didReceiveAuthenticationChallenge): |
| * NetworkProcess/Downloads/Download.h: |
| (WebKit::Download::downloadID): |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::startDownload): |
| (WebKit::DownloadManager::dataTaskBecameDownloadTask): |
| (WebKit::DownloadManager::convertHandleToDownload): |
| * NetworkProcess/Downloads/DownloadManager.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::convertTaskToDownload): |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkDataTask::client): |
| (WebKit::NetworkDataTask::clearClient): |
| (WebKit::NetworkDataTask::downloadID): |
| (WebKit::NetworkDataTask::setDownloadID): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): |
| |
| 2016-01-04 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Rename _WebKitWebContextPrivate.context to _WebKitWebContextPrivate.processPool |
| https://bugs.webkit.org/show_bug.cgi?id=152672 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/WebKitDownloadClient.cpp: |
| (attachDownloadClientToContext): |
| * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: |
| (attachInjectedBundleClientToContext): |
| * UIProcess/API/gtk/WebKitSecurityManager.cpp: |
| (registerSecurityPolicyForURIScheme): |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): |
| (webkitWebContextDispose): |
| (webkit_web_context_set_cache_model): |
| (webkit_web_context_get_cache_model): |
| (webkit_web_context_clear_cache): |
| (webkit_web_context_get_cookie_manager): |
| (ensureFaviconDatabase): |
| (webkit_web_context_set_favicon_database_directory): |
| (webkit_web_context_set_additional_plugins_directory): |
| (webkitWebContextGetPluginThread): |
| (webkit_web_context_set_tls_errors_policy): |
| (webkit_web_context_set_disk_cache_directory): |
| (webkit_web_context_prefetch_dns): |
| (webkit_web_context_allow_tls_certificate_for_host): |
| (webkit_web_context_set_process_model): |
| (webkit_web_context_set_web_process_count_limit): |
| (webkitWebContextStartDownload): |
| (webkitWebContextGetProcessPool): |
| (webkitWebContextCreatePageForWebView): |
| (webkitWebContextGetContext): Deleted. |
| * UIProcess/API/gtk/WebKitWebContextPrivate.h: |
| |
| 2016-01-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Rename scrollPosition(Scrollbar*) to scrollOffset(ScrollbarOrientation) |
| https://bugs.webkit.org/show_bug.cgi?id=152666 |
| |
| Reviewed by Dan Bernstein. |
| |
| Scrollbar values take offsets (zero-based), so rename the accessor used |
| by scrollbars to set their value, and pass in an orientation, rather than |
| a pointer to the scrollbar. |
| |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h: |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::PDFPlugin::scrollOffset): |
| (WebKit::PDFPlugin::scrollPosition): Renamed. |
| |
| 2015-12-31 Andy Estes <aestes@apple.com> |
| |
| Replace WTF::move with WTFMove |
| https://bugs.webkit.org/show_bug.cgi?id=152601 |
| |
| Reviewed by Brady Eidson. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::postDatabaseTask): |
| (WebKit::DatabaseProcess::fetchWebsiteData): |
| (WebKit::DatabaseProcess::deleteWebsiteData): |
| (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins): |
| (WebKit::DatabaseProcess::indexedDatabaseOrigins): |
| * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: |
| (WebKit::UniqueIDBDatabase::postTransactionOperation): |
| (WebKit::UniqueIDBDatabase::postMainThreadTask): |
| (WebKit::UniqueIDBDatabase::postDatabaseTask): |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::startDownload): |
| (WebKit::DownloadManager::convertHandleToDownload): |
| (WebKit::DownloadManager::resumeDownload): |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm: |
| (WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate): |
| * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: |
| (WebKit::NetworkBlobRegistry::registerBlobURL): |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad): |
| (WebKit::NetworkConnectionToWebProcess::registerBlobURL): |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::didReceiveData): |
| (WebKit::NetworkLoad::didReceiveBuffer): |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::fetchDiskCacheEntries): |
| (WebKit::NetworkProcess::fetchWebsiteData): |
| (WebKit::NetworkProcess::deleteWebsiteData): |
| (WebKit::clearDiskCacheEntries): |
| (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData): |
| (WebKit::NetworkResourceLoader::NetworkResourceLoader): |
| (WebKit::NetworkResourceLoader::retrieveCacheEntry): |
| (WebKit::NetworkResourceLoader::didFinishLoading): |
| (WebKit::NetworkResourceLoader::tryStoreAsCacheEntry): |
| (WebKit::NetworkResourceLoader::validateCacheEntry): |
| * NetworkProcess/NetworkResourceLoader.h: |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::retrieve): |
| (WebKit::NetworkCache::Cache::store): |
| (WebKit::NetworkCache::Cache::clear): |
| * NetworkProcess/cache/NetworkCacheCoders.h: |
| * NetworkProcess/cache/NetworkCacheDataSoup.cpp: |
| (WebKit::NetworkCache::Data::empty): |
| (WebKit::NetworkCache::Data::subrange): |
| (WebKit::NetworkCache::concatenate): |
| (WebKit::NetworkCache::Data::adoptMap): |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::Entry): |
| * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp: |
| (WebKit::NetworkCache::runTaskInQueue): |
| (WebKit::NetworkCache::fillDataFromReadBuffer): |
| (WebKit::NetworkCache::IOChannel::readSyncInThread): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: |
| (WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad): |
| (WebKit::NetworkCache::SpeculativeLoad::didFinishLoading): |
| (WebKit::NetworkCache::SpeculativeLoad::didComplete): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::SpeculativeLoadManager::ExpiringEntry::ExpiringEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::takeCacheEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::create): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::setExistingSubresourcesEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::PendingFrameLoad): |
| (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad): |
| (WebKit::NetworkCache::SpeculativeLoadManager::addPreloadedEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage): |
| (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry): |
| * NetworkProcess/cache/NetworkCacheStatistics.cpp: |
| (WebKit::NetworkCache::Statistics::queryWasEverRequested): |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::ReadOperation::finish): |
| (WebKit::NetworkCache::Storage::synchronize): |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| (WebKit::NetworkCache::Storage::dispatchWriteOperation): |
| (WebKit::NetworkCache::Storage::retrieve): |
| (WebKit::NetworkCache::Storage::store): |
| (WebKit::NetworkCache::Storage::traverse): |
| (WebKit::NetworkCache::Storage::clear): |
| * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp: |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry): |
| (WebKit::NetworkCache::SubresourcesEntry::updateSubresourceKeys): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkDataTask::NetworkDataTask): |
| * NetworkProcess/soup/NetworkProcessSoup.cpp: |
| (WebKit::NetworkProcess::clearDiskCache): |
| * Platform/IPC/ArgumentCoders.h: |
| (IPC::ArgumentCoder<WTF::Optional<T>>::decode): |
| * Platform/IPC/ArgumentDecoder.cpp: |
| (IPC::ArgumentDecoder::ArgumentDecoder): |
| * Platform/IPC/ArgumentEncoder.cpp: |
| (IPC::ArgumentEncoder::addAttachment): |
| (IPC::ArgumentEncoder::releaseAttachments): |
| * Platform/IPC/Attachment.cpp: |
| (IPC::Attachment::encode): |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::SyncMessageState::processIncomingMessage): |
| (IPC::Connection::SyncMessageState::dispatchMessages): |
| (IPC::Connection::dispatchWorkQueueMessageReceiverMessage): |
| (IPC::Connection::sendMessage): |
| (IPC::Connection::sendSyncReply): |
| (IPC::Connection::waitForMessage): |
| (IPC::Connection::sendSyncMessage): |
| (IPC::Connection::sendSyncMessageFromSecondaryThread): |
| (IPC::Connection::waitForSyncReply): |
| (IPC::Connection::processIncomingSyncReply): |
| (IPC::Connection::processIncomingMessage): |
| (IPC::Connection::sendOutgoingMessages): |
| (IPC::Connection::dispatchSyncMessage): |
| (IPC::Connection::enqueueIncomingMessage): |
| (IPC::Connection::dispatchOneMessage): |
| * Platform/IPC/Connection.h: |
| (IPC::Connection::Identifier::Identifier): |
| (IPC::Connection::send): |
| (IPC::Connection::sendSync): |
| * Platform/IPC/HandleMessage.h: |
| (IPC::handleMessage): |
| (IPC::handleMessageDelayed): |
| * Platform/IPC/MessageDecoder.cpp: |
| (IPC::MessageDecoder::MessageDecoder): |
| (IPC::MessageDecoder::setImportanceAssertion): |
| (IPC::MessageDecoder::unwrapForTesting): |
| * Platform/IPC/MessageDecoder.h: |
| (IPC::MessageDecoder::setMessageProcessingToken): |
| * Platform/IPC/MessageEncoder.cpp: |
| (IPC::MessageEncoder::wrapForTesting): |
| * Platform/IPC/MessageRecorder.cpp: |
| (IPC::MessageRecorder::recordOutgoingMessage): |
| (IPC::MessageRecorder::recordIncomingMessage): |
| (IPC::MessageRecorder::MessageProcessingToken::MessageProcessingToken): |
| * Platform/IPC/MessageSender.cpp: |
| (IPC::MessageSender::sendMessage): |
| * Platform/IPC/MessageSender.h: |
| (IPC::MessageSender::send): |
| (IPC::MessageSender::sendSync): |
| * Platform/IPC/glib/GSocketMonitor.cpp: |
| (IPC::GSocketMonitor::start): |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::Connection::open): |
| (IPC::createMessageDecoder): |
| (IPC::Connection::receiveSourceEventHandler): |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::Connection::processMessage): |
| * Platform/unix/SharedMemoryUnix.cpp: |
| (WebKit::SharedMemory::Handle::decode): |
| (WebKit::SharedMemory::Handle::releaseAttachment): |
| (WebKit::SharedMemory::Handle::adoptAttachment): |
| * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm: |
| (WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate): |
| * PluginProcess/PluginProcess.cpp: |
| (WebKit::PluginProcess::initializePluginProcess): |
| * PluginProcess/WebProcessConnection.cpp: |
| (WebKit::WebProcessConnection::addPluginControllerProxy): |
| (WebKit::WebProcessConnection::createPluginInternal): |
| * PluginProcess/mac/PluginProcessMac.mm: |
| (WebKit::PluginProcess::platformInitializePluginProcess): |
| * Scripts/webkit/LegacyMessageReceiver-expected.cpp: |
| (Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply): |
| (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send): |
| (Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply): |
| (Messages::WebPage::TestMultipleAttributes::DelayedReply::send): |
| * Scripts/webkit/MessageReceiver-expected.cpp: |
| (Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply): |
| (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send): |
| (Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply): |
| (Messages::WebPage::TestMultipleAttributes::DelayedReply::send): |
| * Scripts/webkit/messages.py: |
| (generate_message_handler): |
| * Shared/API/APIArray.cpp: |
| (API::Array::create): |
| (API::Array::createStringArray): |
| (API::Array::copy): |
| * Shared/API/APIArray.h: |
| * Shared/API/APIDictionary.cpp: |
| (API::Dictionary::create): |
| (API::Dictionary::Dictionary): |
| (API::Dictionary::keys): |
| * Shared/API/APIPageGroupHandle.cpp: |
| (API::PageGroupHandle::create): |
| (API::PageGroupHandle::PageGroupHandle): |
| (API::PageGroupHandle::decode): |
| * Shared/API/APIString.h: |
| * Shared/API/APIURL.h: |
| (API::URL::create): |
| (API::URL::URL): |
| * Shared/API/Cocoa/RemoteObjectInvocation.h: |
| (WebKit::RemoteObjectInvocation::ReplyInfo::ReplyInfo): |
| * Shared/API/Cocoa/RemoteObjectInvocation.mm: |
| (WebKit::RemoteObjectInvocation::RemoteObjectInvocation): |
| (WebKit::RemoteObjectInvocation::decode): |
| * Shared/API/Cocoa/WKRemoteObjectCoder.mm: |
| (ensureObjectStream): |
| (createEncodedObject): |
| * Shared/API/Cocoa/_WKRemoteObjectInterface.mm: |
| (initializeMethod): |
| (-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:ofReply:]): |
| * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm: |
| (-[_WKRemoteObjectRegistry _sendInvocation:interface:]): |
| * Shared/API/c/WKArray.cpp: |
| (WKArrayCreate): |
| (WKArrayCreateAdoptingValues): |
| * Shared/API/c/WKDictionary.cpp: |
| (WKDictionaryCreate): |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::ProxyingRefPtr::ProxyingRefPtr): |
| * Shared/APIWebArchive.mm: |
| (API::WebArchive::WebArchive): |
| (API::WebArchive::subresources): |
| (API::WebArchive::subframeArchives): |
| * Shared/AsyncRequest.cpp: |
| (WebKit::AsyncRequest::AsyncRequest): |
| (WebKit::AsyncRequest::setAbortHandler): |
| * Shared/AsyncRequest.h: |
| * Shared/BlockingResponseMap.h: |
| (BlockingResponseMap::didReceiveResponse): |
| * Shared/ChildProcessProxy.cpp: |
| (WebKit::ChildProcessProxy::sendMessage): |
| (WebKit::ChildProcessProxy::didFinishLaunching): |
| * Shared/ChildProcessProxy.h: |
| (WebKit::ChildProcessProxy::send): |
| (WebKit::ChildProcessProxy::sendSync): |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::dispatchOnMainThread): |
| (WebKit::CoordinatedGraphicsScene::dispatchOnClientRunLoop): |
| (WebKit::CoordinatedGraphicsScene::createLayer): |
| (WebKit::CoordinatedGraphicsScene::syncRemoteContent): |
| (WebKit::CoordinatedGraphicsScene::appendUpdate): |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: |
| (WebKit::ThreadSafeCoordinatedSurface::create): |
| (WebKit::ThreadSafeCoordinatedSurface::ThreadSafeCoordinatedSurface): |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::CompositingRunLoop::CompositingRunLoop): |
| (WebKit::CompositingRunLoop::callOnCompositingRunLoop): |
| (WebKit::ThreadedCompositor::callOnCompositingThread): |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: |
| (WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate): |
| (WebKit::XPCServiceInitializer): |
| * Shared/Plugins/Netscape/PluginInformation.cpp: |
| (WebKit::createPluginInformationDictionary): |
| * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h: |
| (WebKit::RemoteScrollingCoordinatorTransaction::setStateTreeToEncode): |
| * Shared/SessionTracker.cpp: |
| (WebKit::SessionTracker::setSession): |
| * Shared/UserData.cpp: |
| (WebKit::UserData::UserData): |
| (WebKit::transformGraph): |
| (WebKit::UserData::decode): |
| * Shared/WebBackForwardListItem.cpp: |
| (WebKit::WebBackForwardListItem::create): |
| (WebKit::WebBackForwardListItem::WebBackForwardListItem): |
| * Shared/WebBackForwardListItem.h: |
| (WebKit::WebBackForwardListItem::setPageState): |
| * Shared/WebCompiledContentExtension.cpp: |
| (WebKit::WebCompiledContentExtension::create): |
| (WebKit::WebCompiledContentExtension::WebCompiledContentExtension): |
| * Shared/WebCompiledContentExtensionData.h: |
| (WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData): |
| * Shared/WebContextMenuItem.cpp: |
| (WebKit::WebContextMenuItem::submenuItemsAsAPIArray): |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<UserStyleSheet>::decode): |
| (IPC::ArgumentCoder<UserScript>::decode): |
| (IPC::ArgumentCoder<FilterOperations>::decode): |
| (IPC::ArgumentCoder<BlobPart>::decode): |
| * Shared/WebKeyboardEvent.cpp: |
| (WebKit::WebKeyboardEvent::WebKeyboardEvent): |
| * Shared/WebPreferencesStore.h: |
| (WebKit::WebPreferencesStore::Value::Value): |
| * Shared/WebRenderLayer.cpp: |
| (WebKit::WebRenderLayer::createArrayFromLayerList): |
| * Shared/WebRenderObject.cpp: |
| (WebKit::WebRenderObject::WebRenderObject): |
| * Shared/WebTouchEvent.cpp: |
| (WebKit::WebTouchEvent::WebTouchEvent): |
| * Shared/efl/WebEventFactory.cpp: |
| (WebKit::WebEventFactory::createWebTouchEvent): |
| * Shared/gtk/NativeWebKeyboardEventGtk.cpp: |
| (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): |
| * Shared/gtk/NativeWebTouchEventGtk.cpp: |
| (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): |
| * Shared/gtk/WebContextMenuItemGtk.cpp: |
| (WebKit::WebContextMenuItemGtk::WebContextMenuItemGtk): |
| * Shared/gtk/WebEventFactory.cpp: |
| (WebKit::WebEventFactory::createWebKeyboardEvent): |
| (WebKit::WebEventFactory::createWebTouchEvent): |
| * Shared/linux/SeccompFilters/OpenSyscall.cpp: |
| (WebKit::OpenSyscall::createFromOpenatContext): |
| (WebKit::OpenSyscall::createFromCreatContext): |
| (WebKit::OpenSyscallResult::encode): |
| * Shared/mac/ObjCObjectGraph.mm: |
| (WebKit::ObjCObjectGraph::decode): |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::takeFrontContextPendingFlush): |
| (WebKit::RemoteLayerBackingStore::Buffer::discard): |
| * Shared/mac/RemoteLayerTreeTransaction.h: |
| (WebKit::RemoteLayerTreeTransaction::setCallbackIDs): |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): |
| (WebKit::RemoteLayerTreeTransaction::decode): |
| (WebKit::RemoteLayerTreeTransaction::setCreatedLayers): |
| (WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs): |
| (WebKit::RemoteLayerTreeTransaction::setLayerIDsWithNewlyUnreachableBackingStore): |
| * Shared/soup/WebCoreArgumentCodersSoup.cpp: |
| (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/APISessionState.cpp: |
| (API::SessionState::create): |
| (API::SessionState::SessionState): |
| * UIProcess/API/APIUserContentExtension.cpp: |
| (API::UserContentExtension::UserContentExtension): |
| * UIProcess/API/APIUserContentExtension.h: |
| * UIProcess/API/APIUserContentExtensionStore.cpp: |
| (API::compiledToFile): |
| (API::createExtension): |
| (API::UserContentExtensionStore::compileContentExtension): |
| * UIProcess/API/APIUserScript.h: |
| * UIProcess/API/APIWebsiteDataRecord.cpp: |
| (API::WebsiteDataRecord::create): |
| (API::WebsiteDataRecord::WebsiteDataRecord): |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::create): |
| (API::WebsiteDataStore::WebsiteDataStore): |
| * UIProcess/API/C/WKApplicationCacheManager.cpp: |
| (WKApplicationCacheManagerGetApplicationCacheOrigins): |
| * UIProcess/API/C/WKKeyValueStorageManager.cpp: |
| (WKKeyValueStorageManagerGetKeyValueStorageOrigins): |
| (WKKeyValueStorageManagerGetStorageDetailsByOrigin): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageCopySessionState): |
| (WKPageRestoreFromSessionState): |
| (WKPageSetPageContextMenuClient): |
| (WKPageSetPageFindMatchesClient): |
| (WKPageSetPageLoaderClient): |
| (WebKit::RunJavaScriptAlertResultListener::create): |
| (WebKit::RunJavaScriptAlertResultListener::RunJavaScriptAlertResultListener): |
| (WebKit::RunJavaScriptConfirmResultListener::create): |
| (WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener): |
| (WebKit::RunJavaScriptPromptResultListener::create): |
| (WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener): |
| (WKPageSetPageUIClient): |
| (WKPageSetPageNavigationClient): |
| (WKPageCopyRelatedPages): |
| * UIProcess/API/C/WKResourceCacheManager.cpp: |
| (WKResourceCacheManagerGetCacheOrigins): |
| * UIProcess/API/C/WKSessionStateRef.cpp: |
| (WKSessionStateCreateFromData): |
| * UIProcess/API/C/mac/WKContextPrivateMac.mm: |
| (WKContextGetInfoForInstalledPlugIns): |
| * UIProcess/API/C/mac/WKPagePrivateMac.mm: |
| (-[WKObservablePageState initWithPage:]): |
| * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: |
| (createWKArray): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| (-[WKWebView _takeViewSnapshot]): |
| (-[WKWebView _restoreFromSessionStateData:]): |
| (-[WKWebView _setInputDelegate:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (LazyInitialized::set): |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]): |
| * UIProcess/API/Cocoa/_WKSessionState.mm: |
| (-[_WKSessionState _initWithSessionState:]): |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm: |
| (-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]): |
| * UIProcess/API/efl/ewk_database_manager.cpp: |
| (EwkDatabaseManager::getDatabaseOrigins): |
| * UIProcess/API/gtk/WebKitContextMenuItem.cpp: |
| (webkitContextMenuItemToWebContextMenuItemGtk): |
| * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: |
| (webkit_file_chooser_request_select_files): |
| * UIProcess/API/gtk/WebKitNotificationProvider.cpp: |
| (WebKitNotificationProvider::notificationCloseCallback): |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkit_web_context_prefetch_dns): |
| (webkitWebContextCreatePageForWebView): |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_get_snapshot): |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseTouchEvent): |
| (webkitWebViewBaseCreateWebPage): |
| * UIProcess/API/gtk/WebKitWebsiteDataManager.cpp: |
| (webkitWebsiteDataManagerCreate): |
| (webkitWebsiteDataManagerGetDataStore): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): |
| (-[WKView initWithFrame:configurationRef:]): |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::tryAppLink): |
| (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): |
| (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationResponse): |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::WebViewImpl): |
| (WebKit::WebViewImpl::takeViewSnapshot): |
| * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: |
| (WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate): |
| * UIProcess/Databases/DatabaseProcessProxy.cpp: |
| (WebKit::DatabaseProcessProxy::fetchWebsiteData): |
| (WebKit::DatabaseProcessProxy::deleteWebsiteData): |
| (WebKit::DatabaseProcessProxy::deleteWebsiteDataForOrigins): |
| * UIProcess/GenericCallback.h: |
| (WebKit::CallbackMap::put): |
| * UIProcess/InspectorServer/WebSocketServer.cpp: |
| (WebKit::WebSocketServer::didAcceptConnection): |
| * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp: |
| (WebKit::connectionCallback): |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::fetchWebsiteData): |
| * UIProcess/Notifications/WebNotificationManagerProxy.cpp: |
| (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): |
| * UIProcess/Notifications/WebNotificationProvider.cpp: |
| (WebKit::WebNotificationProvider::clearNotifications): |
| * UIProcess/PageLoadState.cpp: |
| (WebKit::PageLoadState::Transaction::Transaction): |
| * UIProcess/Plugins/PlugInAutoStartProvider.cpp: |
| (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): |
| * UIProcess/Plugins/PluginProcessManager.cpp: |
| (WebKit::PluginProcessManager::pluginProcessToken): |
| (WebKit::PluginProcessManager::fetchWebsiteData): |
| (WebKit::PluginProcessManager::deleteWebsiteData): |
| (WebKit::PluginProcessManager::deleteWebsiteDataForHostNames): |
| * UIProcess/Plugins/PluginProcessProxy.cpp: |
| (WebKit::PluginProcessProxy::fetchWebsiteData): |
| (WebKit::PluginProcessProxy::deleteWebsiteData): |
| (WebKit::PluginProcessProxy::deleteWebsiteDataForHostNames): |
| * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: |
| (WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree): |
| * UIProcess/StatisticsRequest.cpp: |
| (WebKit::StatisticsRequest::completedRequest): |
| * UIProcess/Storage/LocalStorageDatabase.cpp: |
| (WebKit::LocalStorageDatabase::create): |
| (WebKit::LocalStorageDatabase::LocalStorageDatabase): |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea): |
| (WebKit::StorageManager::StorageArea::create): |
| (WebKit::StorageManager::StorageArea::StorageArea): |
| (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea): |
| (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea): |
| (WebKit::StorageManager::getSessionStorageOrigins): |
| (WebKit::StorageManager::getLocalStorageOrigins): |
| (WebKit::StorageManager::getLocalStorageOriginDetails): |
| (WebKit::StorageManager::createTransientLocalStorageMap): |
| (WebKit::StorageManager::createSessionStorageMap): |
| * UIProcess/UserContent/WebScriptMessageHandler.cpp: |
| (WebKit::WebScriptMessageHandler::create): |
| (WebKit::WebScriptMessageHandler::WebScriptMessageHandler): |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::addUserStyleSheet): |
| * UIProcess/ViewGestureController.cpp: |
| (WebKit::ViewGestureController::SnapshotRemovalTracker::start): |
| (WebKit::ViewGestureController::SnapshotRemovalTracker::fireRemovalCallbackImmediately): |
| * UIProcess/WebBackForwardList.cpp: |
| (WebKit::WebBackForwardList::addItem): |
| (WebKit::WebBackForwardList::backListAsAPIArrayWithLimit): |
| (WebKit::WebBackForwardList::forwardListAsAPIArrayWithLimit): |
| (WebKit::WebBackForwardList::removeAllItems): |
| (WebKit::WebBackForwardList::clear): |
| (WebKit::WebBackForwardList::restoreFromState): |
| * UIProcess/WebCookieManagerProxy.cpp: |
| (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): |
| (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy): |
| * UIProcess/WebFormClient.cpp: |
| (WebKit::WebFormClient::willSubmitForm): |
| * UIProcess/WebFrameListenerProxy.h: |
| (WebKit::WebFrameListenerProxy::setNavigation): |
| * UIProcess/WebFrameProxy.h: |
| (WebKit::WebFrameProxy::contentFilterDidBlockLoad): |
| * UIProcess/WebGrammarDetail.cpp: |
| (WebKit::WebGrammarDetail::guesses): |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::createInspectorPage): |
| * UIProcess/WebMediaCacheManagerProxy.cpp: |
| (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::ExceededDatabaseQuotaRecords::add): |
| (WebKit::WebPageProxy::create): |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::setHistoryClient): |
| (WebKit::WebPageProxy::setNavigationClient): |
| (WebKit::WebPageProxy::setLoaderClient): |
| (WebKit::WebPageProxy::setPolicyClient): |
| (WebKit::WebPageProxy::setFormClient): |
| (WebKit::WebPageProxy::setUIClient): |
| (WebKit::WebPageProxy::setFindClient): |
| (WebKit::WebPageProxy::setFindMatchesClient): |
| (WebKit::WebPageProxy::setDiagnosticLoggingClient): |
| (WebKit::WebPageProxy::setContextMenuClient): |
| (WebKit::WebPageProxy::reattachToWebProcessForReload): |
| (WebKit::WebPageProxy::reattachToWebProcessWithItem): |
| (WebKit::WebPageProxy::loadRequest): |
| (WebKit::WebPageProxy::loadFile): |
| (WebKit::WebPageProxy::loadData): |
| (WebKit::WebPageProxy::loadHTMLString): |
| (WebKit::WebPageProxy::reload): |
| (WebKit::WebPageProxy::didChangeBackForwardList): |
| (WebKit::WebPageProxy::setInitialFocus): |
| (WebKit::WebPageProxy::validateCommand): |
| (WebKit::WebPageProxy::handleWheelEvent): |
| (WebKit::WebPageProxy::processNextQueuedWheelEvent): |
| (WebKit::WebPageProxy::restoreFromSessionState): |
| (WebKit::WebPageProxy::runJavaScriptInMainFrame): |
| (WebKit::WebPageProxy::getRenderTreeExternalRepresentation): |
| (WebKit::WebPageProxy::getSourceForFrame): |
| (WebKit::WebPageProxy::getContentsAsString): |
| (WebKit::WebPageProxy::getBytecodeProfile): |
| (WebKit::WebPageProxy::getContentsAsMHTMLData): |
| (WebKit::WebPageProxy::getSelectionOrContentsAsString): |
| (WebKit::WebPageProxy::getSelectionAsWebArchiveData): |
| (WebKit::WebPageProxy::getMainResourceDataOfFrame): |
| (WebKit::WebPageProxy::getResourceDataFromFrame): |
| (WebKit::WebPageProxy::getWebArchiveOfFrame): |
| (WebKit::WebPageProxy::decidePolicyForNavigationAction): |
| (WebKit::WebPageProxy::decidePolicyForNewWindowAction): |
| (WebKit::WebPageProxy::decidePolicyForResponse): |
| (WebKit::WebPageProxy::sendMessage): |
| (WebKit::WebPageProxy::exceededDatabaseQuota): |
| (WebKit::WebPageProxy::getMarkedRangeAsync): |
| (WebKit::WebPageProxy::getSelectedRangeAsync): |
| (WebKit::WebPageProxy::characterIndexForPointAsync): |
| (WebKit::WebPageProxy::firstRectForCharacterRangeAsync): |
| (WebKit::WebPageProxy::takeSnapshot): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::setHistoryClient): |
| (WebKit::WebProcessPool::setDownloadClient): |
| (WebKit::WebProcessPool::createWebPage): |
| (WebKit::WebProcessPool::getStatistics): |
| (WebKit::WebProcessPool::pluginInfoStoreDidLoadPlugins): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::createWebPage): |
| (WebKit::WebProcessProxy::addBackForwardItem): |
| (WebKit::WebProcessProxy::fetchWebsiteData): |
| * UIProcess/WebsiteData/WebsiteDataRecord.cpp: |
| (WebKit::WebsiteDataRecord::add): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::create): |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| (WebKit::WebsiteDataStore::fetchData): |
| (WebKit::WebsiteDataStore::removeData): |
| (WebKit::WebsiteDataStore::mediaKeyOrigins): |
| * UIProcess/efl/InputMethodContextEfl.cpp: |
| (WebKit::InputMethodContextEfl::InputMethodContextEfl): |
| * UIProcess/efl/InputMethodContextEfl.h: |
| (WebKit::InputMethodContextEfl::create): |
| * UIProcess/efl/WebContextMenuProxyEfl.cpp: |
| (WebKit::WebContextMenuProxyEfl::showContextMenu): |
| * UIProcess/efl/WebUIPopupMenuClient.cpp: |
| (WebUIPopupMenuClient::showPopupMenu): |
| * UIProcess/gtk/InputMethodFilter.cpp: |
| (WebKit::InputMethodFilter::filterKeyEvent): |
| * UIProcess/gtk/KeyBindingTranslator.cpp: |
| (WebKit::KeyBindingTranslator::commandsForKeyEvent): |
| * UIProcess/gtk/RedirectedXCompositeWindow.cpp: |
| (WebKit::XDamageNotifier::add): |
| (WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow): |
| (WebKit::RedirectedXCompositeWindow::surface): |
| * UIProcess/ios/WKActionSheetAssistant.mm: |
| (-[WKActionSheetAssistant showImageSheet]): |
| (-[WKActionSheetAssistant showLinkSheet]): |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView _commonInitializationWithProcessPool:configuration:]): |
| (-[WKContentView initWithFrame:processPool:configuration:webView:]): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView actionSheetAssistant:decideActionsForElement:defaultActions:]): |
| * UIProcess/ios/WKGeolocationProviderIOS.mm: |
| (-[WKGeolocationProviderIOS geolocationAuthorizationGranted]): |
| (-[WKGeolocationProviderIOS geolocationAuthorizationDenied]): |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView actionSheetAssistant:decideActionsForElement:defaultActions:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::selectWithGesture): |
| (WebKit::WebPageProxy::updateSelectionWithTouches): |
| (WebKit::WebPageProxy::requestAutocorrectionData): |
| (WebKit::WebPageProxy::applyAutocorrection): |
| (WebKit::WebPageProxy::executeEditCommand): |
| (WebKit::WebPageProxy::selectTextWithGranularityAtPoint): |
| (WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection): |
| (WebKit::WebPageProxy::moveSelectionAtBoundaryWithDirection): |
| (WebKit::WebPageProxy::selectPositionAtPoint): |
| (WebKit::WebPageProxy::beginSelectionInDirection): |
| (WebKit::WebPageProxy::updateSelectionWithExtentPoint): |
| (WebKit::WebPageProxy::updateSelectionWithExtentPointAndBoundary): |
| (WebKit::WebPageProxy::requestDictationContext): |
| (WebKit::WebPageProxy::requestAutocorrectionContext): |
| (WebKit::WebPageProxy::getLookupContextAtPoint): |
| (WebKit::WebPageProxy::selectWithTwoTouches): |
| (WebKit::WebPageProxy::moveSelectionByOffset): |
| (WebKit::WebPageProxy::focusNextAssistedNode): |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::createModelAndInterface): |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]): |
| * UIProcess/mac/LegacySessionStateCoding.cpp: |
| (WebKit::HistoryEntryDataEncoder::finishEncoding): |
| (WebKit::decodeFormData): |
| (WebKit::decodeBackForwardTreeNode): |
| (WebKit::decodeSessionHistoryEntries): |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing): |
| * UIProcess/mac/ViewGestureController.h: |
| (WebKit::ViewGestureController::setCustomSwipeViews): |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker): |
| * UIProcess/mac/ViewSnapshotStore.mm: |
| (WebKit::ViewSnapshot::create): |
| (WebKit::ViewSnapshot::ViewSnapshot): |
| (WebKit::ViewSnapshot::setSurface): |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync): |
| (WebKit::WebPageProxy::fontAtSelection): |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (contextMenuItems): |
| (WKBundlePageCopyOriginsWithApplicationCache): |
| * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: |
| (WKBundlePageOverlayCreate): |
| * WebProcess/InjectedBundle/API/efl/ewk_extension.cpp: |
| (EwkExtension::didCreatePage): |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (webkitFrameGetOrCreate): |
| (didInitiateLoadForResource): |
| (willSendRequestForFrame): |
| (didReceiveResponseForResource): |
| (didReceiveContentLengthForResource): |
| (didFinishLoadForResource): |
| (didFailLoadForResource): |
| (webkitWebPageDidReceiveMessage): |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::addUserScript): |
| (WebKit::InjectedBundle::addUserStyleSheet): |
| * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: |
| (WebKit::InjectedBundleBackForwardListItem::children): |
| * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: |
| (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems): |
| * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: |
| (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent): |
| (WebKit::InjectedBundlePageFormClient::willSubmitForm): |
| (WebKit::InjectedBundlePageFormClient::didAssociateFormControls): |
| * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: |
| (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame): |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::willSendRequest): |
| * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: |
| (WebKit::NPN_PostURL): |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::scheduleTimer): |
| * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: |
| (WebKit::convertStringToKeyCodes): |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::PDFPlugin::PDFPlugin): |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (-[WKPDFHUDAnimationDelegate initWithAnimationCompletionHandler:]): |
| * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm: |
| (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): |
| * WebProcess/Storage/StorageAreaMap.cpp: |
| (WebKit::StorageAreaMap::create): |
| (WebKit::StorageAreaMap::StorageAreaMap): |
| * WebProcess/Storage/StorageNamespaceImpl.cpp: |
| (WebKit::StorageNamespaceImpl::storageArea): |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::addUserContentExtensions): |
| * WebProcess/WebCoreSupport/SessionStateConversion.cpp: |
| (WebKit::toHTTPBody): |
| (WebKit::toFrameState): |
| (WebKit::applyFrameState): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): |
| (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): |
| (WebKit::WebFrameLoaderClient::contentFilterDidBlockLoad): |
| * WebProcess/WebCoreSupport/WebPasteboardOverrides.cpp: |
| (WebKit::WebPasteboardOverrides::addOverride): |
| * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: |
| (WebKit::WebEditorClient::executePendingEditorCommands): |
| * WebProcess/WebPage/FindController.cpp: |
| (WebKit::FindController::findStringMatches): |
| * WebProcess/WebPage/ViewUpdateDispatcher.cpp: |
| (WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate): |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::createSubframe): |
| (WebKit::WebFrame::create): |
| (WebKit::WebFrame::WebFrame): |
| (WebKit::WebFrame::didReceivePolicyDecision): |
| (WebKit::WebFrame::childFrames): |
| (WebKit::WebFrame::createSelectionSnapshot): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setInjectedBundleContextMenuClient): |
| (WebKit::WebPage::setInjectedBundleFormClient): |
| (WebKit::WebPage::setInjectedBundleUIClient): |
| (WebKit::WebPage::trackedRepaintRects): |
| (WebKit::WebPage::createDocumentLoader): |
| * WebProcess/WebPage/WebPageGroupProxy.cpp: |
| (WebKit::WebPageGroupProxy::addUserContentExtension): |
| * WebProcess/WebPage/WebPageOverlay.cpp: |
| (WebKit::WebPageOverlay::create): |
| (WebKit::WebPageOverlay::WebPageOverlay): |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| (WebKit::LayerTreeHostGtk::RenderFrameScheduler::RenderFrameScheduler): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::computePagesForPrintingAndStartDrawingToPDF): |
| * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm: |
| (WebKit::PlatformCAAnimationRemote::setTimingFunction): |
| (WebKit::PlatformCAAnimationRemote::setValues): |
| (WebKit::PlatformCAAnimationRemote::setTimingFunctions): |
| * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: |
| (WebKit::RemoteLayerTreeContext::layerWasCreated): |
| (WebKit::RemoteLayerTreeContext::buildTransaction): |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::flushLayers): |
| (WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create): |
| (WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::BackingStoreFlusher): |
| (WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::flush): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| (WebKit::WebProcess::transformObjectsToHandles): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenInterfaceContext::setLayerHostingContext): |
| (WebKit::WebVideoFullscreenManager::createModelAndInterface): |
| (WebKit::WebVideoFullscreenManager::setSeekableRanges): |
| * WebProcess/soup/WebKitSoupRequestInputStream.cpp: |
| (webkitSoupRequestInputStreamDidFailWithError): |
| |
| 2016-01-01 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix the iOS and EFL builds, after an over-eager commit-queue commit. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::restoreViewState): |
| * WebProcess/WebPage/efl/WebPageEfl.cpp: |
| (WebKit::WebPage::restorePageState): |
| |
| 2016-01-01 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix naming in HistoryItem to refer to scrollPositions |
| https://bugs.webkit.org/show_bug.cgi?id=152646 |
| |
| Reviewed by Zalan Bujtas. |
| |
| HistoryItem stores a scrollPosition, so call it that. |
| |
| No behavior change. |
| |
| * Shared/SessionState.cpp: |
| (WebKit::FrameState::encode): |
| (WebKit::FrameState::decode): |
| * Shared/SessionState.h: |
| * UIProcess/mac/LegacySessionStateCoding.cpp: |
| (WebKit::encodeFrameStateNode): |
| (WebKit::decodeBackForwardTreeNode): |
| * WebProcess/WebCoreSupport/SessionStateConversion.cpp: |
| (WebKit::toFrameState): |
| (WebKit::applyFrameState): |
| |
| 2016-01-01 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix reload and programmatic scrolling in RTL documents |
| https://bugs.webkit.org/show_bug.cgi?id=152639 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Reloading a left-scrolled RTL document would cause the content to appear |
| at an odd offset, and programmatic sideways scrolls in RTL documents also |
| jumped to the wrong location. |
| |
| Fix by resolving offset/position confusion in ScrollableArea::scrollPositionChanged() |
| and the scrolling tree. |
| |
| ScrollableArea::scrollPositionChanged() was erroneously passing a scrollPosition |
| to setScrollOffset(). |
| |
| ScrollingTreeFrameScrollingNode* were confused about offsets and positions. It |
| turns out that the layer position is just -scrollPosition, but minimumScrollPosition() |
| and maximumScrollPosition() need fixing to return positions, not offsets. |
| |
| ScrollingTreeFrameScrollingNode::viewToContentsOffset() was also doing incorrect |
| math with scrollOrigin, which was detected by a failing test. |
| |
| Add more logging to the Scrolling channel. |
| |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h: |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::PDFPlugin::setScrollOffset): |
| |
| 2016-01-01 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [SOUP] REGRESSION(r192761): Broke resource URIs for applications that use g_resource_load in a web extension |
| https://bugs.webkit.org/show_bug.cgi?id=152634 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Load GResource URIs locally, not in the network process. Applications expect calling |
| g_resource_load in a web extension to make it possible to load resource URIs, but that |
| doesn't work now that the network process is in use. Loading them locally solves this. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::scheduleLoad): |
| |
| 2016-01-01 Jeff Miller <jeffm@apple.com> |
| |
| Update user-visible copyright strings to include 2016 |
| https://bugs.webkit.org/show_bug.cgi?id=152531 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: |
| * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: |
| * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: |
| * Info.plist: |
| * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist: |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist: |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: |
| * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist: |
| * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: |
| * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: |
| * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: |
| * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: |
| |
| 2015-12-31 Simon Fraser <simon.fraser@apple.com> |
| |
| Rename documentScrollOffsetRelativeTo* functions |
| https://bugs.webkit.org/show_bug.cgi?id=152632 |
| |
| Reviewed by Zalan Bujtas. |
| |
| ScrollView::documentScrollOffsetRelativeTo* functions return scroll positions, |
| not offsets, so rename them and fix their return types, and fix callers. Make |
| their code more similar. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::determinePrimarySnapshottedPlugIn): |
| (WebKit::WebPage::plugInIntersectsSearchRect): |
| |
| 2015-12-31 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Fix incorrect scrollPosition handling |
| https://bugs.webkit.org/show_bug.cgi?id=152630 |
| |
| Reviewed by Zalan Bujtas. |
| |
| WebPage::updateVisibleContentRects() was setting the ScrollView's scroll position |
| to a scrollOffset, which was counteracted by ScrollView::unobscuredContentRect() |
| adding the scrollOrigin to the scrollPosition, which resulted in the correct |
| rects, but an incorrect scrollPosition. Fix. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::updateVisibleContentRects): |
| |
| 2015-12-31 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed, fix a log message |
| |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::didReceiveResponse): |
| |
| 2015-12-31 David Kilzer <ddkilzer@apple.com> |
| |
| Stop using USE(CFNETWORK) path on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=142540 |
| |
| Step 1/2: Do everything but turn off USE(CFNETWORK) internally. |
| |
| Original patch by Antti Koivisto <antti@apple.com> on 2015-03-10 |
| Reviewed by Daniel Bates. |
| |
| * NetworkProcess/Downloads/ios/DownloadIOS.mm: This is now the |
| USE(CFNETWORK) && !USE(NETWORK_SESSION) code path. |
| * NetworkProcess/Downloads/mac/DownloadMac.mm: This is now the |
| !USE(CFNETWORK) && !USE(NETWORK_SESSION) code path. Make use of |
| NSURLDownloadSPI.h. Ignore a deprecated delcaration warning now |
| that we're using actual header declarations internally. |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): Update for |
| iOS to use NSURLConnection loader. |
| |
| 2015-12-31 Andy Estes <aestes@apple.com> |
| |
| Fix warnings uncovered by migrating to WTF_MOVE |
| https://bugs.webkit.org/show_bug.cgi?id=152601 |
| |
| Reviewed by Daniel Bates. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::actionsForElement): Moving a return value passed to the function by value is redundant, since it |
| will be implicitly moved in this case. |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::actionsForElement): Ditto. |
| |
| 2015-12-30 Simon Fraser <simon.fraser@apple.com> |
| |
| Add explicit conversions between scrollOffset and scrollPostion, and use them in a few places |
| https://bugs.webkit.org/show_bug.cgi?id=152594 |
| |
| Reviewed by Sam Weinig. |
| |
| Add functions to ScrollableArea to convert between scrollPosition and scrollOffset, |
| and use them in places where code did the math with scrollOrigin. |
| |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect): |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect): |
| |
| 2015-12-30 Zan Dobersek <zdobersek@igalia.com> |
| |
| [TexMap] Clean up TextureMapperAnimation, TextureMapperAnimations |
| https://bugs.webkit.org/show_bug.cgi?id=152112 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: |
| (IPC::ArgumentCoder<TextureMapperAnimation>::decode): |
| |
| 2015-12-29 Simon Fraser <simon.fraser@apple.com> |
| |
| Remove ScrollView::scrollOffset() in preparation for scrollOffset vs. scrollPosition clarification |
| https://bugs.webkit.org/show_bug.cgi?id=152589 |
| |
| Reviewed by Sam Weinig. |
| |
| Current code uses scrollOffset vs. scrollPosition interchangeably, and confusingly. |
| Longer term, I plan to make "scrollPosition" be the value that is relative to the |
| contents, i.e. affected by scrollOrigin, and "scrollOffset" be the zero-based value |
| that's used to set scrollbar values. |
| |
| To prepare for this, remove ScrollView::scrollOffset(), which is just the |
| scrollPosition as an IntSize. |
| |
| Add some typedefs in ScrollableArea, which will slowly propagate through the |
| code as position vs. offset is clarified. |
| |
| * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: |
| (WebKit::InjectedBundleRangeHandle::renderedImage): |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h: |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::PDFPlugin::scrollPosition): |
| (WebKit::PDFPlugin::minimumScrollPosition): |
| (WebKit::PDFPlugin::maximumScrollPosition): |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::scrollOffset): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::scrollMainFrameIfNotAtMaxScrollPosition): |
| (WebKit::WebPage::updateMainFrameScrollOffsetPinning): |
| |
| 2015-12-25 Andy Estes <aestes@apple.com> |
| |
| Stop moving local objects in return statements |
| https://bugs.webkit.org/show_bug.cgi?id=152557 |
| |
| Reviewed by Brady Eidson. |
| |
| Calling std::move() on a local object in a return statement prevents the compiler from applying the return value optimization. |
| |
| Clang can warn about these mistakes with -Wpessimizing-move, although only when std::move() is called directly. |
| I found these issues by temporarily replacing WTF::move with std::move and recompiling. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::ExceededDatabaseQuotaRecords::createRecord): |
| |
| 2015-12-26 Joonghun Park <jh718.park@samsung.com> |
| |
| [WK2][EFL] Use eina_file_path_join at platformDefaultIconDatabasePath in WebProcessPoolEfl |
| https://bugs.webkit.org/show_bug.cgi?id=152565 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Use eina_file_path_join and EINA_PATH_SEP_S at platformDefaultIconDatabasePath |
| instead of operator+ and separator "/" respectively |
| to concatenate paths. |
| |
| * UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp: |
| * UIProcess/efl/WebProcessPoolEfl.cpp: |
| (WebKit::WebProcessPool::platformDefaultIconDatabasePath): |
| |
| 2015-12-25 David Kilzer <ddkilzer@apple.com> |
| |
| ResourceError should store failingURL as URL instead of String to avoid reparsing and to address FIXME comments in ResourceErrorCF.cpp and ResourceErrorMac.mm |
| <http://webkit.org/b/146391> |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp: |
| (WebKit::platformDownloadNetworkError): |
| * NetworkProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp: |
| (WebKit::platformDownloadNetworkError): |
| * NetworkProcess/Downloads/soup/DownloadSoup.cpp: |
| (WebKit::DownloadClient::didReceiveResponse): |
| * NetworkProcess/Downloads/soup/DownloadSoupErrors.h: |
| * Shared/soup/WebCoreArgumentCodersSoup.cpp: |
| (IPC::ArgumentCoder<ResourceError>::encodePlatformData): |
| (IPC::ArgumentCoder<ResourceError>::decodePlatformData): |
| * UIProcess/API/gtk/WebKitLoaderClient.cpp: |
| (LoaderClient::didFailProvisionalLoadWithErrorForFrame): |
| (LoaderClient::didFailLoadWithErrorForFrame): |
| * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: |
| (webkit_uri_scheme_request_finish_error): |
| * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: |
| (WebKit::internalError): |
| * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: |
| (WebKit::internalError): |
| - Update for type change of 'failingURL' argument to |
| ResourceError(). |
| |
| 2015-12-23 Simon Fraser <simon.fraser@apple.com> |
| |
| Use "constrainedBetween" in more places |
| https://bugs.webkit.org/show_bug.cgi?id=152543 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Replace code that contrains points via shrunkTo/expandedTo() with calls |
| to constrainedBetween(), and implement constrainedBetween() on IntPoint, |
| FloatPoint and LayoutPoint. |
| |
| Convert some functions that return points to more modern syntax. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (constrainContentOffset): |
| |
| 2015-12-22 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [EFL] ewk_application_cache_manager test failed after r193812 |
| https://bugs.webkit.org/show_bug.cgi?id=152498 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Need to enable the offline_web_application_cache for the ewk_application_cache_manager test. |
| |
| * UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp: |
| (TEST_F): |
| |
| 2015-12-22 Andy Estes <aestes@apple.com> |
| |
| [CF] Replace CFNetwork-related WebKitSystemInterface calls with SPI |
| https://bugs.webkit.org/show_bug.cgi?id=152463 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Replaced WebkitSystemInterface calls that wrapped CFNetwork SPI with direct calls to SPI that is now forward |
| declared in CFNetworkSPI.h. |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::initializeNetworkSettings): |
| * NetworkProcess/mac/NetworkProcessMac.mm: |
| (WebKit::overrideSystemProxies): |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: |
| (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): |
| |
| 2015-12-22 Brent Fulgham <bfulgham@apple.com> |
| |
| Allow JavaScript to iterate over plugins for local SecurityOrigins |
| https://bugs.webkit.org/show_bug.cgi?id=152489 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| The 'getWebVisiblePluginInfo' is filtering plugins, even when we want to list |
| all plugins. To avoid this, we check the Document's SecurityOrigin. If no such |
| origin exists, we construct a SecurityOrigin from the URL. |
| |
| If the relevant SecurityOrigin satsifies 'isLocal', we show all plugins. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::getWebVisiblePluginInfo): |
| |
| 2015-12-21 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [EFL] test_ewk2_context failed after r192808 |
| https://bugs.webkit.org/show_bug.cgi?id=151846 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| As we can make the single WebProcess behavior by setting the miximum number |
| of WebProcess to 1 after r192808, I remove the ewk_context_process_model_{set|get} |
| apis and add the ewk_context_web_process_count_limit_{set|get} apis and tests. |
| |
| * UIProcess/API/efl/ewk_context.cpp: |
| (EwkContext::EwkContext): |
| (EwkContext::setProcessCountLimit): |
| (EwkContext::processCountLimit): |
| (ewk_context_web_process_count_limit_set): |
| (ewk_context_web_process_count_limit_get): |
| (EwkContext::setProcessModel): Deleted. |
| (EwkContext::processModel): Deleted. |
| (ewk_context_process_model_set): Deleted. |
| (ewk_context_process_model_get): Deleted. |
| * UIProcess/API/efl/ewk_context.h: |
| * UIProcess/API/efl/ewk_context_private.h: |
| * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: |
| (EWK2UnitTest::EWK2UnitTestBase::SetUp): |
| * UIProcess/API/efl/tests/test_ewk2_context.cpp: |
| (TEST_F): Changed the ewk_context_{web|network}_process_model tests to |
| ewk_context_{web|network}_process_count_limit tests. |
| |
| 2015-12-21 Joonghun Park <jh718.park@samsung.com> |
| |
| [WK2][EFL] Use cacheDirectoryFileSystemRepresentation and websiteDataDirectoryFileSystemRepresentation |
| to refactor APIWebsiteDataStoreEfl |
| https://bugs.webkit.org/show_bug.cgi?id=152475 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Use cacheDirectoryFileSystemRepresentation and websiteDataDirectoryFileSystemRepresentation |
| instead of to use efreet_cache_home_get |
| and efreet_data_home_get directly. |
| And also use EINA_PATH_SEP_S instead of "/" as directory separator, |
| and WebCore::pathByAppendingComponent instead of operator+. |
| |
| * UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp: |
| (API::WebsiteDataStore::defaultApplicationCacheDirectory): |
| (API::WebsiteDataStore::defaultNetworkCacheDirectory): |
| (API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory): |
| (API::WebsiteDataStore::defaultLocalStorageDirectory): |
| (API::WebsiteDataStore::defaultMediaKeysStorageDirectory): |
| (API::WebsiteDataStore::defaultWebSQLDatabaseDirectory): |
| (API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation): |
| (API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation): |
| |
| 2015-12-21 Antti Koivisto <antti@apple.com> |
| |
| Factor NetworkResourceLoader code for storing a cache entry into a function |
| https://bugs.webkit.org/show_bug.cgi?id=152467 |
| |
| Reviewed by Andreas Kling. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didFinishLoading): |
| |
| Having m_cacheEntryForValidation already implies canUseCache() so remove the test from this path. |
| Move storing to the end of the function so we don't delay DidFinishResourceLoad message on it. |
| |
| (WebKit::NetworkResourceLoader::sendBufferMaybeAborting): |
| (WebKit::NetworkResourceLoader::tryStoreAsCacheEntry): |
| |
| Factor to a function. |
| Remove m_response.isHTTP() test as it is covered by NetworkCache::store(). |
| Remove !isPrivateSession test as it is covered by NetworkResourceLoader::canUseCache(). |
| |
| (WebKit::NetworkResourceLoader::didRetrieveCacheEntry): |
| * NetworkProcess/NetworkResourceLoader.h: |
| |
| 2015-12-21 Antti Koivisto <antti@apple.com> |
| |
| Limit cached redirect chain length |
| https://bugs.webkit.org/show_bug.cgi?id=152477 |
| |
| Reviewed by Andreas Kling. |
| |
| Networking layer prevents cycles and limits the redirect chain length so creating cache cycles is difficult. |
| For robustness the network cache should still limit the maximum redirect chain length. |
| |
| This patch adds a limit of five redirects both when storing and retrieving cache entries. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::canUseCache): |
| (WebKit::NetworkResourceLoader::canUseCachedRedirect): |
| (WebKit::NetworkResourceLoader::willSendRedirectedRequest): |
| (WebKit::NetworkResourceLoader::continueWillSendRequest): |
| (WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry): |
| * NetworkProcess/NetworkResourceLoader.h: |
| |
| 2015-12-21 Dan Bernstein <mitz@apple.com> |
| |
| Different and incorrect flags are passed to sendSync when accessibility is enabled, SpinRunLoopWhileWaitingForReply |
| https://bugs.webkit.org/show_bug.cgi?id=126021 |
| |
| Reviewed by Darin Adler. |
| |
| Get rid of SpinRunLoopWhileWaitingForReply because it’s not used anymore. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::waitForSyncReply): Removed the SpinRunLoopWhileWaitingForReply branch. |
| |
| * Platform/IPC/Connection.h: Removed SpinRunLoopWhileWaitingForReply. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel): Don’t check |
| WebPage::synchronousMessagesShouldSpinRunLoop() and don’t specify |
| SpinRunLoopWhileWaitingForReply. |
| (WebKit::WebChromeClient::runJavaScriptAlert): Ditto. |
| (WebKit::WebChromeClient::runJavaScriptConfirm): Ditto. |
| (WebKit::WebChromeClient::runJavaScriptPrompt): Ditto. |
| (WebKit::WebChromeClient::print): Ditto. |
| (WebKit::WebChromeClient::exceededDatabaseQuota): Ditto. |
| (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): Ditto. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Ditto. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::synchronousMessagesShouldSpinRunLoop): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2015-12-20 Joonghun Park <jh718.park@samsung.com> |
| |
| [WK2][EFL] Use WebsiteDataStore instead of WebDatabaseManager which has been deleted in r194295 |
| https://bugs.webkit.org/show_bug.cgi?id=152460 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Use WebsiteDataStore to support EFL WebDatabase API and to fix build break. |
| |
| * PlatformEfl.cmake: |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| * UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp: Copied from Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp. |
| (API::WebsiteDataStore::defaultApplicationCacheDirectory): |
| (API::WebsiteDataStore::defaultNetworkCacheDirectory): |
| (API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory): |
| (API::WebsiteDataStore::defaultLocalStorageDirectory): |
| (API::WebsiteDataStore::defaultMediaKeysStorageDirectory): |
| (API::WebsiteDataStore::defaultWebSQLDatabaseDirectory): |
| (API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation): |
| (API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation): |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): |
| * UIProcess/API/efl/ewk_context.cpp: |
| (EwkContext::EwkContext): |
| * UIProcess/API/efl/ewk_database_manager.cpp: |
| (EwkDatabaseManager::EwkDatabaseManager): |
| (EwkDatabaseManager::getDatabaseOrigins): |
| * UIProcess/API/efl/ewk_database_manager_private.h: |
| * UIProcess/efl/WebProcessPoolEfl.cpp: |
| (WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory): |
| |
| 2015-12-20 Dan Bernstein <mitz@apple.com> |
| |
| Remove unused setToolbarHeight |
| https://bugs.webkit.org/show_bug.cgi?id=152466 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted. |
| * UIProcess/WebInspectorProxy.h: |
| (WebKit::WebInspectorProxy::setToolbarHeight): Deleted. |
| * UIProcess/WebInspectorProxy.messages.in: |
| * UIProcess/efl/WebInspectorProxyEfl.cpp: |
| (WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted. |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted. |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted. |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| (WebKit::WebInspectorUI::setToolbarHeight): Deleted. |
| * WebProcess/WebPage/WebInspectorUI.h: |
| |
| 2015-12-19 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] WebKit contains dead source code for OS X Mavericks and earlier |
| https://bugs.webkit.org/show_bug.cgi?id=152462 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| - Removed build setting definitions for OS X 10.9 and earlier, and simplified defintions |
| that became uniform across all OS X versions as a result: |
| |
| * Configurations/BaseTarget.xcconfig: |
| * Configurations/BaseXPCService.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| * Configurations/FeatureDefines.xcconfig: |
| * Configurations/Version.xcconfig: |
| * Configurations/WebKit.xcconfig: |
| |
| - Removed the definition of BUNDLE_LOCALIZATION_KEY: |
| |
| * Configurations/WebContentService.Development.xcconfig: |
| * Configurations/WebContentService.xcconfig: |
| |
| - Added CFBundleFollowParentLocalization set to true: |
| |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: |
| |
| * WebKit2.xcodeproj/project.pbxproj: Removed the “Add CFBundle Localization Info.plist Key” |
| script build phases from the Web Content Service targets. |
| |
| - Simplified expressions involving __MAC_OS_X_VERSION_MIN_REQUIRED and removed code that was |
| never getting compiled: |
| |
| * DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: |
| * Platform/IPC/mac/ConnectionMac.mm: |
| * Platform/IPC/mac/ImportanceAssertion.h: |
| * Platform/mac/MenuUtilities.h: |
| * Platform/mac/MenuUtilities.mm: |
| * Platform/mac/StringUtilities.h: |
| * Platform/mac/StringUtilities.mm: |
| * Shared/API/Cocoa/WKFoundation.h: |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm: |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| * UIProcess/mac/PageClientImpl.mm: |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| * WebProcess/WebPage/FindController.cpp: |
| * WebProcess/WebPage/WebPage.cpp: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| * config.h: |
| |
| 2015-12-18 Antti Koivisto <antti@apple.com> |
| |
| Cache redirects as separate entries |
| https://bugs.webkit.org/show_bug.cgi?id=152424 |
| |
| Reviewed by Alex Christensen. |
| |
| We are currently caching redirect chains. This has correctness issues and can be inefficient in cases |
| where multiple URLs redirect to the same destination. |
| |
| After this patch we write a cache entry for each redirect individually. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::sharedWillSendRedirectedRequest): |
| * NetworkProcess/NetworkLoad.h: |
| (WebKit::NetworkLoad::currentRequest): |
| (WebKit::NetworkLoad::clearCurrentRequest): |
| * NetworkProcess/NetworkLoadClient.h: |
| |
| Add original request as a parameter for willSendRedirectedRequest. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::~NetworkResourceLoader): |
| (WebKit::NetworkResourceLoader::canUseCache): |
| |
| Factor to a function. |
| |
| (WebKit::NetworkResourceLoader::isSynchronous): |
| (WebKit::NetworkResourceLoader::start): |
| (WebKit::NetworkResourceLoader::retrieveCacheEntry): |
| |
| Factor to a function. |
| Call dispatchWillSendRequestForCacheEntry for cached redirects. |
| |
| (WebKit::NetworkResourceLoader::startNetworkLoad): |
| |
| Make this take request as argument instead of always loading originalRequest(). |
| |
| (WebKit::NetworkResourceLoader::abort): |
| (WebKit::NetworkResourceLoader::didFinishLoading): |
| |
| Remove redirect chain code. |
| Store cache entry for current request instead of the original request. |
| |
| (WebKit::NetworkResourceLoader::didFailLoading): |
| (WebKit::NetworkResourceLoader::willSendRedirectedRequest): |
| |
| Write cache entry for redirect. |
| |
| (WebKit::NetworkResourceLoader::continueWillSendRequest): |
| |
| If we are playing back cached redirect continue with another cache lookup. |
| |
| (WebKit::NetworkResourceLoader::didRetrieveCacheEntry): |
| |
| No need to synthesize fake willSendRequest anymore. |
| |
| (WebKit::NetworkResourceLoader::validateCacheEntry): |
| (WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry): |
| |
| Route via web process willSendRequest so cached redirects looks exactly like network ones. |
| |
| (WebKit::NetworkResourceLoader::messageSenderConnection): |
| * NetworkProcess/NetworkResourceLoader.h: |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::makeUseDecision): |
| |
| Ignore validation headers for cached redirects. |
| |
| (WebKit::NetworkCache::makeRetrieveDecision): |
| (WebKit::NetworkCache::makeStoreDecision): |
| (WebKit::NetworkCache::Cache::retrieve): |
| (WebKit::NetworkCache::Cache::store): |
| |
| Rename originalRequest -> request since it is not really the original request anymore in all cases. |
| |
| (WebKit::NetworkCache::Cache::storeRedirect): |
| |
| Stored redirects include the network layer generated ResourceRequest instead of body data. |
| |
| (WebKit::NetworkCache::Cache::update): |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::Entry): |
| |
| New constructor for making redirect entries. |
| |
| (WebKit::NetworkCache::Entry::encodeAsStorageRecord): |
| (WebKit::NetworkCache::Entry::decodeStorageRecord): |
| |
| Encoding support. |
| |
| * NetworkProcess/cache/NetworkCacheEntry.h: |
| (WebKit::NetworkCache::Entry::varyingRequestHeaders): |
| (WebKit::NetworkCache::Entry::redirectRequest): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: |
| (WebKit::NetworkCache::SpeculativeLoad::~SpeculativeLoad): |
| (WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: |
| * NetworkProcess/cache/NetworkCacheStatistics.cpp: |
| (WebKit::NetworkCache::cachedEntryReuseFailureToDiagnosticKey): |
| |
| 2015-12-18 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Avoid triggering clang's -Wundefined-bool-conversion |
| https://bugs.webkit.org/show_bug.cgi?id=152408 |
| |
| Reviewed by Mark Lam. |
| |
| Use ASSERT_THIS_GC_OBJECT_INHERITS where needed. |
| |
| * WebProcess/Plugins/Netscape/JSNPObject.cpp: |
| (WebKit::JSNPObject::callMethod): |
| (WebKit::JSNPObject::callObject): |
| (WebKit::JSNPObject::callConstructor): |
| (WebKit::JSNPObject::deleteProperty): |
| |
| 2015-12-15 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of WebDatabaseManager, it's been replaced by WebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=152318 |
| |
| Reviewed by Tim Horton. |
| |
| Build fixes by Ossy. |
| |
| * DerivedSources.make: |
| * Shared/API/APIObject.h: |
| * Shared/API/c/WKBase.h: |
| * UIProcess/API/C/WKAPICast.h: |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextGetDatabaseManager): Deleted. |
| * UIProcess/API/C/WKContext.h: |
| * UIProcess/API/C/WKDatabaseManager.cpp: Removed. |
| (WKDatabaseManagerGetTypeID): Deleted. |
| (WKDatabaseManagerGetOriginKey): Deleted. |
| (WKDatabaseManagerGetOriginQuotaKey): Deleted. |
| (WKDatabaseManagerGetOriginUsageKey): Deleted. |
| (WKDatabaseManagerGetDatabaseDetailsKey): Deleted. |
| (WKDatabaseManagerGetDatabaseDetailsNameKey): Deleted. |
| (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey): Deleted. |
| (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey): Deleted. |
| (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey): Deleted. |
| (WKDatabaseManagerGetDatabaseDetailsCreationTimeKey): Deleted. |
| (WKDatabaseManagerGetDatabaseDetailsModificationTimeKey): Deleted. |
| (WKDatabaseManagerSetClient): Deleted. |
| (WKDatabaseManagerGetDatabasesByOrigin): Deleted. |
| (WKDatabaseManagerGetDatabaseOrigins): Deleted. |
| (WKDatabaseManagerDeleteDatabasesWithNameForOrigin): Deleted. |
| (WKDatabaseManagerDeleteDatabasesForOrigin): Deleted. |
| (WKDatabaseManagerDeleteAllDatabases): Deleted. |
| (WKDatabaseManagerSetQuotaForOrigin): Deleted. |
| * UIProcess/API/C/WKDatabaseManager.h: Removed. |
| * UIProcess/WebDatabaseManagerProxy.cpp: Removed. |
| (WebKit::WebDatabaseManagerProxy::supplementName): Deleted. |
| (WebKit::WebDatabaseManagerProxy::originKey): Deleted. |
| (WebKit::WebDatabaseManagerProxy::originQuotaKey): Deleted. |
| (WebKit::WebDatabaseManagerProxy::originUsageKey): Deleted. |
| (WebKit::WebDatabaseManagerProxy::databaseDetailsKey): Deleted. |
| (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey): Deleted. |
| (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey): Deleted. |
| (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey): Deleted. |
| (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey): Deleted. |
| (WebKit::WebDatabaseManagerProxy::databaseDetailsCreationTimeKey): Deleted. |
| (WebKit::WebDatabaseManagerProxy::databaseDetailsModificationTimeKey): Deleted. |
| (WebKit::WebDatabaseManagerProxy::create): Deleted. |
| (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy): Deleted. |
| (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy): Deleted. |
| (WebKit::WebDatabaseManagerProxy::initializeClient): Deleted. |
| (WebKit::WebDatabaseManagerProxy::processPoolDestroyed): Deleted. |
| (WebKit::WebDatabaseManagerProxy::processDidClose): Deleted. |
| (WebKit::WebDatabaseManagerProxy::shouldTerminate): Deleted. |
| (WebKit::WebDatabaseManagerProxy::refWebContextSupplement): Deleted. |
| (WebKit::WebDatabaseManagerProxy::derefWebContextSupplement): Deleted. |
| (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin): Deleted. |
| (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): Deleted. |
| (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): Deleted. |
| (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): Deleted. |
| (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin): Deleted. |
| (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): Deleted. |
| (WebKit::WebDatabaseManagerProxy::deleteAllDatabases): Deleted. |
| (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin): Deleted. |
| (WebKit::WebDatabaseManagerProxy::didModifyOrigin): Deleted. |
| (WebKit::WebDatabaseManagerProxy::didModifyDatabase): Deleted. |
| * UIProcess/WebDatabaseManagerProxy.h: Removed. |
| * UIProcess/WebDatabaseManagerProxy.messages.in: Removed. |
| * UIProcess/WebDatabaseManagerProxyClient.cpp: Removed. |
| (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin): Deleted. |
| (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase): Deleted. |
| * UIProcess/WebDatabaseManagerProxyClient.h: Removed. |
| * UIProcess/WebProcessPool.cpp: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: Removed. |
| (WebKit::WebDatabaseManager::supplementName): Deleted. |
| (WebKit::WebDatabaseManager::WebDatabaseManager): Deleted. |
| (WebKit::WebDatabaseManager::initialize): Deleted. |
| (WebKit::WebDatabaseManager::getDatabasesByOrigin): Deleted. |
| (WebKit::WebDatabaseManager::getDatabaseOrigins): Deleted. |
| (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin): Deleted. |
| (WebKit::WebDatabaseManager::deleteDatabasesForOrigin): Deleted. |
| (WebKit::WebDatabaseManager::deleteAllDatabases): Deleted. |
| (WebKit::WebDatabaseManager::closeAllDatabases): Deleted. |
| (WebKit::WebDatabaseManager::setQuotaForOrigin): Deleted. |
| (WebKit::WebDatabaseManager::dispatchDidModifyOrigin): Deleted. |
| (WebKit::WebDatabaseManager::dispatchDidModifyDatabase): Deleted. |
| * WebProcess/WebCoreSupport/WebDatabaseManager.h: Removed. |
| * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Removed. |
| * WebProcess/WebCoreSupport/ios/WebDatabaseManagerIOS.mm: Removed. |
| (WebKit::WebDatabaseManager::dispatchDidAddNewOrigin): Deleted. |
| (WebKit::WebDatabaseManager::dispatchDidDeleteDatabase): Deleted. |
| (WebKit::WebDatabaseManager::dispatchDidDeleteDatabaseOrigin): Deleted. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::processWillSuspendImminently): |
| (WebKit::m_webSQLiteDatabaseTracker): Deleted. |
| |
| 2015-12-18 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Unreviewed, fix GtkDoc after r193620 |
| |
| * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: |
| |
| 2015-12-18 Dan Bernstein <mitz@apple.com> |
| |
| WebPage::didCompleteUserMediaPermissionCheck and WebPage::didReceiveUserMediaPermissionDecision are exported |
| https://bugs.webkit.org/show_bug.cgi?id=152429 |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/WebPage/WebPage.h: Removed WK_EXPORT specifiers from these two declarations. |
| |
| 2015-12-18 Alex Christensen <achristensen@webkit.org> |
| |
| Move networking code from Shared to NetworkProcess |
| https://bugs.webkit.org/show_bug.cgi?id=152421 |
| |
| Reviewed by Antti Koivisto. |
| |
| Since recently removing the non-NetworkProcess configurations, this code is no longer shared with the WebProcess. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * NetworkProcess/CustomProtocols: Copied from Source/WebKit2/Shared/Network/CustomProtocols. |
| * NetworkProcess/Downloads: Copied from Source/WebKit2/Shared/Downloads. |
| * NetworkProcess/Downloads/Download.cpp: Copied from Source/WebKit2/Shared/Downloads/Download.cpp. |
| * NetworkProcess/Downloads/Download.h: Copied from Source/WebKit2/Shared/Downloads/Download.h. |
| * NetworkProcess/Downloads/DownloadID.h: Copied from Source/WebKit2/Shared/Downloads/DownloadID.h. |
| * NetworkProcess/Downloads/DownloadManager.cpp: Copied from Source/WebKit2/Shared/Downloads/DownloadManager.cpp. |
| * NetworkProcess/Downloads/DownloadManager.h: Copied from Source/WebKit2/Shared/Downloads/DownloadManager.h. |
| * NetworkProcess/NetworkProcessCreationParameters.cpp: Copied from Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.cpp. |
| * NetworkProcess/NetworkProcessCreationParameters.h: Copied from Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.h. |
| * NetworkProcess/NetworkProcessSupplement.h: Copied from Source/WebKit2/Shared/Network/NetworkProcessSupplement.h. |
| * NetworkProcess/NetworkResourceLoadParameters.cpp: Copied from Source/WebKit2/Shared/Network/NetworkResourceLoadParameters.cpp. |
| * NetworkProcess/NetworkResourceLoadParameters.h: Copied from Source/WebKit2/Shared/Network/NetworkResourceLoadParameters.h. |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| * PlatformMac.cmake: |
| * Shared/Downloads: Removed. |
| * Shared/Downloads/Download.cpp: Removed. |
| * Shared/Downloads/Download.h: Removed. |
| * Shared/Downloads/DownloadAuthenticationClient.cpp: Removed. |
| * Shared/Downloads/DownloadAuthenticationClient.h: Removed. |
| * Shared/Downloads/DownloadID.h: Removed. |
| * Shared/Downloads/DownloadManager.cpp: Removed. |
| * Shared/Downloads/DownloadManager.h: Removed. |
| * Shared/Downloads/cocoa: Removed. |
| * Shared/Downloads/cocoa/DownloadCocoa.mm: Removed. |
| * Shared/Downloads/efl: Removed. |
| * Shared/Downloads/efl/DownloadSoupErrorsEfl.cpp: Removed. |
| * Shared/Downloads/gtk: Removed. |
| * Shared/Downloads/gtk/DownloadSoupErrorsGtk.cpp: Removed. |
| * Shared/Downloads/ios: Removed. |
| * Shared/Downloads/ios/DownloadIOS.mm: Removed. |
| * Shared/Downloads/mac: Removed. |
| * Shared/Downloads/mac/DownloadMac.mm: Removed. |
| * Shared/Downloads/soup: Removed. |
| * Shared/Downloads/soup/DownloadSoup.cpp: Removed. |
| * Shared/Downloads/soup/DownloadSoupErrors.h: Removed. |
| * Shared/Network: Removed. |
| * Shared/Network/CustomProtocols: Removed. |
| * Shared/Network/CustomProtocols/Cocoa: Removed. |
| * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Removed. |
| * Shared/Network/CustomProtocols/CustomProtocolManager.h: Removed. |
| * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: Removed. |
| * Shared/Network/CustomProtocols/soup: Removed. |
| * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: Removed. |
| * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: Removed. |
| * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: Removed. |
| * Shared/Network/NetworkProcessCreationParameters.cpp: Removed. |
| * Shared/Network/NetworkProcessCreationParameters.h: Removed. |
| * Shared/Network/NetworkProcessSupplement.h: Removed. |
| * Shared/Network/NetworkResourceLoadParameters.cpp: Removed. |
| * Shared/Network/NetworkResourceLoadParameters.h: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-12-18 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| LayerTreeHostGtk triggers -Wunused-private-field |
| https://bugs.webkit.org/show_bug.cgi?id=152410 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Remove the unused member variable. |
| |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: |
| |
| 2015-12-18 Alex Christensen <achristensen@webkit.org> |
| |
| Add types for DownloadID and TaskIdentifier |
| https://bugs.webkit.org/show_bug.cgi?id=152401 |
| |
| Reviewed by Brady Eidson. |
| |
| DownloadID and TaskIdentifier used to both be just uint64_t's. |
| It is confusing to distinguish between them, so now they both have names. |
| We need a HashMap<TaskIdentifier, DownloadID> instead of a HashMap<uint64_t, uint64_t>. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::storageSession): |
| (WebKit::NetworkConnectionToWebProcess::startDownload): |
| (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): |
| (WebKit::NetworkProcess::downloadRequest): |
| (WebKit::NetworkProcess::resumeDownload): |
| (WebKit::NetworkProcess::cancelDownload): |
| (WebKit::NetworkProcess::getNetworkProcessStatistics): |
| (WebKit::NetworkProcess::logDiagnosticMessage): |
| (WebKit::NetworkProcess::logDiagnosticMessageWithResult): |
| (WebKit::NetworkProcess::logDiagnosticMessageWithValue): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * NetworkProcess/NetworkSession.h: |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSession::createDataTaskWithRequest): |
| (WebKit::NetworkSession::dataTaskForIdentifier): |
| (WebKit::NetworkDataTask::resume): |
| (WebKit::NetworkDataTask::taskIdentifier): Deleted. |
| * Shared/Downloads/Download.cpp: |
| (WebKit::Download::Download): |
| (WebKit::Download::messageSenderDestinationID): |
| * Shared/Downloads/Download.h: |
| (WebKit::Download::downloadID): |
| * Shared/Downloads/DownloadID.h: Added. |
| (WebKit::DownloadID::DownloadID): |
| (WebKit::DownloadID::operator==): |
| (WebKit::DownloadID::downloadID): |
| (IPC::ArgumentCoder<WebKit::DownloadID>::encode): |
| (IPC::ArgumentCoder<WebKit::DownloadID>::decode): |
| (WTF::DownloadIDHash::hash): |
| (WTF::DownloadIDHash::equal): |
| (WTF::HashTraits<WebKit::DownloadID>::emptyValue): |
| (WTF::HashTraits<WebKit::DownloadID>::constructDeletedValue): |
| (WTF::HashTraits<WebKit::DownloadID>::isDeletedValue): |
| * Shared/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::DownloadManager): |
| (WebKit::DownloadManager::startDownload): |
| (WebKit::DownloadManager::convertHandleToDownload): |
| (WebKit::DownloadManager::resumeDownload): |
| (WebKit::DownloadManager::cancelDownload): |
| * Shared/Downloads/DownloadManager.h: |
| (WebKit::DownloadManager::isDownloading): |
| * UIProcess/API/C/WKDownload.cpp: |
| (WKDownloadGetID): |
| (WKDownloadCopyRequest): |
| * UIProcess/Downloads/DownloadProxy.h: |
| (WebKit::DownloadProxy::downloadID): |
| (WebKit::DownloadProxy::request): |
| (WebKit::DownloadProxy::resumeData): |
| * UIProcess/Downloads/DownloadProxyMap.cpp: |
| (WebKit::DownloadProxyMap::createDownloadProxy): |
| (WebKit::DownloadProxyMap::downloadFinished): |
| (WebKit::DownloadProxyMap::processDidClose): |
| * UIProcess/Downloads/DownloadProxyMap.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::receivedPolicyDecision): |
| (WebKit::WebPageProxy::frameDidBecomeFrameSet): |
| (WebKit::WebPageProxy::decidePolicyForNavigationAction): |
| (WebKit::WebPageProxy::decidePolicyForResponse): |
| (WebKit::WebPageProxy::decidePolicyForResponseSync): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::invalidatePolicyListener): |
| (WebKit::WebFrame::didReceivePolicyDecision): |
| (WebKit::WebFrame::startDownload): |
| (WebKit::WebFrame::convertMainResourceLoadToDownload): |
| * WebProcess/WebPage/WebFrame.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setSessionID): |
| (WebKit::WebPage::didReceivePolicyDecision): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2015-12-17 Dan Bernstein <mitz@apple.com> |
| |
| Fixed a typo from r194022. |
| |
| * Configurations/WebKit.xcconfig: Changed PlugInProcessShim.dylib to PluginProcessShim.dylib. |
| |
| 2015-12-17 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r194250 and r194254. |
| https://bugs.webkit.org/show_bug.cgi?id=152414 |
| |
| broke api tests (Requested by alexchristensen on #webkit). |
| |
| Reverted changesets: |
| |
| "Add types for DownloadID and TaskIdentifier" |
| https://bugs.webkit.org/show_bug.cgi?id=152401 |
| http://trac.webkit.org/changeset/194250 |
| |
| "Build fix after r194250" |
| http://trac.webkit.org/changeset/194254 |
| |
| 2015-12-17 Alex Christensen <achristensen@webkit.org> |
| |
| Build fix after r194250 |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Change target membership from all to WebKit. |
| |
| 2015-12-17 Alex Christensen <achristensen@webkit.org> |
| |
| Add types for DownloadID and TaskIdentifier |
| https://bugs.webkit.org/show_bug.cgi?id=152401 |
| |
| Reviewed by Brady Eidson. |
| |
| DownloadID and TaskIdentifier used to both be just uint64_t's. |
| It is confusing to distinguish between them, so now they both have names. |
| We need a HashMap<TaskIdentifier, DownloadID> instead of a HashMap<uint64_t, uint64_t>. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::storageSession): |
| (WebKit::NetworkConnectionToWebProcess::startDownload): |
| (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): |
| (WebKit::NetworkProcess::downloadRequest): |
| (WebKit::NetworkProcess::resumeDownload): |
| (WebKit::NetworkProcess::cancelDownload): |
| (WebKit::NetworkProcess::getNetworkProcessStatistics): |
| (WebKit::NetworkProcess::logDiagnosticMessage): |
| (WebKit::NetworkProcess::logDiagnosticMessageWithResult): |
| (WebKit::NetworkProcess::logDiagnosticMessageWithValue): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * NetworkProcess/NetworkSession.h: |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSession::createDataTaskWithRequest): |
| (WebKit::NetworkSession::dataTaskForIdentifier): |
| (WebKit::NetworkDataTask::resume): |
| (WebKit::NetworkDataTask::taskIdentifier): Deleted. |
| * Shared/Downloads/Download.cpp: |
| (WebKit::Download::Download): |
| (WebKit::Download::messageSenderDestinationID): |
| * Shared/Downloads/Download.h: |
| (WebKit::Download::downloadID): |
| * Shared/Downloads/DownloadID.h: Added. |
| (WebKit::DownloadID::DownloadID): |
| (WebKit::DownloadID::operator==): |
| (WebKit::DownloadID::downloadID): |
| (IPC::ArgumentCoder<WebKit::DownloadID>::encode): |
| (IPC::ArgumentCoder<WebKit::DownloadID>::decode): |
| (WTF::DownloadIDHash::hash): |
| (WTF::DownloadIDHash::equal): |
| (WTF::HashTraits<WebKit::DownloadID>::emptyValue): |
| (WTF::HashTraits<WebKit::DownloadID>::constructDeletedValue): |
| (WTF::HashTraits<WebKit::DownloadID>::isDeletedValue): |
| * Shared/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::DownloadManager): |
| (WebKit::DownloadManager::startDownload): |
| (WebKit::DownloadManager::convertHandleToDownload): |
| (WebKit::DownloadManager::resumeDownload): |
| (WebKit::DownloadManager::cancelDownload): |
| * Shared/Downloads/DownloadManager.h: |
| (WebKit::DownloadManager::isDownloading): |
| * UIProcess/API/C/WKDownload.cpp: |
| (WKDownloadGetID): |
| (WKDownloadCopyRequest): |
| * UIProcess/Downloads/DownloadProxy.h: |
| (WebKit::DownloadProxy::downloadID): |
| (WebKit::DownloadProxy::request): |
| (WebKit::DownloadProxy::resumeData): |
| * UIProcess/Downloads/DownloadProxyMap.cpp: |
| (WebKit::DownloadProxyMap::createDownloadProxy): |
| (WebKit::DownloadProxyMap::downloadFinished): |
| (WebKit::DownloadProxyMap::processDidClose): |
| * UIProcess/Downloads/DownloadProxyMap.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::receivedPolicyDecision): |
| (WebKit::WebPageProxy::frameDidBecomeFrameSet): |
| (WebKit::WebPageProxy::decidePolicyForNavigationAction): |
| (WebKit::WebPageProxy::decidePolicyForResponse): |
| (WebKit::WebPageProxy::decidePolicyForResponseSync): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::invalidatePolicyListener): |
| (WebKit::WebFrame::didReceivePolicyDecision): |
| (WebKit::WebFrame::startDownload): |
| (WebKit::WebFrame::convertMainResourceLoadToDownload): |
| * WebProcess/WebPage/WebFrame.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setSessionID): |
| (WebKit::WebPage::didReceivePolicyDecision): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2015-12-17 Simon Fraser <simon.fraser@apple.com> |
| |
| Disable viewport "shrink to fit" outside of multitasking mode |
| https://bugs.webkit.org/show_bug.cgi?id=152403 |
| rdar://problem/23818102 |
| |
| Reviewed by Tim Horton. |
| |
| Plumb through a value that indicates whether the WKWebView is in split screen, |
| and use it to conditionally enable shrink-to-fit mode only in split screen. |
| |
| * Shared/VisibleContentRectUpdateInfo.cpp: Added m_allowShrinkToFit, and sort |
| the member variables, and encoding order, to optimize packing, with some initializers. |
| (WebKit::VisibleContentRectUpdateInfo::encode): |
| (WebKit::VisibleContentRectUpdateInfo::decode): |
| * Shared/VisibleContentRectUpdateInfo.h: |
| (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo): |
| (WebKit::VisibleContentRectUpdateInfo::allowShrinkToFit): |
| (WebKit::operator==): |
| * UIProcess/API/Cocoa/WKWebView.mm: Add _allowsViewportShrinkToFit member variable, |
| with getter and setter. |
| (-[WKWebView _updateVisibleContentRects]): Unwrap the line. |
| (-[WKWebView _setAllowsViewportShrinkToFit:]): |
| (-[WKWebView _allowsViewportShrinkToFit]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: _allowsViewportShrinkToFit SPI. |
| * UIProcess/WebPageProxy.h: Pass allowShrinkToFit through. |
| * UIProcess/ios/WKContentView.mm: Ditto. |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::updateVisibleContentRects): Padd allowShrinkToFit to the web process via the VisibleContentRectUpdateInfo. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): Store m_ignoreViewportScalingConstraints in a member variable since we can't |
| get back to the prefs later. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::updateVisibleContentRects): This is the behavior change: call setCanIgnoreScalingConstraints() |
| on the viewport configuration, consulting the pref (via m_ignoreViewportScalingConstraints) and the new |
| visibleContentRectUpdateInfo.allowShrinkToFit(). |
| |
| 2015-12-16 Simon Fraser <simon.fraser@apple.com> |
| |
| ViewportConfiguration functions should return a bool to say if anything changed |
| https://bugs.webkit.org/show_bug.cgi?id=152353 |
| |
| Reviewed by Tim Horton. |
| |
| Rather than callers all checking whether setting ViewportConfiguration values |
| changes state, have its functions return a bool if the values change. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::mainFrameDidLayout): |
| (WebKit::WebPage::didCommitLoad): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::viewportPropertiesDidChange): |
| (WebKit::WebPage::setViewportConfigurationMinimumLayoutSize): |
| |
| 2015-12-16 Alex Christensen <achristensen@webkit.org> |
| |
| Progress towards implementing downloads with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=152371 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::downloadRequest): |
| (WebKit::NetworkProcess::resumeDownload): |
| (WebKit::NetworkProcess::cancelDownload): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * Shared/Authentication/AuthenticationManager.cpp: |
| (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge): |
| * Shared/Authentication/AuthenticationManager.h: |
| * Shared/Downloads/Download.cpp: |
| (WebKit::Download::Download): |
| (WebKit::Download::didReceiveAuthenticationChallenge): |
| * Shared/Downloads/Download.h: |
| * Shared/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::startDownload): |
| (WebKit::DownloadManager::convertHandleToDownload): |
| (WebKit::DownloadManager::resumeDownload): |
| (WebKit::DownloadManager::cancelDownload): |
| (WebKit::DownloadManager::downloadFinished): |
| (WebKit::DownloadManager::didCreateDownload): |
| * Shared/Downloads/DownloadManager.h: |
| * Shared/Downloads/cocoa: Added. |
| * Shared/Downloads/cocoa/DownloadCocoa.mm: Added. |
| (WebKit::Download::start): |
| (WebKit::Download::resume): |
| (WebKit::Download::cancel): |
| (WebKit::Download::platformInvalidate): |
| * Shared/Downloads/ios/DownloadIOS.mm: |
| * Shared/Downloads/mac/DownloadMac.mm: |
| (WebKit::Download::start): |
| (WebKit::Download::startWithHandle): |
| (WebKit::Download::resume): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::resumeDownload): |
| * UIProcess/WebProcessPool.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-12-16 Simon Fraser <simon.fraser@apple.com> |
| |
| ViewportConfiguration functions should return a bool to say if anything changed |
| https://bugs.webkit.org/show_bug.cgi?id=152353 |
| |
| Reviewed by Tim Horton. |
| |
| Rather than callers all checking whether setting ViewportConfiguration values |
| changes state, have its functions return a bool if the values change. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::mainFrameDidLayout): |
| (WebKit::WebPage::didCommitLoad): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::viewportPropertiesDidChange): |
| (WebKit::WebPage::setViewportConfigurationMinimumLayoutSize): |
| |
| 2015-12-16 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r191299): Zoom gestures are enabled even if allowsMagnification=NO |
| https://bugs.webkit.org/show_bug.cgi?id=152373 |
| <rdar://problem/23931998> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCoreFromViewOnly): |
| Don't pass the event on to ViewGestureController if we shouldn't handle it, |
| just like we would have done in magnifyWithEvent before. |
| |
| 2015-12-16 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r194125): Crashes in touchesEndedWithEvent on occasion when interacting with the page |
| https://bugs.webkit.org/show_bug.cgi?id=152366 |
| <rdar://problem/23929672> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::touchesEndedWithEvent): |
| (WebKit::WebViewImpl::touchesCancelledWithEvent): |
| NSTouch identifiers aren't pointer-comparable. We need to use isEqual to |
| compare them and find the ones to remove. |
| |
| 2015-12-16 Simon Fraser <simon.fraser@apple.com> |
| |
| Simplify isOverlayScrollbar() logic |
| https://bugs.webkit.org/show_bug.cgi?id=152357 |
| |
| Reviewed by Beth Dakin. |
| |
| Replace code that checks for isOverlayScrollbar() explicitly with calls to new |
| occupiedWidth()/occupiedHeight() functions on Scrollbar, which do the overlay |
| scrollbar check internally. |
| |
| Add ScrollableArea::scrollbarIntrusion() which returns an IntSize with the occupiedWidth |
| and occupiedHeight of any scrollbars, and use it in a few places. |
| |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::PDFPlugin::updateScrollbars): |
| (WebKit::PDFPlugin::maximumScrollPosition): |
| |
| 2015-12-16 Alex Christensen <achristensen@webkit.org> |
| |
| Build fix when using NETWORK_SESSION after r193972. |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| Renamed NetworkSessionDelegate to WKNetworkSessionDelegate to conform to the |
| newly-enforced style rule in check-for-inappropriate-objc-class-names. |
| |
| * NetworkProcess/NetworkSession.h: |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (toNSURLSessionAuthChallengeDisposition): |
| (-[WKNetworkSessionDelegate initWithNetworkSession:]): |
| (WebKit::NetworkSession::NetworkSession): |
| (-[NetworkSessionDelegate initWithNetworkSession:]): Deleted. |
| |
| 2015-12-16 Alex Christensen <achristensen@webkit.org> |
| |
| Implement Web Timing when using NETWORK_SESSION |
| https://bugs.webkit.org/show_bug.cgi?id=152285 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| (WebKit::NetworkSession::NetworkSession): |
| Use functions moved to ResourceLoadTiming.h. setCollectsTimingData is for Mavericks, _timingDataOptions is post-Mavericks. |
| |
| 2015-12-16 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Fetch API] Add fetch API compile time flag |
| https://bugs.webkit.org/show_bug.cgi?id=152254 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-12-15 Tim Horton <timothy_horton@apple.com> |
| |
| [Mac] Gesture Events should not have negative scale |
| https://bugs.webkit.org/show_bug.cgi?id=151065 |
| <rdar://problem/23474123> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/NativeWebGestureEvent.h: |
| * Shared/mac/NativeWebGestureEventMac.mm: |
| (WebKit::distanceForTouches): |
| (WebKit::NativeWebGestureEvent::NativeWebGestureEvent): |
| Compute the distance between the two oldest touches, and use that as |
| the scale (really the gesture diameter) on the event, instead of |
| passing through AppKit's magnification (which is computed differently). |
| This matches the documented behavior of the existing gesture events on iOS. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView touchesBeganWithEvent:]): |
| (-[WKWebView touchesMovedWithEvent:]): |
| (-[WKWebView touchesEndedWithEvent:]): |
| (-[WKWebView touchesCancelledWithEvent:]): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView touchesBeganWithEvent:]): |
| (-[WKView touchesMovedWithEvent:]): |
| (-[WKView touchesEndedWithEvent:]): |
| (-[WKView touchesCancelledWithEvent:]): |
| Plumb touch events through to WebViewImpl. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::WebViewImpl): |
| (WebKit::WebViewImpl::magnifyWithEvent): |
| (WebKit::WebViewImpl::touchesOrderedByAge): |
| (WebKit::WebViewImpl::touchesBeganWithEvent): |
| (WebKit::WebViewImpl::touchesMovedWithEvent): |
| (WebKit::WebViewImpl::touchesEndedWithEvent): |
| (WebKit::WebViewImpl::touchesCancelledWithEvent): |
| (WebKit::WebViewImpl::rotateWithEvent): |
| Keep track of the most recent incoming touches, by identifier, in age order. |
| Pass them through to NativeWebGestureEvent so it can determine the gesture diameter. |
| |
| 2015-12-15 Anders Carlsson <andersca@apple.com> |
| |
| Call DatabaseManager directly from WKBundle.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=152317 |
| |
| Reviewed by Tim Horton. |
| |
| This is in preparation for getting rid of some old database manager code. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundle.cpp: |
| (WKBundleClearAllDatabases): |
| (WKBundleSetDatabaseQuota): |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::clearAllDatabases): Deleted. |
| (WebKit::InjectedBundle::setDatabaseQuota): Deleted. |
| * WebProcess/InjectedBundle/InjectedBundle.h: |
| |
| 2015-12-15 Daniel Bates <dabates@apple.com> |
| |
| Guard code that uses class LayerTreeHost with USE(COORDINATED_GRAPHICS) or USE(TEXTURE_MAPPER) |
| https://bugs.webkit.org/show_bug.cgi?id=152265 |
| |
| Reviewed by Tim Horton. |
| |
| We neither make use of LayerTreeHost on Mac nor on iOS. We should guard code that makes |
| use of this class as applicable. This also fixes the iOS Simulator build when using |
| Apple Internal software. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: Guard code that used LayerTreeHost. |
| * WebProcess/WebPage/LayerTreeHost.cpp: Guard contents of file with USE(COORDINATED_GRAPHICS) || USE(TEXTURE_MAPPER). |
| * WebProcess/WebPage/LayerTreeHost.h: Ditto. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::scalePage): Ditto. |
| (WebKit::WebPage::setDeviceScaleFactor): Ditto. |
| * WebProcess/WebPage/WebPage.h: Substitute header LayerTreeContext.h for LayerTreeHost.h since we make use |
| of the enum class LayerHostingMode. |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::updateVisibleContentRects): Remove unnecessary code; DrawingArea::layerTreeHost() always |
| returns nullptr on iOS. |
| |
| 2015-12-15 Zan Dobersek <zdobersek@igalia.com> |
| |
| [TexMap] Operate with a reference to the TextureMapper wherever possible |
| https://bugs.webkit.org/show_bug.cgi?id=152118 |
| |
| Reviewed by Martin Robinson. |
| |
| Replace pointers to the TextureMapper object with references. |
| |
| * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: |
| (WebKit::CoordinatedBackingStoreTile::swapBuffers): |
| (WebKit::CoordinatedBackingStore::paintTilesToTextureMapper): |
| (WebKit::CoordinatedBackingStore::paintToTextureMapper): |
| (WebKit::CoordinatedBackingStore::drawBorder): |
| (WebKit::CoordinatedBackingStore::drawRepaintCounter): |
| (WebKit::CoordinatedBackingStore::commitTileOperations): |
| * Shared/CoordinatedGraphics/CoordinatedBackingStore.h: |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext): |
| (WebKit::CoordinatedGraphicsScene::paintToGraphicsContext): |
| (WebKit::CoordinatedGraphicsScene::commitPendingBackingStoreOperations): |
| |
| 2015-12-14 YongGeol Jung <yg48.jung@samsung.com> |
| |
| [Coordinated Graphics] CSS transition effect is not shown when transformed with "%" unit. |
| https://bugs.webkit.org/show_bug.cgi?id=152278 |
| |
| Reviewed by Darin Adler. |
| |
| boxSize is encoded as FloatSize type but decoded as IntSize type. |
| So boxSize gets invalid value after decoding. |
| Due to this layer goes to out of screen during animation. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: |
| (IPC::ArgumentCoder<TextureMapperAnimation>::decode): |
| |
| 2015-12-14 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/23886216> REGRESSION (r194022): Production builds of PluginProcess crash on launch when not installed in /System |
| https://bugs.webkit.org/show_bug.cgi?id=152291 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/PluginProcess.xcconfig: Added a FIXME. |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::addDYLDEnvironmentAdditions): Set DYLD_LIBRARY_PATH to point to where the shims |
| are. This is needed because starting in El Capitan, the processes’ main executables link |
| directly against the shims, so the dynamic linker needs to be able to find them in the |
| non-/System location. Also added a FIXME about not having to set DYLD_INSERT_LIBRARIES when |
| the main executables link the them directly. |
| |
| 2015-12-14 Simon Fraser <simon.fraser@apple.com> |
| |
| Dump some more data in the RemoteLayerTreeTransaction |
| https://bugs.webkit.org/show_bug.cgi?id=152283 |
| |
| Reviewed by Dean Jackson. |
| |
| Dump some scale factors, viewport meta tag width and render tree size. |
| |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::description): |
| |
| 2015-12-14 Tim Horton <timothy_horton@apple.com> |
| |
| Frequent crash under -[WKPDFView web_setMinimumSize:]_block_invoke |
| https://bugs.webkit.org/show_bug.cgi?id=152266 |
| <rdar://problem/22092676> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView web_setMinimumSize:]): |
| We weren't retaining the UIScrollView, but depending on it surviving |
| into this block's invocation. |
| |
| We don't need to do this asynchronously anymore because the referenced |
| bug is fixed, so make it happen synchronously. This also fixes the crash |
| because there's no opportunity for the scroll view to be released. |
| |
| 2015-12-14 Tim Horton <timothy_horton@apple.com> |
| |
| TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate() sets fence port on context twice |
| https://bugs.webkit.org/show_bug.cgi?id=152239 |
| <rdar://problem/22893289> |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: |
| (WebKit::TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate): |
| No need to setFencePort; createFencePort also installs it on the creating context. |
| |
| 2015-12-12 Alex Christensen <achristensen@webkit.org> |
| |
| Use existing code for redirects when using NETWORK_SESSION |
| https://bugs.webkit.org/show_bug.cgi?id=152207 |
| rdar://problem/23860624 |
| |
| Reviewed by Darin Adler. |
| |
| This fixes http/tests/cookies/set-cookie-on-redirect.html when using NETWORK_SESSION. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::continueWillSendRequest): |
| (WebKit::NetworkLoad::convertTaskToDownload): |
| (WebKit::NetworkLoad::willPerformHTTPRedirection): |
| (WebKit::NetworkLoad::didReceiveChallenge): |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkSession.h: |
| |
| 2015-12-13 Tim Horton <timothy_horton@apple.com> |
| |
| Adopt CGIOSurfaceContextCreateImageReference to avoid unnecessary readback |
| https://bugs.webkit.org/show_bug.cgi?id=150988 |
| <rdar://problem/18993594> |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::createSelectionSnapshot): |
| Adopt sinkIntoImage and drawConsumingImageBuffer in a few places. |
| |
| 2015-12-13 Dan Bernstein <mitz@apple.com> |
| |
| Another fix after r194018. |
| |
| * Configurations/BaseTarget.xcconfig: |
| * Configurations/BaseXPCService.xcconfig: |
| |
| 2015-12-13 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] Shims used by XPC services are installed inside legacy process bundles |
| https://bugs.webkit.org/show_bug.cgi?id=152233 |
| |
| Reviewed by Sam Weinig. |
| |
| Have the shim dylibs installed in the framework’s Frameworks directory instead. |
| |
| * Configurations/BaseLegacyProcess.xcconfig: Simplified now that EXCLUDED_SHIM_FILE_NAME is |
| no longer defined, because shims aren’t copied into legacy processes. |
| |
| * Configurations/NetworkProcess.xcconfig: Removed definition of EXCLUDED_SHIM_FILE_NAME. |
| * Configurations/PluginProcess.xcconfig: Ditto. |
| * Configurations/WebContentProcess.xcconfig: Ditto. |
| |
| * Configurations/Shim.xcconfig: Install the shims when building for OS X. Added definitions |
| of INSTALL_PATH and DYLIB_INSTALL_NAME_BASE which are now common to all shims. |
| |
| * Configurations/PluginProcessShim.xcconfig: Removed definitions of INSTALL_PATH and |
| DYLIB_INSTALL_NAME_BASE from here, now that they are defined for all shims in |
| Shim.xcconfig. |
| * Configurations/SecItemShim.xcconfig: Ditto. |
| * Configurations/WebProcessShim.xcconfig: |
| |
| * Configurations/WebKit.xcconfig: Added the shims to EXCLUDED_SOURCE_FILE_NAMES for iOS. |
| |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Changed |
| the value of DYLD_INSERT_LIBRARIES to point to the shim’s new location. |
| * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Ditto. |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Ditto. |
| |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::computeProcessShimPath): Changed to return the new paths, which are all inside the |
| framework’s Frameworks directory. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| - Removed references to WRAPPER_NAME from the “Copy XPC services for engineering builds” |
| build phase in the All target, becase WRAPPER_NAME is empty in an aggregate target. |
| - Removed the PlugInProcess target’s dependency on the PluginProcessShim target and its |
| Copy Plug-in Process Shim build phase. |
| - Removed the NetworkProcess target’s dependency on the SecItemShim target and its Copy |
| Sec Item Shim build phase. |
| - Removed the WebProcess target’s dependency on the WebProcessShim target and its Copy |
| WebProcessShim build phase. |
| - Made the WebKit target depend on the shim targets, and added to it a Copy Shims build |
| phase that copies the shims into the framework’s Frameworks directory. |
| |
| 2015-12-13 Dan Bernstein <mitz@apple.com> |
| |
| Build fix. |
| |
| * Configurations/PluginProcess.xcconfig: |
| |
| 2015-12-13 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] Shims aren’t inserted properly on Yosemite when building with the El Capitan SDK |
| https://bugs.webkit.org/show_bug.cgi?id=152229 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/BaseTarget.xcconfig: Defined WK_LINK_SHIM on OS X to YES or NO based on the |
| target version. |
| * Configurations/BaseXPCService.xcconfig: Define WK_XPC_SERVICE_INFOPLIST_SUFFIX to |
| "-10.9-10.10" when targeting those OS X versions. |
| * Configurations/NetworkService.xcconfig: Use WK_XPC_SERVICE_INFOPLIST_SUFFIX in the |
| definition of INFOPLIST_FILE. Use WK_LINK_SHIM in the definition of OTHER_LDFLAGS. |
| * Configurations/PluginProcess.xcconfig: Use WK_LINK_SHIM in the definition of |
| LDFLAGS_SHIM_Production for OS X. |
| * Configurations/PluginService.32.xcconfig: Use WK_XPC_SERVICE_INFOPLIST_SUFFIX in the |
| definition of INFOPLIST_FILE. Use WK_LINK_SHIM in the definition of OTHER_LDFLAGS. |
| * Configurations/PluginService.64.xcconfig: Ditto. |
| * Configurations/WebContentService.xcconfig: Ditto. |
| |
| 2015-12-12 Katlyn Graff <kgraff@apple.com> |
| |
| Safari background tabs should be fully suspended where possible. |
| https://bugs.webkit.org/show_bug.cgi?id=150515 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Added a runtime flag enabling tab suspension, default off. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::registerUserDefaultsIfNeeded): |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2015-12-11 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Add a setting to allow the mock media capture devices to be enabled and disabled |
| https://bugs.webkit.org/show_bug.cgi?id=152197 |
| |
| Reviewed by Dean Jackson. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetMockCaptureDevicesEnabled): |
| (WKPreferencesGetMockCaptureDevicesEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _mockCaptureDevicesEnabled]): |
| (-[WKPreferences _setMockCaptureDevicesEnabled:]): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2015-12-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| check-for-inappropriate-objc-class-names should check all class names, not just externally visible ones |
| https://bugs.webkit.org/show_bug.cgi?id=152156 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): |
| Rename internal classes with "_WK" prefix. |
| |
| 2015-12-10 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Expose media capture devices persistent permissions to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=152087 |
| |
| Reviewed by Chris Dumez. |
| |
| * CMakeLists.txt: Add UserMediaPermissionCheckProxy.cpp and WKUserMediaPermissionCheck.cpp. |
| |
| * Shared/API/APIObject.h: Define UserMediaPermissionCheck. |
| |
| * Shared/API/c/WKBase.h: Add WKUserMediaPermissionCheckRef typedef. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::checkUserMediaPermissionForOrigin): New. |
| |
| * UIProcess/API/C/WKAPICast.h: Add WKUserMediaPermissionCheckRef/UserMediaPermissionCheckProxy mapping. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): Implement checkUserMediaPermissionForOrigin. |
| |
| * UIProcess/API/C/WKPageUIClient.h: Add WKCheckUserMediaPermissionCallback typedef and add |
| checkUserMediaPermissionForOrigin to WKPageUIClientV6. |
| |
| * UIProcess/API/C/WKUserMediaPermissionCheck.cpp: Added. |
| (WKUserMediaPermissionCheckGetTypeID): |
| (WKUserMediaPermissionCheckSetHasPermission): |
| |
| * UIProcess/API/C/WKUserMediaPermissionCheck.h: Added. |
| |
| * UIProcess/UserMediaPermissionCheckProxy.cpp: Added. |
| (WebKit::UserMediaPermissionCheckProxy::UserMediaPermissionCheckProxy): |
| (WebKit::UserMediaPermissionCheckProxy::setHasPermission): |
| (WebKit::UserMediaPermissionCheckProxy::invalidate): |
| * UIProcess/UserMediaPermissionCheckProxy.h: Added. |
| (WebKit::UserMediaPermissionCheckProxy::create): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): |
| (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): |
| (WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision): |
| (WebKit::UserMediaPermissionRequestManagerProxy::createUserMediaPermissionCheck): |
| (WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::requestUserMediaPermissionForFrame): |
| (WebKit::WebPageProxy::checkUserMediaPermissionForFrame): |
| (WebKit::WebPageProxy::requestNotificationPermission): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| |
| * WebKit2.xcodeproj/project.pbxproj: Add UserMediaPermissionCheckProxy.*, and WKUserMediaPermissionCheck.*. |
| |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: |
| (WebKit::UserMediaPermissionRequestManager::startUserMediaRequest): Renamed from startRequest. |
| (WebKit::UserMediaPermissionRequestManager::cancelUserMediaRequest): Renamed from cancelRequest. |
| (WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision): m_requestToIDMap -> |
| m_userMediaRequestToIDMap.remove. |
| (WebKit::UserMediaPermissionRequestManager::startUserMediaPermissionCheck): New, start the request. |
| (WebKit::UserMediaPermissionRequestManager::cancelUserMediaPermissionCheck): New, cancel |
| the request. |
| (WebKit::UserMediaPermissionRequestManager::didCompleteUserMediaPermissionCheck): New, |
| all the request completion method. |
| (WebKit::UserMediaPermissionRequestManager::startRequest): Deleted. |
| (WebKit::UserMediaPermissionRequestManager::cancelRequest): Deleted. |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: |
| |
| * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: |
| (WebKit::WebUserMediaClient::requestUserMediaAccess): startRequest -> startUserMediaRequest. |
| (WebKit::WebUserMediaClient::cancelUserMediaAccessRequest): cancelRequest -> cancelUserMediaRequest. |
| (WebKit::WebUserMediaClient::checkUserMediaPermission): New. |
| (WebKit::WebUserMediaClient::cancelUserMediaPermissionCheck): New. |
| * WebProcess/WebCoreSupport/WebUserMediaClient.h: |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didCompleteUserMediaPermissionCheck): New. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: Add DidCompleteUserMediaPermissionCheck. |
| |
| 2015-12-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remote Inspector: Verify the identity of the other side of XPC connections |
| https://bugs.webkit.org/show_bug.cgi?id=152153 |
| |
| Reviewed by Brian Burg. |
| |
| * Shared/mac/SandboxUtilities.mm: |
| * UIProcess/ApplicationStateTracker.mm: |
| Use new header. |
| |
| 2015-12-10 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION (r192796) WKBundlePageResourceLoadClient should be able to setHTTPBody in willSendRequestForFrame |
| https://bugs.webkit.org/show_bug.cgi?id=152022 |
| rdar://problem/23763584 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/API/c/WKURLRequest.cpp: |
| (WKURLRequestCopyHTTPMethod): |
| (WKURLRequestCopyWithHTTPBody): |
| (WKURLRequestSetDefaultTimeoutInterval): |
| * Shared/API/c/WKURLRequest.h: |
| Make WKURLRequestCopyWithHTTPBody SPI for testing. |
| * Shared/API/c/mac/WKURLRequestNS.mm: |
| (WKURLRequestCreateWithNSURLRequest): |
| Crash if someone tries to use an NSURLRequest with HTTPBodyStream, which will not work with the network process. |
| * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: |
| (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame): |
| Use an HTTP body if the client's willSendRequestForFrame returned one. |
| This is the functional change of this patch. |
| |
| 2015-12-10 Zan Dobersek <zdobersek@igalia.com> |
| |
| [CoordinatedGraphics] Reserve capacity for the children vector in CoordinatedGraphicsScene::setLayerChildrenIfNeeded() |
| https://bugs.webkit.org/show_bug.cgi?id=152117 |
| |
| Reviewed by Martin Robinson. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::setLayerChildrenIfNeeded): Reserve the capacity |
| for the new Vector that will contain the same number of items as the Vector |
| on the CoordinatedGraphicsLayerState object. |
| |
| 2015-12-09 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Bail out if the page proxy is invalid when WebPageProxy::processWillBecome{Foreground, Suspended}() are called |
| https://bugs.webkit.org/show_bug.cgi?id=151877 |
| |
| Reviewed by Darin Adler. |
| |
| We cannot assume that a WebPageProxy is in a valid state when WebPageProxy::processWillBecome{Foreground, Suspended}() |
| are called because these callbacks may occur after the web process crashed and before a |
| WebPageProxy attaches to a new web process (and hence is considered in a valid state). |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::processWillBecomeSuspended): Early return if the page proxy is invalid. |
| (WebKit::WebPageProxy::processWillBecomeForeground): Ditto. |
| |
| 2015-12-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r193864. |
| https://bugs.webkit.org/show_bug.cgi?id=152100 |
| |
| caused all inspector tests to assert in WK2 Debug (Requested |
| by brrian on #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: reproducible debug ASSERT when inspecting the |
| inspector (WK2)" |
| https://bugs.webkit.org/show_bug.cgi?id=152080 |
| http://trac.webkit.org/changeset/193864 |
| |
| 2015-12-09 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: reproducible debug ASSERT when inspecting the inspector (WK2) |
| https://bugs.webkit.org/show_bug.cgi?id=152080 |
| |
| Reviewed by Timothy Hatcher. |
| |
| We hit an assert underneath ChildProcessProxy::addMessageReceiver because |
| we tried to connect the inspector page and inspected page more than once. |
| This relationship is already set up in the constructor of WebProcessProxy. |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage): |
| |
| 2015-12-09 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| [EFL] Need to change expectation result in ewk_settings_offline_web_application_cache_enabled API test |
| https://bugs.webkit.org/show_bug.cgi?id=152063 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| Expect false initial value of ewk_settings_offline_web_application_cache_enabled_get() |
| because r193812 didn't enable it by default. |
| |
| * UIProcess/API/efl/tests/test_ewk2_settings.cpp: |
| (TEST_F): |
| |
| 2015-12-09 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [ThreadedCompositor] Add support for HiDPI |
| https://bugs.webkit.org/show_bug.cgi?id=152071 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::setDeviceScaleFactor): Added to receive the |
| device scale factor from the layer tree host. |
| (WebKit::ThreadedCompositor::renderLayerTree): |
| Apply device scale factor before rendering the page. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: |
| (WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged): |
| Send a updated device scale factor to the compositing thread. |
| |
| 2015-12-09 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [CoordinatedGraphics] Remove unnecessary guards in CoordinatedDrawingArea |
| https://bugs.webkit.org/show_bug.cgi?id=152068 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| CoordinatedDrawingArea is only for UI side compositor of CoordinatedGraphics. |
| So, COORDINATED_GRAPHICS_MULTIPROCESS guards are not necessary. |
| This patch also removes COORDINATED_GRAPHICS_MULTIPROCESS guards from DrawingAreaImpl |
| because of same reason. |
| |
| * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: |
| (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy): Deleted. |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: |
| (WebKit::CoordinatedDrawingArea::CoordinatedDrawingArea): Deleted. |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: |
| * WebProcess/WebPage/DrawingAreaImpl.h: |
| |
| 2015-12-09 Mario Sanchez Prada <mario@endlessm.com> |
| |
| [GTK] Crash in WebProcess when loading large content with custom URI schemes |
| https://bugs.webkit.org/show_bug.cgi?id=144262 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Properly handle scenarios where errors happen after reading the first |
| chunk of data coming from the GInputStream provided by the application. |
| |
| * UIProcess/API/gtk/WebKitWebContextPrivate.h: |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextIsLoadingCustomProtocol): New, checks whether a load |
| is still in progress, after the startLoading method has been called. |
| * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: |
| (webkitURISchemeRequestReadCallback): Early return if the stream has been |
| cancelled on finish_error, so that we make sure we don't keep on reading |
| the GInputStream after that point. |
| (webkit_uri_scheme_request_finish_error): Don't send a didFailWithError |
| message to the Network process if the load is not longer in progress. |
| * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: |
| (WebKit::CustomProtocolManagerImpl::didFailWithError): Handle the case where |
| an error is notified from the UI process after the first chunk has been read. |
| (WebKit::CustomProtocolManagerImpl::didReceiveResponse): Handle the case where |
| data might no longer be available if an error happened even before this point. |
| * WebProcess/soup/WebKitSoupRequestInputStream.h: |
| * WebProcess/soup/WebKitSoupRequestInputStream.cpp: |
| (webkitSoupRequestInputStreamDidFailWithError): Notify the custom GInputStream |
| that we no longer want to keep reading data in chunks due to a specific error. |
| (webkitSoupRequestInputStreamReadAsync): Early finish the GTask with a specific |
| error whenever webkitSoupRequestInputStreamDidFailWithError() has been called. |
| |
| 2015-12-09 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [CoordinatedGraphics][EFL] Fix unhandled web process message when launching MiniBrowser |
| https://bugs.webkit.org/show_bug.cgi?id=152048 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| WebPage should be initialized before updating preferences. |
| |
| * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: |
| (WKViewInitialize): Deleted. |
| * UIProcess/API/C/CoordinatedGraphics/WKView.h: |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::EwkView): |
| Calls WKViewSetIsActive instead of WKViewInitialize not to change the behavior |
| of EFL port. |
| * UIProcess/CoordinatedGraphics/WebView.cpp: |
| (WebKit::WebView::WebView): |
| Initialize just before creating WebPage because there is not use case to separate |
| initializing WebPage from creating in CoordinatedGraphics. |
| (WebKit::WebView::initialize): Deleted. |
| * UIProcess/CoordinatedGraphics/WebView.h: |
| |
| 2015-12-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add API to handle beforeunload events |
| https://bugs.webkit.org/show_bug.cgi?id=139090 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| beforeunload is fired when a page is about to be closed, to ask |
| the user for confirmation. This happens when reloading a page, |
| when navigating to another page or when the page is closed by a |
| user action (a tab or window closed). In the first two cases, the |
| event is automatically fired by WebCore, but in the case of a user |
| action we need additional API to ensure the event is fired before |
| the page is closed. A new script dialog type has been added to |
| handle beforeunload events and webkit_web_view_try_close() to |
| allow applications to try to close the page. |
| |
| * UIProcess/API/gtk/WebKitScriptDialog.cpp: |
| (webkit_script_dialog_confirm_set_confirmed): BeforeUnloadConfirm |
| dialogs can also be confirmed. |
| * UIProcess/API/gtk/WebKitScriptDialog.h: Add |
| WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM script dialog type. |
| * UIProcess/API/gtk/WebKitUIClient.cpp: Implement |
| canRunBeforeUnloadConfirmPanel() and runBeforeUnloadConfirmPanel(). |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewCreateJavaScriptDialog): Add secondaryText optional |
| parameter for BeforeUnloadConfirm dialogs. Do not set the default |
| response if the dialog was created without buttons. |
| (webkitWebViewScriptDialog): Handle |
| WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM script dialog type to |
| create a message dialog for beforeunlos events. |
| (webkit_web_view_class_init): Update documentation of |
| WebKitWebView::close and WebKitWebView::script-dialog. |
| (webkitWebViewRunJavaScriptBeforeUnloadConfirm): Emit WebKitWebView::script-dialog. |
| (webkit_web_view_try_close): Try to close the page. |
| * UIProcess/API/gtk/WebKitWebView.h: |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol. |
| |
| 2015-12-09 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| [EFL] Missing to set ignoreTLSError to NetworkProcess |
| https://bugs.webkit.org/show_bug.cgi?id=152047 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| NetworkProcess has been enabled for all ports since r192796 though, EFL port |
| didn't send the ignoreTLSError value to NetworkProcess. This has caused failure of EFL API tests |
| related with ssl feature. |
| |
| * UIProcess/efl/WebProcessPoolEfl.cpp: |
| (WebKit::WebProcessPool::setIgnoreTLSErrors): |
| |
| 2015-12-09 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| [EFL] REGRESSION(r193616): WKPreferences test has been failed since r193616 |
| https://bugs.webkit.org/show_bug.cgi?id=151942 |
| |
| Reviewed by Darin Adler. |
| |
| As wkpreference settings were moved from EwkView to WKPreferenceEfl, the offline-web-application-cache feature |
| is enabled by default when running API test. It seems this option should be enabled by MiniBrowser. |
| |
| * UIProcess/efl/WebPreferencesEfl.cpp: |
| (WebKit::WebPreferences::platformInitializeStore): Remove to enable web application cache feature here. |
| |
| 2015-12-09 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [CoordinatedGraphics] layerTreeHost always exist in CoordinatedDrawingArea |
| https://bugs.webkit.org/show_bug.cgi?id=151987 |
| |
| Reviewed by Darin Adler. |
| |
| CoordinatedGraphics using UI side compositor always forces accelerated compositing. |
| This patch cleans up dead code for layerTreeHost which always exists. |
| |
| * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: |
| (WebKit::CoordinatedDrawingAreaProxy::paint): Deleted. |
| (WebKit::CoordinatedDrawingAreaProxy::setBackingStoreIsDiscardable): Deleted. |
| (WebKit::CoordinatedDrawingAreaProxy::update): Deleted. |
| (WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState): Deleted. |
| (WebKit::CoordinatedDrawingAreaProxy::exitAcceleratedCompositingMode): Deleted. |
| (WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate): Deleted. |
| (WebKit::CoordinatedDrawingAreaProxy::enterAcceleratedCompositingMode): Deleted. |
| (WebKit::CoordinatedDrawingAreaProxy::discardBackingStoreSoon): Deleted. |
| (WebKit::CoordinatedDrawingAreaProxy::discardBackingStore): Deleted. |
| * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: |
| (WebKit::CoordinatedDrawingAreaProxy::setBackingStoreIsDiscardable): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: |
| (WebKit::CoordinatedDrawingArea::CoordinatedDrawingArea): Deleted. |
| (WebKit::CoordinatedDrawingArea::layerHostDidFlushLayers): Deleted. |
| (WebKit::CoordinatedDrawingArea::scheduleCompositingLayerFlush): Deleted. |
| (WebKit::CoordinatedDrawingArea::didUpdate): Deleted. |
| (WebKit::CoordinatedDrawingArea::enterAcceleratedCompositingMode): Deleted. |
| (WebKit::CoordinatedDrawingArea::scheduleDisplay): Deleted. |
| (WebKit::CoordinatedDrawingArea::displayTimerFired): Deleted. |
| (WebKit::CoordinatedDrawingArea::display): Deleted. |
| (WebKit::shouldPaintBoundsRect): Deleted. |
| (WebKit::CoordinatedDrawingArea::attachViewOverlayGraphicsLayer): Deleted. |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: |
| |
| 2015-12-08 Alex Christensen <achristensen@webkit.org> |
| |
| Progress towards implementing downloads with NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=151883 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::~NetworkLoad): |
| (WebKit::NetworkLoad::continueDidReceiveResponse): |
| (WebKit::NetworkLoad::convertTaskToDownload): |
| (WebKit::NetworkLoad::willPerformHTTPRedirection): |
| (WebKit::NetworkLoad::didReceiveChallenge): |
| (WebKit::NetworkLoad::didReceiveResponse): |
| (WebKit::NetworkLoad::didReceiveData): |
| (WebKit::NetworkLoad::didCompleteWithError): |
| (WebKit::NetworkLoad::didBecomeDownload): |
| (WebKit::NetworkLoad::didReceiveResponseAsync): |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkLoadClient.h: |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::cleanup): |
| (WebKit::NetworkResourceLoader::didConvertToDownload): |
| (WebKit::NetworkResourceLoader::abort): |
| (WebKit::NetworkResourceLoader::didConvertHandleToDownload): Deleted. |
| * NetworkProcess/NetworkResourceLoader.h: |
| * NetworkProcess/NetworkSession.h: |
| (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient): |
| (WebKit::NetworkSession::~NetworkSession): Deleted. |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[NetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]): |
| (-[NetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): |
| (WebKit::NetworkSession::NetworkSession): |
| (WebKit::NetworkSession::~NetworkSession): |
| (WebKit::NetworkSession::createDataTaskWithRequest): |
| * Shared/Downloads/Download.h: |
| * Shared/Downloads/DownloadManager.h: |
| (WebKit::DownloadManager::isDownloading): |
| (WebKit::DownloadManager::activeDownloadCount): |
| |
| 2015-12-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Create a Sandbox SPI header |
| https://bugs.webkit.org/show_bug.cgi?id=151981 |
| |
| Reviewed by Andy Estes. |
| |
| * PluginProcess/mac/PluginProcessShim.mm: |
| * Shared/ios/ChildProcessIOS.mm: |
| * Shared/mac/ChildProcessMac.mm: |
| * Shared/mac/SandboxUtilities.mm: |
| |
| 2015-12-08 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Rename UserMediaClient and UserMediaController methods |
| https://bugs.webkit.org/show_bug.cgi?id=152001 |
| |
| Reviewed by Brady Eidson. |
| |
| * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: |
| (WebKit::WebUserMediaClient::pageDestroyed): |
| (WebKit::WebUserMediaClient::requestUserMediaAccess): |
| (WebKit::WebUserMediaClient::cancelUserMediaAccessRequest): |
| (WebKit::WebUserMediaClient::requestPermission): Deleted. |
| (WebKit::WebUserMediaClient::cancelRequest): Deleted. |
| * WebProcess/WebCoreSupport/WebUserMediaClient.h: |
| |
| 2015-12-08 Tomas Popela <tpopela@redhat.com> |
| |
| [GTK] Remove an unused variable from WebKitWebContext |
| https://bugs.webkit.org/show_bug.cgi?id=151999 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| |
| 2015-12-08 Chris Dumez <cdumez@apple.com> |
| |
| Add diagnostic logging to measure speculative revalidation accuracy |
| https://bugs.webkit.org/show_bug.cgi?id=151953 |
| <rdar://problem/23092196> |
| |
| Reviewed by Darin Adler. |
| |
| We track the following: |
| 1. Resources we knew about AND did not get requested |
| A. We did not speculate (Good) |
| B. We speculated but did not go to network (Bad) |
| C. We speculated and went to network (Very bad) |
| 2. Resources we did not know about (Neutral) |
| 3. Resources we knew about AND got requested |
| A. We did not speculate (Bad) |
| B. We speculated but did not go to network (Good) |
| C. We speculated and went to network (Very good) |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::retrieve): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::allSpeculativeLoadingDiagnosticMessages): |
| (WebKit::NetworkCache::printSpeculativeLoadingDiagnosticMessageCounts): |
| (WebKit::NetworkCache::logSpeculativeLoadingDiagnosticMessage): |
| (WebKit::NetworkCache::SpeculativeLoadManager::ExpiringEntry::ExpiringEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::wasRevalidated): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::markLoadAsCompleted): |
| (WebKit::NetworkCache::SpeculativeLoadManager::retrieve): |
| (WebKit::NetworkCache::SpeculativeLoadManager::addPreloadedEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation): |
| (WebKit::NetworkCache::makeSubresourcesKey): Deleted. |
| (WebKit::NetworkCache::constructRevalidationRequest): Deleted. |
| (WebKit::NetworkCache::responseNeedsRevalidation): Deleted. |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::saveToDiskIfReady): Deleted. |
| (WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage): Deleted. |
| (WebKit::NetworkCache::SpeculativeLoadManager::satisfyPendingRequests): Deleted. |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h: |
| |
| 2015-12-08 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [EFL] REGRESSION(r173394): MiniBrowser stucked in an infinite loop if NETWORK_CACHE is disabled |
| https://bugs.webkit.org/show_bug.cgi?id=137692 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::maximumBufferingTime): Disable caching if NETWORK_CACHE is disabled. |
| |
| 2015-12-08 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] Add API to provide preferences before creating ewk_view |
| https://bugs.webkit.org/show_bug.cgi?id=151587 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| This patch adds ewk_view_configuration_settings_get to provide preferences |
| before createing ewk_view. |
| |
| * PlatformEfl.cmake: |
| * UIProcess/API/efl/ewk_view_configuration.cpp: |
| (EwkViewConfiguration::EwkViewConfiguration): |
| (ewk_view_configuration_settings_get): |
| * UIProcess/API/efl/ewk_view_configuration.h: |
| * UIProcess/API/efl/ewk_view_configuration_private.h: |
| (EwkViewConfiguration::pageGroup): |
| * UIProcess/API/efl/tests/test_ewk2_view_configuration.cpp: |
| (TEST_F): Added test case for ewk_view_configuration_settings_get(). |
| |
| 2015-12-07 Gustavo Noronha Silva <gns@gnome.org> |
| |
| [GTK] Notify WebCore when notification is clicked |
| https://bugs.webkit.org/show_bug.cgi?id=151951 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/WebKitNotification.cpp: |
| (webkit_notification_class_init): new clicked signal. |
| (webkit_notification_clicked): method to emit the clicked signal. |
| * UIProcess/API/gtk/WebKitNotification.h: |
| * UIProcess/API/gtk/WebKitNotificationProvider.cpp: |
| (WebKitNotificationProvider::notificationClickedCallback): handle the clicked signal and tell WebProcess about the click. |
| (WebKitNotificationProvider::show): connect to the clicked signal in addition to closed. |
| * UIProcess/API/gtk/WebKitNotificationProvider.h: |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (notifyNotificationClicked): handle the click on our libnotify notification. |
| (webkitWebViewShowNotification): add the "default" action to our libnotify notification to be notified of the click. |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: |
| |
| 2015-12-07 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r193655. |
| https://bugs.webkit.org/show_bug.cgi?id=151970 |
| |
| This change broke existing LayoutTests on mac-wk2 (Requested |
| by ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "UIProcess should determine AppNap state for WebPage" |
| https://bugs.webkit.org/show_bug.cgi?id=151964 |
| http://trac.webkit.org/changeset/193655 |
| |
| 2015-12-05 Gavin Barraclough <barraclough@apple.com> |
| |
| UIProcess should determine AppNap state for WebPage |
| https://bugs.webkit.org/show_bug.cgi?id=151964 |
| |
| Reviewed by Anders Carlson. |
| |
| Step 1 in unifying this with the iOS process suppression mechanism is to move the decision out of the WebContent process. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::dispatchViewStateChange): |
| (WebKit::WebPageProxy::setPageActivityState): |
| (WebKit::WebPageProxy::updateActivityToken): |
| (WebKit::WebPageProxy::preferencesDidChange): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::isInWindow): |
| (WebKit::WebPageProxy::didUpdateViewState): |
| * UIProcess/WebPageProxy.messages.in: |
| - WebPage now propagates PageActivityState to the WebPageProxy, for use |
| determining the supression state of the WebProcess. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_shouldDispatchFakeMouseMoveEvents): |
| (WebKit::WebPage::setPageActivityState): |
| (WebKit::WebPage::setUserActivityStarted): |
| (WebKit::WebPage::setViewState): |
| (WebKit::WebPage::updatePreferences): |
| (WebKit::WebPage::updateUserActivity): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| - WebPage no longer determines when to update it's own UserActivity - instead, |
| let the UI process do so. As such, no longer need to track whether process |
| supression is enabled. Instead, add message to |
| |
| 2015-12-07 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Regression(r187691): If a page is showing an auth pane in one tab, any new tabs with same page hang until credentials are entered in first tab |
| https://bugs.webkit.org/show_bug.cgi?id=151960 |
| <rdar://problem/23618112> |
| |
| Reviewed by Alex Christensen. |
| |
| After r187691, if a page is showing an auth pane in one tab, any new |
| tabs with same page hang until credentials are entered in first tab. |
| This is because we coalescing all authentication challenges from the |
| same domain, no matter what tab they are for. This can be confusing |
| so we now only coalesce authentication challenges within each tab, |
| by leveraging the pageID (in addition to the domain). |
| |
| * Shared/Authentication/AuthenticationManager.cpp: |
| (WebKit::AuthenticationManager::shouldCoalesceChallenge): |
| (WebKit::AuthenticationManager::coalesceChallengesMatching): |
| (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge): |
| * Shared/Authentication/AuthenticationManager.h: |
| |
| 2015-12-07 Beth Dakin <bdakin@apple.com> |
| |
| Hook up request and show for typing candidates in WK1 |
| https://bugs.webkit.org/show_bug.cgi?id=151831 |
| -and corresponding- |
| <rdar://problem/23751214> |
| |
| Reviewed by Enrica Casucci. |
| |
| Empty client for now. |
| * WebProcess/WebCoreSupport/WebEditorClient.h: |
| |
| 2015-12-07 Philippe Normand <pnormand@igalia.com> |
| |
| [GTK][Mac] socketpair assertion failure |
| https://bugs.webkit.org/show_bug.cgi?id=151293 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Platform/IPC/unix/ConnectionUnix.cpp: Don't use SEQPACKET sockets on Darwin. |
| |
| 2015-12-07 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [ThreadedCompositor] Add support for PlatformLayer. |
| https://bugs.webkit.org/show_bug.cgi?id=143299 |
| |
| Reviewed by Žan Doberšek. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext): |
| Swap pending buffers of TextureMapperPlatformLayerProxies before painting contents. |
| (WebKit::CoordinatedGraphicsScene::syncPlatformLayerIfNeeded): |
| In threaded compositor, CoordinatedGraphicsScence only cares about creation and deletion |
| of platform layers. |
| |
| (WebKit::CoordinatedGraphicsScene::onNewBufferAvailable): |
| Whenever new buffer comes via TextureMapperPlatformLayerProxy, CoordinatedGraphicsScene will |
| update the scene if it is needed. |
| |
| 2015-12-07 Mario Sanchez Prada <mario@endlessm.com> |
| |
| [GTK] Allow applications to force Accelerated Compositing mode |
| https://bugs.webkit.org/show_bug.cgi?id=150558 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Enable forcing Accelerated Compositing mode to be always on if |
| a WEBKIT_FORCE_COMPOSITING_MODE environment variable is set. |
| |
| This can be useful for controlled environments where we know that |
| AC always on works well enough, to get smoother animations. |
| |
| * UIProcess/gtk/WebPreferencesGtk.cpp: |
| (WebKit::WebPreferences::platformInitializeStore): Set forceCompositingMode |
| setting to true if the environment variable is found. |
| |
| 2015-12-07 Jon Forsberg <jon.orebro@gmail.com> |
| |
| [GTK] Add webkit_uri_request_get_http_method |
| https://bugs.webkit.org/show_bug.cgi?id=151601 |
| |
| Reviewed by Martin Robinson. |
| |
| Add a method to get the HTTP method of a WebKitURIRequest. |
| |
| * UIProcess/API/gtk/WebKitURIRequest.cpp: |
| (webkit_uri_request_get_http_method): |
| * UIProcess/API/gtk/WebKitURIRequest.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: |
| |
| 2015-12-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add WebKitWebPage::console-message-sent signal to Web Extensions API |
| https://bugs.webkit.org/show_bug.cgi?id=79918 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Add WebKitConsoleMessage boxed type that is passed to the |
| WebKitWebPage::console-message-sent signal with all the details |
| about the message. |
| |
| * PlatformGTK.cmake: Add new files to compilation. |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols. |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Add webkit_console_message_get_type. |
| * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section to the docs. |
| * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h: |
| (API::InjectedBundle::PageUIClient::willAddMessageToConsole): Add |
| paramaters for all console message details. |
| * WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.cpp: Added. |
| (webkit_console_message_copy): |
| (webkit_console_message_free): |
| (webkit_console_message_get_source): |
| (webkit_console_message_get_level): |
| (webkit_console_message_get_text): |
| (webkit_console_message_get_line): |
| (webkit_console_message_get_source_id): |
| * WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.h: Added. |
| * WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessagePrivate.h: Added. |
| (_WebKitConsoleMessage::_WebKitConsoleMessage): |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (webkitWebPageDidSendConsoleMessage): Emit the |
| WebKitWebPage::console-message-sent signal. |
| (didReceiveResponseForResource): Generate a console message in |
| case of HTTP failure >= 400 for consistency with the inspector. |
| (didFailLoadForResource): Generate a console message in case of |
| resource load failure for consistency with the inspector. |
| (webkit_web_page_class_init): Add WebKitWebPage::console-message-sent signal. |
| (webkitWebPageCreate): Set custom UI client. |
| * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h: |
| * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: |
| (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole): |
| * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::addMessageToConsole): Pass all the |
| console message details to the ui client. |
| |
| 2015-12-07 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] MiniBrowser doesn't exit when called ewk_view_try_close() |
| https://bugs.webkit.org/show_bug.cgi?id=151934 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * UIProcess/API/efl/ewk_view.cpp: |
| (ewk_view_try_close): |
| Called window_close callback immediately when WKPageTryClose returns true. |
| * UIProcess/API/efl/tests/test_ewk2_view.cpp: |
| (TEST_F): Improved test cases for try_close to test when content does not contain |
| onbeforeunload callback. |
| |
| 2015-12-07 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| [EFL] Moving preference settings from EwkView to WebPreferencesEfl |
| https://bugs.webkit.org/show_bug.cgi?id=151928 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| It implements WebPreferences::platformInitializeStore() in WebPreferencesEfl.cpp. |
| |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::EwkView): |
| * UIProcess/efl/WebPreferencesEfl.cpp: |
| (WebKit::WebPreferences::platformInitializeStore): |
| |
| 2015-12-04 Anders Carlsson <andersca@apple.com> |
| |
| Crash when secondary clicking on a link on yahoo.com |
| https://bugs.webkit.org/show_bug.cgi?id=151900 |
| rdar://problem/23765149 |
| |
| Reviewed by Beth Dakin. |
| |
| Don't use +[NSURL URLWithString:] since it doesn't handle invalid URLs as well as WebCore::URL. |
| |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::createShareMenuItem): |
| |
| 2015-12-04 Beth Dakin <bdakin@apple.com> |
| |
| Crash in clients using userData in |
| _immediateActionAnimationControllerForHitTestResult |
| https://bugs.webkit.org/show_bug.cgi?id=151887 |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| Follow-up fix to handle null userData. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]): |
| |
| 2015-12-04 Beth Dakin <bdakin@apple.com> |
| |
| Crash in clients using userData in |
| _immediateActionAnimationControllerForHitTestResult |
| https://bugs.webkit.org/show_bug.cgi?id=151887 |
| |
| Reviewed by Sam Weinig. |
| |
| Cast this correctly. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]): |
| |
| 2015-12-04 Gavin Barraclough <barraclough@apple.com> |
| |
| Background state not being tracked correctly for PDFs on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=151886 |
| |
| Reviewed by Anders Carlson. |
| |
| The problem here is that when viewing a PDF we don't have an ApplicationStateTracker. |
| (While we do have a content view - which normally holds the ApplicationStateTracker - |
| the content view is not in a window, and only has an ApplicationStateTracker while in a |
| window). For now, let's give the WKPDFView an ApplicationStateTracker of its very own. |
| In the future we may want to refactor ownership of the ApplicationStateTracker up to |
| the WKWebView. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _isBackground]): |
| - Added, checks background state of content/PDF view. |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| - expose _isBackground to PageClientImplIOS. |
| * UIProcess/ApplicationStateTracker.h: |
| (WebKit::ApplicationStateTracker::isInBackground): |
| * UIProcess/ApplicationStateTracker.mm: |
| (WebKit::isBackgroundState): |
| (WebKit::ApplicationStateTracker::ApplicationStateTracker): |
| - generalize WKContentView -> UIView, so this may now also be a WKPDFView. |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::isViewVisible): |
| - check background state via the WKWebView. |
| * UIProcess/ios/WKPDFView.h: |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView willMoveToWindow:]): |
| (-[WKPDFView didMoveToWindow]): |
| (-[WKPDFView isBackground]): |
| (-[WKPDFView _applicationDidEnterBackground]): |
| (-[WKPDFView _applicationWillEnterForeground]): |
| - added methods to initialize ApplicationStateTracker, access background state, & callbacks to the page proxy. |
| |
| 2015-12-04 Antti Koivisto <antti@apple.com> |
| |
| Rename WebResourceLoadScheduler to WebLoaderStrategy |
| https://bugs.webkit.org/show_bug.cgi?id=151854 |
| |
| Reviewed by Anders Carlsson. |
| |
| It implements WebCore::LoaderStrategy and doesn't do any scheduling. |
| |
| * CMakeLists.txt: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/Network/NetworkProcessConnection.cpp: |
| (WebKit::NetworkProcessConnection::didReceiveMessage): |
| * WebProcess/Network/WebLoaderStrategy.cpp: Copied from Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp. |
| (WebKit::WebLoaderStrategy::WebLoaderStrategy): |
| (WebKit::WebLoaderStrategy::~WebLoaderStrategy): |
| (WebKit::WebLoaderStrategy::loadResource): |
| (WebKit::WebLoaderStrategy::schedulePluginStreamLoad): |
| (WebKit::maximumBufferingTime): |
| (WebKit::WebLoaderStrategy::scheduleLoad): |
| (WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad): |
| (WebKit::WebLoaderStrategy::internallyFailedLoadTimerFired): |
| (WebKit::WebLoaderStrategy::startLocalLoad): |
| (WebKit::WebLoaderStrategy::remove): |
| (WebKit::WebLoaderStrategy::setDefersLoading): |
| (WebKit::WebLoaderStrategy::crossOriginRedirectReceived): |
| (WebKit::WebLoaderStrategy::servePendingRequests): |
| (WebKit::WebLoaderStrategy::suspendPendingRequests): |
| (WebKit::WebLoaderStrategy::resumePendingRequests): |
| (WebKit::WebLoaderStrategy::networkProcessCrashed): |
| (WebKit::WebLoaderStrategy::loadResourceSynchronously): |
| (WebKit::WebLoaderStrategy::createPingHandle): |
| (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler): Deleted. |
| (WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler): Deleted. |
| (WebKit::WebResourceLoadScheduler::loadResource): Deleted. |
| (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad): Deleted. |
| (WebKit::WebResourceLoadScheduler::scheduleLoad): Deleted. |
| (WebKit::WebResourceLoadScheduler::scheduleInternallyFailedLoad): Deleted. |
| (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired): Deleted. |
| (WebKit::WebResourceLoadScheduler::startLocalLoad): Deleted. |
| (WebKit::WebResourceLoadScheduler::remove): Deleted. |
| (WebKit::WebResourceLoadScheduler::setDefersLoading): Deleted. |
| (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): Deleted. |
| (WebKit::WebResourceLoadScheduler::servePendingRequests): Deleted. |
| (WebKit::WebResourceLoadScheduler::suspendPendingRequests): Deleted. |
| (WebKit::WebResourceLoadScheduler::resumePendingRequests): Deleted. |
| (WebKit::WebResourceLoadScheduler::networkProcessCrashed): Deleted. |
| (WebKit::WebResourceLoadScheduler::loadResourceSynchronously): Deleted. |
| (WebKit::WebResourceLoadScheduler::createPingHandle): Deleted. |
| * WebProcess/Network/WebLoaderStrategy.h: Copied from Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.h. |
| (WebKit::WebLoaderStrategy::webResourceLoaderForIdentifier): |
| (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier): Deleted. |
| * WebProcess/Network/WebResourceLoadScheduler.cpp: Removed. |
| * WebProcess/Network/WebResourceLoadScheduler.h: Removed. |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::Stream::start): |
| (WebKit::PluginView::Stream::cancel): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::createLoaderStrategy): |
| (WebKit::WebPlatformStrategies::createPasteboardStrategy): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| (WebKit::WebProcess::initializeWebProcess): |
| (WebKit::WebProcess::networkProcessConnectionClosed): |
| (WebKit::WebProcess::webLoaderStrategy): |
| (WebKit::WebProcess::webResourceLoadScheduler): Deleted. |
| * WebProcess/WebProcess.h: |
| |
| 2015-12-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Have layer memory use consult the backing store format |
| https://bugs.webkit.org/show_bug.cgi?id=151827 |
| rdar://problem/23746497 |
| |
| Reviewed by Dean Jackson. |
| |
| When computing the backing store memory size, take the pixel format into account, |
| rather than assuming 4 bytes per pixel. |
| |
| * Shared/mac/RemoteLayerBackingStore.h: |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::bytesPerPixel): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::backingStoreBytesPerPixel): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| |
| 2015-12-03 Jer Noble <jer.noble@apple.com> |
| |
| Expose WebCore's InvisibleAutoplayNotPermitted setting to WebKit & WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=151830 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add a new, private WKWebViewConfiguration property _invisibleAutoplayNotPermitted. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _invisibleAutoplayNotPermitted]): |
| (-[WKWebViewConfiguration _setInvisibleAutoplayNotPermitted:]): |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2015-12-03 Sam Weinig <sam@webkit.org> |
| |
| It should be possible to use version 6 of the WKPageUIClient without adopting the new createNewPage |
| https://bugs.webkit.org/show_bug.cgi?id=151826 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| Pick which variant of createNewPage to use based on which function pointer is available, |
| not the version number. |
| |
| 2015-12-03 Anders Carlsson <andersca@apple.com> |
| |
| Remove Objective-C GC support |
| https://bugs.webkit.org/show_bug.cgi?id=151819 |
| rdar://problem/23746991 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/BaseLegacyProcess.xcconfig: |
| * Configurations/BaseXPCService.xcconfig: |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): Deleted. |
| |
| 2015-12-03 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed build-fix; fix !HAVE(AVKIT) build after r193340. |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::applicationDidBecomeActive): |
| |
| 2015-12-03 Sam Weinig <sam@webkit.org> |
| |
| Need completionHandler-based WebKit C SPI for alert, confirm, and prompt |
| <rdar://problem/23320863> |
| https://bugs.webkit.org/show_bug.cgi?id=151708 |
| |
| (Add missing function definitions) |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageRunJavaScriptAlertResultListenerGetTypeID): |
| (WKPageRunJavaScriptAlertResultListenerCall): |
| (WKPageRunJavaScriptConfirmResultListenerGetTypeID): |
| (WKPageRunJavaScriptConfirmResultListenerCall): |
| (WKPageRunJavaScriptPromptResultListenerGetTypeID): |
| (WKPageRunJavaScriptPromptResultListenerCall): |
| |
| 2015-12-03 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] Fullscreen -> PiP should resume to Fullscreen, not inline |
| https://bugs.webkit.org/show_bug.cgi?id=150906 |
| |
| Reviewed by Simon Fraser. |
| |
| Add methods to pass isVisible(), applicationDidBecomeActive(), and requestFullscreenMode() |
| to and from models and interfaces. |
| |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::applicationDidBecomeActive): Notify the fullscreen manager, if preset. |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenModelContext::requestFullscreenMode): Renamed from requestExitFullscreen(); takes a mode enum. |
| (WebKit::WebVideoFullscreenModelContext::isVisible): Added. |
| (WebKit::WebVideoFullscreenManagerProxy::applicationDidBecomeActive): Pass to all existing interfaces. |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Do not re-create the view if it already exists. |
| (WebKit::WebVideoFullscreenManagerProxy::requestFullscreenMode): Renamed from requestExitFullscreen(); takes a mode enum. |
| (WebKit::WebVideoFullscreenManagerProxy::isVisible): Added. Query Page::isVisible() and Page::isInWindow(), the latter because |
| PiP will cause Page::isVisible() to be TRUE even when the containing tab is backgrounded. |
| (WebKit::WebVideoFullscreenModelContext::requestExitFullscreen): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::requestExitFullscreen): Deleted. |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Only resize the view if we are not already in one of |
| the fullscreen modes. |
| (WebKit::WebVideoFullscreenManager::requestFullscreenMode): Renamed from requestExitFullscreen(). |
| (WebKit::WebVideoFullscreenManager::requestExitFullscreen): Deleted. |
| |
| 2015-12-02 Antti Koivisto <antti@apple.com> |
| |
| Move ResourceLoadScheduler to WebKit1 |
| https://bugs.webkit.org/show_bug.cgi?id=151743 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/NetworkProcessPlatformStrategies.cpp: |
| (WebKit::NetworkProcessPlatformStrategies::createCookiesStrategy): |
| (WebKit::NetworkProcessPlatformStrategies::createLoaderStrategy): |
| (WebKit::NetworkProcessPlatformStrategies::createPasteboardStrategy): |
| (WebKit::NetworkProcessPlatformStrategies::createPluginStrategy): |
| (WebKit::NetworkProcessPlatformStrategies::createBlobRegistry): |
| (WebKit::NetworkProcessPlatformStrategies::resourceLoadScheduler): Deleted. |
| (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously): Deleted. |
| * NetworkProcess/NetworkProcessPlatformStrategies.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| * WebProcess/Network/WebResourceLoadScheduler.cpp: |
| (WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler): |
| (WebKit::WebResourceLoadScheduler::loadResource): |
| (WebKit::WebResourceLoadScheduler::resumePendingRequests): |
| (WebKit::WebResourceLoadScheduler::networkProcessCrashed): |
| (WebKit::WebResourceLoadScheduler::loadResourceSynchronously): |
| (WebKit::WebResourceLoadScheduler::createPingHandle): |
| (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad): Deleted. |
| (WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled): Deleted. |
| * WebProcess/Network/WebResourceLoadScheduler.h: |
| (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::Stream::start): |
| (WebKit::PluginView::Stream::cancel): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::createLoaderStrategy): |
| (WebKit::WebPlatformStrategies::createPasteboardStrategy): |
| (WebKit::WebPlatformStrategies::createPluginStrategy): |
| (WebKit::WebPlatformStrategies::createBlobRegistry): |
| (WebKit::WebPlatformStrategies::cookiesForDOM): |
| (WebKit::WebPlatformStrategies::deleteCookie): |
| (WebKit::WebPlatformStrategies::refreshPlugins): |
| (WebKit::WebPlatformStrategies::resourceLoadScheduler): Deleted. |
| (WebKit::WebPlatformStrategies::loadResourceSynchronously): Deleted. |
| (WebKit::WebPlatformStrategies::createPingHandle): Deleted. |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2015-12-02 Alex Christensen <achristensen@webkit.org> |
| |
| Fix authentication requests with NetworkSession and canHandleHTTPSServerTrustEvaluation true |
| https://bugs.webkit.org/show_bug.cgi?id=151775 |
| rdar://problem/23586265 |
| |
| Reviewed by Chris Dumez. |
| |
| In https://bugs.webkit.org/show_bug.cgi?id=150968 I copied functionality from |
| NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync into NetworkLoad::didReceiveChallenge |
| but I overlooked the call to m_client.canAuthenticateAgainstProtectionSpaceAsync which is needed |
| if canHandleHTTPSServerTrustEvaluation is true. This adds that call and moves what should happen |
| after that to NetworkLoad::continueCanAuthenticateAgainstProtectionSpace. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::didReceiveChallenge): |
| (WebKit::NetworkLoad::didReceiveResponse): |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkSession.h: |
| * Shared/Authentication/AuthenticationManager.h: |
| |
| 2015-12-01 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| Unreviewed, fix build after r192931. |
| |
| * CMakeLists.txt: Remove the WKOriginDataManager in CMakeLists.txt. |
| |
| 2015-12-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature |
| https://bugs.webkit.org/show_bug.cgi?id=150792 |
| |
| Reviewed by Saam Barati. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-12-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r192914. |
| https://bugs.webkit.org/show_bug.cgi?id=151734 |
| |
| JSC tests for this change are failing on 32 and 64-bit bots |
| (Requested by ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "[ES6] Implement LLInt/Baseline Support for ES6 Generators and |
| enable this feature" |
| https://bugs.webkit.org/show_bug.cgi?id=150792 |
| http://trac.webkit.org/changeset/192914 |
| |
| 2015-12-01 Anders Carlsson <andersca@apple.com> |
| |
| Remove WKOriginDataManager |
| https://bugs.webkit.org/show_bug.cgi?id=151723 |
| |
| Reviewed by Andy Estes. |
| |
| * UIProcess/API/C/WKOriginDataManager.cpp: Removed. |
| (WKOriginDataManagerGetTypeID): Deleted. |
| (WKOriginDataManagerGetOrigins): Deleted. |
| (WKOriginDataManagerDeleteEntriesForOrigin): Deleted. |
| (WKOriginDataManagerDeleteEntriesModifiedBetweenDates): Deleted. |
| (WKOriginDataManagerDeleteAllEntries): Deleted. |
| * UIProcess/API/C/WKOriginDataManager.h: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-12-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature |
| https://bugs.webkit.org/show_bug.cgi?id=150792 |
| |
| Reviewed by Saam Barati. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-12-01 Sam Weinig <sam@webkit.org> |
| |
| Need completionHandler-based WebKit C SPI for alert, confirm, and prompt |
| <rdar://problem/23320863> |
| https://bugs.webkit.org/show_bug.cgi?id=151708 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add listener based versions of alert, confirm and prompt. |
| |
| * Shared/API/APIObject.h: |
| * Shared/API/c/WKBase.h: |
| * UIProcess/API/C/WKPage.cpp: |
| (WebKit::RunJavaScriptAlertResultListener::create): |
| (WebKit::RunJavaScriptAlertResultListener::~RunJavaScriptAlertResultListener): |
| (WebKit::RunJavaScriptAlertResultListener::call): |
| (WebKit::RunJavaScriptAlertResultListener::RunJavaScriptAlertResultListener): |
| (WebKit::RunJavaScriptConfirmResultListener::create): |
| (WebKit::RunJavaScriptConfirmResultListener::~RunJavaScriptConfirmResultListener): |
| (WebKit::RunJavaScriptConfirmResultListener::call): |
| (WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener): |
| (WebKit::RunJavaScriptPromptResultListener::create): |
| (WebKit::RunJavaScriptPromptResultListener::~RunJavaScriptPromptResultListener): |
| (WebKit::RunJavaScriptPromptResultListener::call): |
| (WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener): |
| (WKPageSetPageUIClient): |
| * UIProcess/API/C/WKPageUIClient.h: |
| |
| 2015-12-01 Anders Carlsson <andersca@apple.com> |
| |
| Remove WebKit2.framework |
| https://bugs.webkit.org/show_bug.cgi?id=151715 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/WebKit2.xcconfig: Removed. |
| * UIProcess/API/Cocoa/WebKit2.h: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * mac/Info-WebKit2.plist: Removed. |
| * mac/MigrateHeadersToWebKit2.make: Removed. |
| * mac/WebKit2.m: Removed. |
| |
| 2015-12-01 Alex Christensen <achristensen@webkit.org> |
| |
| Use Optional for matrix inverses |
| https://bugs.webkit.org/show_bug.cgi?id=151575 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::convertFromRootView): |
| * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: |
| (WebKit::NetscapePlugin::convertPoint): |
| * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm: |
| (WebKit::PDFPlugin::convertFromPDFViewToRootView): |
| (WebKit::PDFPlugin::convertFromPDFViewToScreen): |
| (WebKit::PDFPlugin::boundsOnScreen): |
| (WebKit::PDFPlugin::geometryDidChange): |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::geometryDidChange): |
| |
| 2015-12-01 Tim Horton <timothy_horton@apple.com> |
| |
| Remove swipe snapshot before main document load if scroll position is already restored |
| https://bugs.webkit.org/show_bug.cgi?id=151224 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::didRestoreScrollPosition): |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didRestoreScrollPosition): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didRestoreScrollPosition): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::didRestoreScrollPosition): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didRestoreScrollPosition): |
| * WebProcess/WebPage/WebPage.h: |
| Plumb didRestoreScrollPosition through to ViewGestureController (yikes!). |
| |
| * UIProcess/ViewGestureController.cpp: |
| (WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame): |
| Cancel waiting for any more loads if we get to firstVisuallyNonEmptyLayout. |
| |
| (WebKit::ViewGestureController::didReachMainFrameLoadTerminalState): |
| Cancel waiting for scroll position restoration if we make it to main frame load, |
| because there is a chance we won't be able to restore the old scroll position, and |
| by main frame load time we've tried as hard as we're going to to restore it. |
| |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::endSwipeGesture): |
| Make some legacy-style-only code clearer that it's legacy-style-only. |
| Wait for scroll position restoration. |
| |
| 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r192834): [GTK] Test /webkit2/WebKitWebView/editor-state/typing-attributes times out after r192834 |
| https://bugs.webkit.org/show_bug.cgi?id=151699 |
| |
| Reviewed by Tim Horton. |
| |
| In r192834 the code to send EditorStateChanged message to the UI |
| process from WebPage::didChangeSelection was removed for non-mac |
| ports. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didChangeSelection): Send EditorStateChanged |
| message to the UI process also for non-mac ports, as before r192834. |
| |
| 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix timeouts in several HTTP layout tests in GTK+ after r192796. |
| |
| In r192796, the initialization of m_ignoreTLSErrors in |
| WebProcessPool was removed by mistake, making all HTTP tests that use |
| HTTPS fail due to invalid certificate errors. |
| |
| * UIProcess/WebProcessPool.h: Bring back m_ignoreTLSErrors initialization. |
| |
| 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r192247): [GTK] ASSERTION FAILED: type == WebCore::ActionType || type == WebCore::CheckableActionType || type == WebCore::SeparatorType |
| https://bugs.webkit.org/show_bug.cgi?id=151513 |
| |
| Reviewed by Martin Robinson. |
| |
| This happens because we are using our own WebContextMenuItemGtk |
| derived from WebContextMenuItemData, but using our own submenu |
| items handling. We are using the non-submenu |
| WebContextMenuItemData constructor to create our submenu items |
| too, because WebContextMenuItemData always expect the submenu |
| items to be passed to the constructor, but we have a set_submenu |
| method in the public API. So we consider that a |
| WebContextMenuItemGtk is SubmenuType if it has submenu items, but |
| we use the action type internally. When converting a |
| WebContextMenuItemGtk to a generic WebContextMenuItemData, we |
| correctly set the type and pass the submenu items to the |
| approriate constructor. |
| |
| * Shared/gtk/WebContextMenuItemGtk.cpp: |
| (WebKit::WebContextMenuItemGtk::WebContextMenuItemGtk): When |
| constructing from a WebContextMenuItemData, set the type as |
| ActionType when it's a submenu type. |
| * Shared/gtk/WebContextMenuItemGtk.h: |
| (WebKit::WebContextMenuItemGtk::type): Return SubmenuType if |
| submenu items vector is not empty, otherwise use the parent method. |
| * UIProcess/API/gtk/WebKitContextMenuItem.cpp: |
| (webkit_context_menu_item_new_with_submenu): Create the |
| WebContextMenuItemGtk as ActionType. |
| |
| 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Add missing inspector files to the GTK+ build. |
| |
| * PlatformGTK.cmake: Add also Debug css files. |
| |
| 2015-11-30 Alexey Proskuryakov <ap@apple.com> |
| |
| Build fix for some compiler versions. |
| |
| * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Disable deprecation warnings while |
| processing SOFT_LINK_CLASS too. |
| |
| 2015-11-30 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Null dereference loading Blink layout test http/tests/misc/detach-during-notifyDone.html |
| https://bugs.webkit.org/show_bug.cgi?id=149309 |
| <rdar://problem/22748363> |
| |
| Reviewed by Brent Fulgham. |
| |
| Callback of bundle clients could kill the documentloader. Therefore, make a copy |
| of the navigationID before invoking the callback. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): |
| |
| 2015-11-30 Tim Horton <timothy_horton@apple.com> |
| |
| Get rid of the !USE(ASYNC_NSTEXTINPUTCLIENT) codepath |
| https://bugs.webkit.org/show_bug.cgi?id=151673 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| * UIProcess/API/mac/WKView.mm: |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::resignFirstResponder): Deleted. |
| (WebKit::WebViewImpl::interpretKeyEvent): Deleted. |
| (WebKit::WebViewImpl::executeSavedKeypressCommands): Deleted. |
| (WebKit::WebViewImpl::doCommandBySelector): Deleted. |
| (WebKit::WebViewImpl::insertText): Deleted. |
| (WebKit::WebViewImpl::inputContext): Deleted. |
| (WebKit::WebViewImpl::selectedRange): Deleted. |
| (WebKit::WebViewImpl::hasMarkedText): Deleted. |
| (WebKit::WebViewImpl::unmarkText): Deleted. |
| (WebKit::WebViewImpl::setMarkedText): Deleted. |
| (WebKit::WebViewImpl::markedRange): Deleted. |
| (WebKit::WebViewImpl::attributedSubstringForProposedRange): Deleted. |
| (WebKit::WebViewImpl::characterIndexForPoint): Deleted. |
| (WebKit::WebViewImpl::firstRectForCharacterRange): Deleted. |
| (WebKit::WebViewImpl::performKeyEquivalent): Deleted. |
| (WebKit::WebViewImpl::keyUp): Deleted. |
| (WebKit::WebViewImpl::keyDown): Deleted. |
| (WebKit::WebViewImpl::flagsChanged): Deleted. |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): Deleted. |
| (WebKit::WebPageProxy::resetStateAfterProcessExited): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::notifyApplicationAboutInputContextChange): Deleted. |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::setComposition): Deleted. |
| (WebKit::WebPageProxy::confirmComposition): Deleted. |
| (WebKit::WebPageProxy::insertText): Deleted. |
| (WebKit::WebPageProxy::insertDictatedText): Deleted. |
| (WebKit::WebPageProxy::getMarkedRange): Deleted. |
| (WebKit::WebPageProxy::getSelectedRange): Deleted. |
| (WebKit::WebPageProxy::getAttributedSubstringFromRange): Deleted. |
| (WebKit::WebPageProxy::characterIndexForPoint): Deleted. |
| (WebKit::WebPageProxy::firstRectForCharacterRange): Deleted. |
| (WebKit::WebPageProxy::executeKeypressCommands): Deleted. |
| (WebKit::WebPageProxy::cancelComposition): Deleted. |
| (WebKit::WebPageProxy::editorStateChanged): Deleted. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didChangeSelection): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::setComposition): Deleted. |
| (WebKit::WebPage::confirmComposition): Deleted. |
| (WebKit::WebPage::insertText): Deleted. |
| (WebKit::WebPage::insertDictatedText): Deleted. |
| (WebKit::WebPage::getMarkedRange): Deleted. |
| (WebKit::WebPage::getSelectedRange): Deleted. |
| (WebKit::WebPage::getAttributedSubstringFromRange): Deleted. |
| (WebKit::WebPage::characterIndexForPoint): Deleted. |
| (WebKit::WebPage::firstRectForCharacterRange): Deleted. |
| (WebKit::WebPage::executeKeypressCommands): Deleted. |
| (WebKit::WebPage::cancelComposition): Deleted. |
| |
| 2015-11-30 Tim Horton <timothy_horton@apple.com> |
| |
| Remove some unused synchronous drawing SPI |
| https://bugs.webkit.org/show_bug.cgi?id=151672 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView forceAsyncDrawingAreaSizeUpdate:]): Deleted. |
| (-[WKView waitForAsyncDrawingAreaSizeUpdate]): Deleted. |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::forceAsyncDrawingAreaSizeUpdate): Deleted. |
| (WebKit::WebViewImpl::waitForAsyncDrawingAreaSizeUpdate): Deleted. |
| |
| 2015-11-30 Tim Horton <timothy_horton@apple.com> |
| |
| Get rid of the legacy swipe shadow style |
| https://bugs.webkit.org/show_bug.cgi?id=151671 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::beginSwipeGesture): Deleted. |
| (WebKit::ViewGestureController::handleSwipeGesture): Deleted. |
| (WebKit::ViewGestureController::removeSwipeSnapshot): Deleted. |
| It is no longer needed. |
| |
| 2015-11-30 Tim Horton <timothy_horton@apple.com> |
| |
| [iOS] Option-up and Option-down should scroll a little less than a full page |
| https://bugs.webkit.org/show_bug.cgi?id=151538 |
| <rdar://problem/23642675> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _scrollOffsetForEvent:]): |
| (-[WKContentView _interpretKeyEvent:isCharEvent:]): |
| Clean up the code a little, and adjust so that we *always* use pageStep |
| instead of just scrolling by the unobscured rect when scrolling by a page. |
| Previously, we did for the spacebar, but not for option-up and option-down. |
| |
| 2015-11-30 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: using "Reload Web Inspector" when docked breaks dock-specific styles |
| https://bugs.webkit.org/show_bug.cgi?id=151642 |
| |
| Reviewed by Timothy Hatcher. |
| |
| After a frontend loads, explicitly tell it about the current dock |
| state. This is necessary for force-reloading the inspector, since |
| the dock state isn't sent from UIProcess in this case. |
| |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| (WebKit::WebInspectorUI::frontendLoaded): |
| (WebKit::WebInspectorUI::setDockingUnavailable): |
| * WebProcess/WebPage/WebInspectorUI.h: |
| |
| 2015-11-30 Alex Christensen <achristensen@webkit.org> |
| |
| Make ProcessModel always MultipleSecondaryProcesses |
| https://bugs.webkit.org/show_bug.cgi?id=151662 |
| |
| Reviewed by Antti Koivisto. |
| |
| Single WebProcess behavior can still be achieved by setting the maximum number of WebProcesses to 1. |
| |
| * Shared/API/c/WKDeprecatedFunctions.cpp: |
| (WKContextSetUsesNetworkProcess): |
| (WKContextSetProcessModel): |
| (WKContextGetProcessModel): |
| (WKGraphicsContextGetCGContext): |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::createWithLegacyOptions): |
| (API::ProcessPoolConfiguration::copy): |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/C/WKAPICast.h: |
| (WebKit::toAPI): |
| (WebKit::toFontSmoothingLevel): |
| (WebKit::toProcessModel): Deleted. |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextGetCacheModel): |
| (WKContextSetMaximumNumberOfProcesses): |
| (WKContextSetProcessModel): Deleted. |
| (WKContextGetProcessModel): Deleted. |
| * UIProcess/API/C/WKContext.h: |
| * UIProcess/API/Cocoa/WKProcessGroup.mm: |
| (-[WKProcessGroup initWithInjectedBundleURL:]): |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| * UIProcess/API/efl/ewk_context.cpp: |
| (EwkContext::cacheModel): |
| (EwkContext::setProcessModel): |
| (EwkContext::processModel): |
| (EwkContext::clearResourceCache): |
| (EwkContext::jsGlobalContext): |
| (ewk_context_message_from_extensions_callback_set): |
| (ewk_context_process_model_set): |
| (ewk_context_process_model_get): |
| (ewk_context_tls_error_policy_get): |
| (toWKProcessModel): Deleted. |
| (toEwkProcessModel): Deleted. |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| * UIProcess/ProcessModel.h: Removed. |
| * UIProcess/WebCookieManagerProxy.cpp: |
| (WebKit::WebCookieManagerProxy::shouldTerminate): |
| (WebKit::WebCookieManagerProxy::refWebContextSupplement): |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::inspectorProcessPool): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::create): |
| (WebKit::WebProcessPool::setDownloadClient): |
| (WebKit::WebProcessPool::setMaximumNumberOfProcesses): |
| (WebKit::WebProcessPool::processDidCachePage): |
| (WebKit::WebProcessPool::createNewWebProcess): |
| (WebKit::WebProcessPool::disconnectProcess): |
| (WebKit::WebProcessPool::createWebPage): |
| (WebKit::WebProcessPool::postMessageToInjectedBundle): |
| (WebKit::WebProcessPool::requestWebContentStatistics): |
| (WebKit::WebProcessPool::requestNetworkingStatistics): |
| (WebKit::WebProcessPool::setProcessModel): Deleted. |
| (WebKit::WebProcessPool::ensureSharedWebProcess): Deleted. |
| * UIProcess/WebProcessPool.h: |
| (WebKit::WebProcessPool::sendToAllProcessesRelaunchingThemIfNecessary): |
| (WebKit::WebProcessPool::sendToOneProcess): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-11-30 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][Cache] We should not speculatively revalidate transient resources |
| https://bugs.webkit.org/show_bug.cgi?id=151402 |
| <rdar://problem/23092196> |
| |
| Reviewed by Antti Koivisto. |
| |
| We should not speculatively revalidate transient resources. This patch |
| adds a simple and conservative algorithm to detect that a subresource is |
| transient and then ignores those when doing the speculative revalidation. |
| |
| The algorithm is question marks as transient all subresources that are |
| not common to the 2 last loads of a main resource. |
| |
| This is not perfect as I see the number of non-speculative revalidations |
| going up to 11-12 from 9 in the context of the warm PLT. However, it is |
| best to be conservative at first and we can improve this later. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::retrieve): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::create): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::~PendingFrameLoad): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::registerSubresource): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::markLoadAsCompleted): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::setExistingSubresourcesEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::PendingFrameLoad): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::saveToDiskIfReady): |
| (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad): |
| (WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation): |
| (WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::retrieve): Deleted. |
| (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry): Deleted. |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h: |
| * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp: |
| (WebKit::NetworkCache::SubresourcesEntry::encodeAsStorageRecord): |
| (WebKit::NetworkCache::SubresourcesEntry::decodeStorageRecord): |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry): |
| (WebKit::NetworkCache::SubresourcesEntry::updateSubresourceKeys): |
| * NetworkProcess/cache/NetworkCacheSubresourcesEntry.h: |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::encode): |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::decode): |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::SubresourceInfo): |
| (WebKit::NetworkCache::SubresourcesEntry::subresources): |
| |
| 2015-11-30 Brent Fulgham <bfulgham@apple.com> |
| |
| [Mac] Add font service permission to the sandbox profile |
| https://bugs.webkit.org/show_bug.cgi?id=151509 |
| <rdar://problem/23508753> |
| |
| Reviewed by Anders Carlsson. |
| |
| Update the sandbox profile for Mac WebKit to allow access to the |
| "com.apple.fonts" service. |
| |
| * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2015-11-30 Alex Christensen <achristensen@webkit.org> |
| |
| Make usesNetworkProcess always true |
| https://bugs.webkit.org/show_bug.cgi?id=151580 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/mac/RemoteNetworkingContext.mm: |
| (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): |
| * Shared/API/c/WKDeprecatedFunctions.cpp: |
| (WKInspectorToggleJavaScriptProfiling): |
| (WKContextSetUsesNetworkProcess): |
| (WKGraphicsContextGetCGContext): |
| * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: |
| (WebKit::CustomProtocolManager::initializeConnection): |
| (WebKit::CustomProtocolManager::initialize): |
| * Shared/Network/CustomProtocols/CustomProtocolManager.h: |
| * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: |
| (WebKit::CustomProtocolManager::initialize): |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::createWithLegacyOptions): |
| (API::ProcessPoolConfiguration::copy): |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextSetJavaScriptGarbageCollectorTimerEnabled): |
| (WKContextUseTestingNetworkSession): |
| (WKContextSetUsesNetworkProcess): Deleted. |
| * UIProcess/API/C/WKContextPrivate.h: |
| * UIProcess/API/Cocoa/WKProcessGroup.mm: |
| (-[WKProcessGroup initWithInjectedBundleURL:]): |
| * UIProcess/API/efl/ewk_context.cpp: |
| (EwkContext::setProcessModel): |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::updateProcessSuppressionState): |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * UIProcess/Downloads/DownloadProxy.cpp: |
| (WebKit::DownloadProxy::cancel): |
| (WebKit::DownloadProxy::invalidate): |
| * UIProcess/WebCookieManagerProxy.cpp: |
| (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): |
| (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::WebProcessPool): |
| (WebKit::m_processSuppressionDisabledForPageCounter): |
| (WebKit::WebProcessPool::networkingProcessConnection): |
| (WebKit::WebProcessPool::languageChanged): |
| (WebKit::WebProcessPool::textCheckerStateChanged): |
| (WebKit::WebProcessPool::ensureNetworkProcess): |
| (WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled): |
| (WebKit::WebProcessPool::createNewWebProcess): |
| (WebKit::WebProcessPool::download): |
| (WebKit::WebProcessPool::resumeDownload): |
| (WebKit::WebProcessPool::setCanHandleHTTPSServerTrustEvaluation): |
| (WebKit::WebProcessPool::setCacheModel): |
| (WebKit::WebProcessPool::createDownloadProxy): |
| (WebKit::WebProcessPool::addMessageReceiver): |
| (WebKit::WebProcessPool::allowSpecificHTTPSCertificateForHost): |
| (WebKit::WebProcessPool::setHTTPPipeliningEnabled): |
| (WebKit::WebProcessPool::requestNetworkingStatistics): |
| (WebKit::WebProcessPool::setUsesNetworkProcess): Deleted. |
| (WebKit::WebProcessPool::usesNetworkProcess): Deleted. |
| * UIProcess/WebProcessPool.h: |
| (WebKit::WebProcessPool::sendToNetworkingProcess): |
| (WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::shutDown): |
| (WebKit::WebProcessProxy::removeWebPage): |
| (WebKit::WebProcessProxy::canTerminateChildProcess): |
| (WebKit::WebProcessProxy::updateTextCheckerState): |
| (WebKit::WebProcessProxy::didSaveToPageCache): |
| (WebKit::WebProcessProxy::didSetAssertionState): |
| (WebKit::WebProcessProxy::createDownloadProxy): Deleted. |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/efl/WebProcessPoolEfl.cpp: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| (WebKit::WebProcessPool::setIgnoreTLSErrors): |
| * WebProcess/FileAPI/BlobRegistryProxy.cpp: |
| (WebKit::BlobRegistryProxy::registerFileBlobURL): |
| (WebKit::BlobRegistryProxy::registerBlobURL): |
| (WebKit::BlobRegistryProxy::unregisterBlobURL): |
| (WebKit::BlobRegistryProxy::registerBlobURLForSlice): |
| (WebKit::BlobRegistryProxy::blobSize): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::cookiesForDOM): |
| (WebKit::WebPlatformStrategies::setCookiesFromDOM): |
| (WebKit::WebPlatformStrategies::cookiesEnabled): |
| (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue): |
| (WebKit::WebPlatformStrategies::getRawCookies): |
| (WebKit::WebPlatformStrategies::deleteCookie): |
| (WebKit::WebPlatformStrategies::resourceLoadScheduler): |
| (WebKit::WebPlatformStrategies::loadResourceSynchronously): |
| (WebKit::WebPlatformStrategies::createPingHandle): |
| (WebKit::WebPlatformStrategies::createBlobRegistry): |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::startDownload): |
| (WebKit::WebFrame::convertMainResourceLoadToDownload): |
| (WebKit::WebFrame::source): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| (WebKit::m_webSQLiteDatabaseTracker): |
| (WebKit::WebProcess::initializeConnection): |
| (WebKit::WebProcess::initializeWebProcess): |
| (WebKit::WebProcess::ensureNetworkProcessConnection): |
| (WebKit::WebProcess::destroyPrivateBrowsingSession): |
| (WebKit::WebProcess::pluginProcessConnectionManager): |
| (WebKit::WebProcess::shouldTerminate): |
| (WebKit::WebProcess::setInjectedBundleParameters): |
| (WebKit::WebProcess::networkConnection): |
| (WebKit::WebProcess::setEnhancedAccessibility): |
| (WebKit::WebProcess::prefetchDNS): |
| (WebKit::WebProcess::didCreateDownload): Deleted. |
| (WebKit::WebProcess::didDestroyDownload): Deleted. |
| (WebKit::WebProcess::downloadProxyConnection): Deleted. |
| (WebKit::WebProcess::downloadsAuthenticationManager): Deleted. |
| (WebKit::WebProcess::downloadManager): Deleted. |
| (WebKit::WebProcess::usesNetworkProcess): Deleted. |
| (WebKit::WebProcess::downloadRequest): Deleted. |
| (WebKit::WebProcess::resumeDownload): Deleted. |
| (WebKit::WebProcess::cancelDownload): Deleted. |
| * WebProcess/WebProcess.h: |
| (WebKit::WebProcess::textCheckerState): |
| (WebKit::WebProcess::eventDispatcher): |
| * WebProcess/WebProcess.messages.in: |
| * WebProcess/soup/WebProcessSoup.cpp: |
| (WebKit::WebProcess::platformSetCacheModel): |
| (WebKit::WebProcess::platformClearResourceCaches): |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| (WebKit::WebProcess::platformTerminate): |
| (WebKit::getCacheDiskFreeSize): Deleted. |
| (WebKit::setSoupSessionAcceptLanguage): Deleted. |
| (WebKit::languageChanged): Deleted. |
| (WebKit::WebProcess::setIgnoreTLSErrors): Deleted. |
| (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Deleted. |
| |
| 2015-11-30 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] UI process crash when the screensaver DBus proxy is being created while the web view is destroyed |
| https://bugs.webkit.org/show_bug.cgi?id=151653 |
| |
| Reviewed by Martin Robinson. |
| |
| We correctly cancel the proxy creation, but when the async ready |
| callback is called, the view could be destroyed already. In that |
| case g_dbus_proxy_new_for_bus_finish() will return nullptr and |
| fail with cancelled error, but we are using the passed web view |
| without checking first if the creation failed or not. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (screenSaverProxyCreatedCallback): |
| |
| 2015-11-28 Tim Horton <timothy_horton@apple.com> |
| |
| Stop unnecessarily copying WKWebViewConfiguration in a few places |
| https://bugs.webkit.org/show_bug.cgi?id=151639 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| (-[WKWebView dealloc]): |
| (-[WKWebView _contentProviderRegistry]): |
| (-[WKWebView _selectionGranularity]): |
| (-[WKWebView _setHasCustomContentView:loadedMIMEType:]): |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::mimeTypesWithCustomContentProviders): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView setupInteraction]): |
| (-[WKContentView _stopAssistingKeyboard]): |
| Looking at allocation traces I noticed that we were making way more |
| WKWebViewConfigurations than made sense; looking at backtraces I found |
| a few internal callers of -[WKWebView configuration], which copies the |
| configuration. There's no reason for these internal callers to make |
| such a copy, though. |
| |
| I'm not exactly sure what the usual approach is here, but I added |
| getters so WKContentViewInteraction and PageClientImplIOS can get to |
| the values they're looking for without using the configuration property. |
| |
| 2015-11-27 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Class-ify IDBGetResult making it impossible to get the data members wrong. |
| https://bugs.webkit.org/show_bug.cgi?id=151627 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: |
| (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): |
| * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: |
| |
| * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: |
| |
| * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<IDBGetResult>::encode): |
| (IPC::ArgumentCoder<IDBGetResult>::decode): |
| * Shared/WebCoreArgumentCoders.h: |
| |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: |
| |
| 2015-11-27 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Remove the remaining uses of GMainLoopSource |
| https://bugs.webkit.org/show_bug.cgi?id=151632 |
| |
| Reviewed by Žan Doberšek. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate): |
| (_WebKitWebViewBasePrivate::clearRedirectedWindowSoonTimerFired): |
| (webkitWebViewBaseClearRedirectedWindowSoon): |
| (webkitWebViewBaseEnterAcceleratedCompositingMode): |
| |
| 2015-11-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Use the network process unconditionally |
| https://bugs.webkit.org/show_bug.cgi?id=151541 |
| |
| Reviewed by Alex Christensen. |
| |
| Make the shared secondary process model become multiple secondary |
| process model with a limit of 1 web process. Use the same options |
| when creating a context with legacy configuration (unit tests and |
| inspector proxy). |
| |
| * NetworkProcess/gtk/NetworkProcessMainGtk.cpp: |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::createWithLegacyOptions): |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): |
| (webkit_web_context_set_process_model): |
| (webkit_web_context_get_process_model): |
| (webkit_web_context_set_web_process_count_limit): |
| (webkit_web_context_get_web_process_count_limit): |
| (toWebKitProcessModel): Deleted. |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| * UIProcess/gtk/WebProcessPoolGtk.cpp: |
| (WebKit::WebProcessPool::setIgnoreTLSErrors): |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| |
| 2015-11-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: inspector settings should not be shared between different inspection levels |
| https://bugs.webkit.org/show_bug.cgi?id=151151 |
| |
| Reviewed by Timothy Hatcher. |
| |
| In WebKit2, we already track the inspection level of WebPages in order to give inspectors |
| different page groups. Send the inspection level to WebInspectorUI WebProcess when |
| establishing a connection from the UIProcess. Use this number in the FrontendClient. |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::inspectionLevel): Renamed from inspectorLevel to be consistent. |
| (WebKit::WebInspectorProxy::inspectorPageGroupIdentifier): |
| (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess): |
| (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage): |
| (WebKit::WebInspectorProxy::createInspectorPage): |
| (WebKit::WebInspectorProxy::inspectorLevel): Deleted. |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::updateInspectorWindowTitle): |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| (WebKit::WebInspectorUI::establishConnection): |
| * WebProcess/WebPage/WebInspectorUI.h: |
| * WebProcess/WebPage/WebInspectorUI.messages.in: |
| |
| 2015-11-23 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| REGRESSION(r188206): [EFL] Missing to adjust scrollbar size to ewk_view_contents_size_get API test |
| https://bugs.webkit.org/show_bug.cgi?id=148735 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| r189256 missed to adjust scrollbar size to other tests in ewk_view_contents_size_get() API test. |
| In this case we need to apply scrollbar size to both width and height unlike previous fix. Because |
| horizontal scrollbar is also shown since device pixel ratio(= 2.0) is adjusted. |
| |
| * UIProcess/API/efl/tests/test_ewk2_view.cpp: |
| (TEST_F): |
| |
| 2015-11-23 Alex Christensen <achristensen@webkit.org> |
| |
| Fix crash in ~WebProcessPool when using Geolocation with useNetworkProcess=true |
| https://bugs.webkit.org/show_bug.cgi?id=151532 |
| |
| Reviewed by Benjamin Poulain. |
| |
| * UIProcess/WebGeolocationManagerProxy.cpp: |
| (WebKit::WebGeolocationManagerProxy::processPoolDestroyed): |
| (WebKit::WebGeolocationManagerProxy::processDidClose): |
| When a WebProcessPool is destroyed, only call stopUpdating if m_updateRequesters.clear() |
| stopped the updating, like we do in WebGeolocationManagerProxy::removeRequester. |
| Otherwise, call setEnableHighAccuracy if needed, also like we do in WebGeolocationManagerProxy::removeRequester. |
| |
| 2015-11-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: when inspecting the inspector, add the inspection level to the title bar |
| https://bugs.webkit.org/show_bug.cgi?id=151555 |
| |
| Reviewed by Timothy Hatcher. |
| |
| If the inspection level says we are inspecting an inspector, include the level |
| in the title bar to easily disambiguate it from the base level inspector. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::updateInspectorWindowTitle): |
| |
| 2015-11-23 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Unreviewed speculative buildfix after r192701. |
| |
| * PlatformMac.cmake: |
| |
| 2015-11-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.2 release. |
| |
| * gtk/NEWS: Add release notes for 2.11.2. |
| |
| 2015-11-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Add missing inspector file to GTK+ compilation. |
| |
| * PlatformGTK.cmake: |
| |
| == Rolled over to ChangeLog-2015-11-21 == |