Title: [165398] trunk/Source/WebKit2
Revision
165398
Author
m...@apple.com
Date
2014-03-10 13:19:06 -0700 (Mon, 10 Mar 2014)

Log Message

<rdar://problem/16278716> [Cocoa] Allow setting a custom group identifier on a WKWebView
https://bugs.webkit.org/show_bug.cgi?id=130033

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]): Create a page group with the group identifier
from the configuration, if it’s non-empty.
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _groupIdentifier]): Added this accessor.
(-[WKWebViewConfiguration _setGroupIdentifier:]): Ditto.
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Declared _groupIdentifier property.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (165397 => 165398)


--- trunk/Source/WebKit2/ChangeLog	2014-03-10 20:11:07 UTC (rev 165397)
+++ trunk/Source/WebKit2/ChangeLog	2014-03-10 20:19:06 UTC (rev 165398)
@@ -1,3 +1,18 @@
+2014-03-10  Dan Bernstein  <m...@apple.com>
+
+        <rdar://problem/16278716> [Cocoa] Allow setting a custom group identifier on a WKWebView
+        https://bugs.webkit.org/show_bug.cgi?id=130033
+
+        Reviewed by Tim Horton.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView initWithFrame:configuration:]): Create a page group with the group identifier
+        from the configuration, if it’s non-empty.
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+        (-[WKWebViewConfiguration _groupIdentifier]): Added this accessor.
+        (-[WKWebViewConfiguration _setGroupIdentifier:]): Ditto.
+        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Declared _groupIdentifier property.
+
 2014-03-10  Enrica Casucci  <enr...@apple.com>
 
         WebKit2: Crash in WebPage::getPositionInformation.

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (165397 => 165398)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2014-03-10 20:11:07 UTC (rev 165397)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2014-03-10 20:19:06 UTC (rev 165398)
@@ -51,6 +51,7 @@
 #import "WebCertificateInfo.h"
 #import "WebContext.h"
 #import "WebBackForwardList.h"
+#import "WebPageGroup.h"
 #import "WebPageProxy.h"
 #import "WebProcessProxy.h"
 #import "WKNSURLExtras.h"
@@ -152,6 +153,13 @@
 
     webPageConfiguration.visitedLinkProvider = [_configuration visitedLinkProvider]->_visitedLinkProvider.get();
 
+    RefPtr<WebKit::WebPageGroup> pageGroup;
+    NSString *groupIdentifier = configuration._groupIdentifier;
+    if (groupIdentifier.length) {
+        pageGroup = WebKit::WebPageGroup::create(configuration._groupIdentifier);
+        webPageConfiguration.pageGroup = pageGroup.get();
+    }
+
 #if PLATFORM(IOS)
     _scrollView = adoptNS([[WKScrollView alloc] initWithFrame:bounds]);
     [_scrollView setInternalDelegate:self];

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm (165397 => 165398)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm	2014-03-10 20:11:07 UTC (rev 165397)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm	2014-03-10 20:19:06 UTC (rev 165398)
@@ -37,6 +37,7 @@
     RetainPtr<WKPreferences> _preferences;
     RetainPtr<WKVisitedLinkProvider> _visitedLinkProvider;
     WebKit::WeakObjCPtr<WKWebView> _relatedWebView;
+    RetainPtr<NSString> _groupIdentifier;
 #if PLATFORM(IOS)
     RetainPtr<WKWebViewContentProviderRegistry> _contentProviderRegistry;
 #endif
@@ -91,6 +92,22 @@
     _visitedLinkProvider = visitedLinkProvider;
 }
 
+#if PLATFORM(IOS)
+- (WKWebViewContentProviderRegistry *)_contentProviderRegistry
+{
+    return _contentProviderRegistry.get();
+}
+
+- (void)_setContentProviderRegistry:(WKWebViewContentProviderRegistry *)registry
+{
+    _contentProviderRegistry = registry;
+}
+#endif
+
+@end
+
+@implementation WKWebViewConfiguration (WKPrivate)
+
 - (WKWebView *)_relatedWebView
 {
     return _relatedWebView.getAutoreleased();
@@ -101,17 +118,15 @@
     _relatedWebView = relatedWebView;
 }
 
-#if PLATFORM(IOS)
-- (WKWebViewContentProviderRegistry *)_contentProviderRegistry
+- (NSString *)_groupIdentifier
 {
-    return _contentProviderRegistry.get();
+    return _groupIdentifier.get();
 }
 
-- (void)_setContentProviderRegistry:(WKWebViewContentProviderRegistry *)registry
+- (void)_setGroupIdentifier:(NSString *)groupIdentifier
 {
-    _contentProviderRegistry = registry;
+    _groupIdentifier = groupIdentifier;
 }
-#endif
 
 @end
 

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h (165397 => 165398)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h	2014-03-10 20:11:07 UTC (rev 165397)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h	2014-03-10 20:19:06 UTC (rev 165398)
@@ -32,6 +32,7 @@
 @interface WKWebViewConfiguration (WKPrivate)
 
 @property (nonatomic, weak, setter=_setRelatedWebView:) WKWebView *_relatedWebView;
+@property (nonatomic, copy, setter=_setGroupIdentifier:) NSString *_groupIdentifier;
 
 @end
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to