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