Title: [211221] trunk/Source/WebKit2
Revision
211221
Author
commit-qu...@webkit.org
Date
2017-01-26 11:25:12 -0800 (Thu, 26 Jan 2017)

Log Message

Add SPI for updating WebsitePolicies
https://bugs.webkit.org/show_bug.cgi?id=167040

Patch by Alex Christensen <achristen...@webkit.org> on 2017-01-26
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:

Modified Paths

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()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to