Diff
Modified: trunk/Source/WebKit2/ChangeLog (211220 => 211221)
--- trunk/Source/WebKit2/ChangeLog 2017-01-26 19:21:39 UTC (rev 211220)
+++ trunk/Source/WebKit2/ChangeLog 2017-01-26 19:25:12 UTC (rev 211221)
@@ -1,3 +1,28 @@
+2017-01-26 Alex Christensen <achristen...@webkit.org>
+
+ Add SPI for updating WebsitePolicies
+ https://bugs.webkit.org/show_bug.cgi?id=167040
+
+ Reviewed by Brady Eidson.
+
+ In r209558 we added a way to send a WebsitePolicies structure to the WebProcess during navigation.
+ If the UIProcess wants to update these policies on a WKWebView while a page is open, we will
+ need to have SPI for doing so. This adds such SPI, but it's not hooked up to change functionality yet.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageUpdateWebsitePolicies):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/Cocoa/WKWebView.mm:
+ (-[WKWebView _updateWebsitePolicies:]):
+ * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::updateWebsitePolicies):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updateWebsitePolicies):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
2017-01-26 Carlos Garcia Campos <cgar...@igalia.com>
[Threaded Compositor] Update also the contents size when creating the threaded compositor
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp (211220 => 211221)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp 2017-01-26 19:21:39 UTC (rev 211220)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp 2017-01-26 19:25:12 UTC (rev 211221)
@@ -46,6 +46,7 @@
#include "APIPolicyClient.h"
#include "APISessionState.h"
#include "APIUIClient.h"
+#include "APIWebsitePolicies.h"
#include "APIWindowFeatures.h"
#include "AuthenticationChallengeProxy.h"
#include "LegacySessionStateCoding.h"
@@ -315,6 +316,11 @@
return toImpl(pageRef)->willHandleHorizontalScrollEvents();
}
+void WKPageUpdateWebsitePolicies(WKPageRef pageRef, WKWebsitePoliciesRef websitePoliciesRef)
+{
+ toImpl(pageRef)->updateWebsitePolicies(toImpl(websitePoliciesRef)->websitePolicies());
+}
+
WKStringRef WKPageCopyTitle(WKPageRef pageRef)
{
return toCopiedAPI(toImpl(pageRef)->pageLoadState().title());
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPage.h (211220 => 211221)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPage.h 2017-01-26 19:21:39 UTC (rev 211220)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPage.h 2017-01-26 19:25:12 UTC (rev 211221)
@@ -97,7 +97,9 @@
WK_EXPORT void WKPageTryRestoreScrollPosition(WKPageRef page);
WK_EXPORT WKBackForwardListRef WKPageGetBackForwardList(WKPageRef page);
WK_EXPORT bool WKPageWillHandleHorizontalScrollEvents(WKPageRef page);
-
+
+WK_EXPORT void WKPageUpdateWebsitePolicies(WKPageRef, WKWebsitePoliciesRef);
+
WK_EXPORT WKStringRef WKPageCopyTitle(WKPageRef page);
WK_EXPORT WKURLRef WKPageCopyPendingAPIRequestURL(WKPageRef page);
Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (211220 => 211221)
--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2017-01-26 19:21:39 UTC (rev 211220)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2017-01-26 19:25:12 UTC (rev 211221)
@@ -86,6 +86,7 @@
#import "_WKRemoteObjectRegistryInternal.h"
#import "_WKSessionStateInternal.h"
#import "_WKVisitedLinkStoreInternal.h"
+#import "_WKWebsitePoliciesInternal.h"
#import <WebCore/GraphicsContextCG.h>
#import <WebCore/IOSurface.h>
#import <WebCore/JSDOMBinding.h>
@@ -3573,6 +3574,11 @@
_page->close();
}
+- (void)_updateWebsitePolicies:(_WKWebsitePolicies *)websitePolicies
+{
+ _page->updateWebsitePolicies(websitePolicies->_websitePolicies->websitePolicies());
+}
+
- (BOOL)_allowsRemoteInspection
{
#if ENABLE(REMOTE_INSPECTOR)
Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h (211220 => 211221)
--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h 2017-01-26 19:21:39 UTC (rev 211220)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h 2017-01-26 19:25:12 UTC (rev 211221)
@@ -59,6 +59,7 @@
@class _WKIconLoadingDelegate;
@class _WKRemoteObjectRegistry;
@class _WKSessionState;
+@class _WKWebsitePolicies;
@class _WKWebViewPrintFormatter;
@protocol WKHistoryDelegatePrivate;
@@ -117,6 +118,8 @@
- (void)_close;
+- (void)_updateWebsitePolicies:(_WKWebsitePolicies *)websitePolicies;
+
@property (nonatomic, setter=_setLayoutMode:) _WKLayoutMode _layoutMode;
// For use with _layoutMode = _WKLayoutModeFixedSize:
@property (nonatomic, setter=_setFixedLayoutSize:) CGSize _fixedLayoutSize;
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (211220 => 211221)
--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2017-01-26 19:21:39 UTC (rev 211220)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2017-01-26 19:25:12 UTC (rev 211221)
@@ -5895,6 +5895,11 @@
return !m_canShortCircuitHorizontalWheelEvents;
}
+void WebPageProxy::updateWebsitePolicies(const WebsitePolicies& websitePolicies)
+{
+ m_process->send(Messages::WebPage::UpdateWebsitePolicies(websitePolicies), m_pageID);
+}
+
void WebPageProxy::didFinishLoadingDataForCustomContentProvider(const String& suggestedFilename, const IPC::DataReference& dataReference)
{
m_pageClient.didFinishLoadingDataForCustomContentProvider(suggestedFilename, dataReference);
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (211220 => 211221)
--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h 2017-01-26 19:21:39 UTC (rev 211220)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h 2017-01-26 19:25:12 UTC (rev 211221)
@@ -408,6 +408,8 @@
bool willHandleHorizontalScrollEvents() const;
+ void updateWebsitePolicies(const WebsitePolicies&);
+
bool canShowMIMEType(const String& mimeType);
bool drawsBackground() const { return m_drawsBackground; }
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (211220 => 211221)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2017-01-26 19:21:39 UTC (rev 211220)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2017-01-26 19:25:12 UTC (rev 211221)
@@ -5468,6 +5468,11 @@
m_loaderClient.featuresUsedInPage(this, namedFeatures);
}
+void WebPage::updateWebsitePolicies(const WebsitePolicies&)
+{
+ // FIXME: Update the website policies in m_page.
+}
+
unsigned WebPage::extendIncrementalRenderingSuppression()
{
unsigned token = m_maximumRenderingSuppressionToken + 1;
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (211220 => 211221)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h 2017-01-26 19:21:39 UTC (rev 211220)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h 2017-01-26 19:25:12 UTC (rev 211221)
@@ -199,6 +199,7 @@
struct InteractionInformationRequest;
struct LoadParameters;
struct PrintInfo;
+struct WebsitePolicies;
struct WebPageCreationParameters;
struct WebPreferencesStore;
struct WebSelectionData;
@@ -1214,6 +1215,8 @@
void reportUsedFeatures();
+ void updateWebsitePolicies(const WebsitePolicies&);
+
#if PLATFORM(MAC)
void performImmediateActionHitTestAtLocation(WebCore::FloatPoint);
RefPtr<WebCore::Range> lookupTextAtLocation(WebCore::FloatPoint, NSDictionary **options);
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (211220 => 211221)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in 2017-01-26 19:21:39 UTC (rev 211220)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in 2017-01-26 19:25:12 UTC (rev 211221)
@@ -146,6 +146,7 @@
DidRemoveBackForwardItem(uint64_t backForwardItemID)
+ UpdateWebsitePolicies(struct WebKit::WebsitePolicies websitePolicies)
DidReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_t policyAction, uint64_t navigationID, WebKit::DownloadID downloadID)
ClearSelection()