summaryrefslogtreecommitdiffstats
path: root/ios/web
diff options
context:
space:
mode:
authorstuartmorgan <stuartmorgan@chromium.org>2015-08-24 08:55:05 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-24 15:55:36 +0000
commitb89310841ba07654c97802a5375dd1ae47e3529f (patch)
tree5e93ed4aa74c6d3af9e030b606d4d9db2eaaf50c /ios/web
parent01cb97b2e09618bbc3a60c7348f0a844eea20547 (diff)
downloadchromium_src-b89310841ba07654c97802a5375dd1ae47e3529f.zip
chromium_src-b89310841ba07654c97802a5375dd1ae47e3529f.tar.gz
chromium_src-b89310841ba07654c97802a5375dd1ae47e3529f.tar.bz2
Remove request group ID from UA with WKWebView
Without the network stack, there is no need to append a request group ID to the user agent. This removes it in a minimal way; once the WKWebView-with-network-stack config is removed it'll be easier to clean up the cruft. BUG=None Review URL: https://codereview.chromium.org/1310763002 Cr-Commit-Position: refs/heads/master@{#345078}
Diffstat (limited to 'ios/web')
-rw-r--r--ios/web/net/request_group_util.h1
-rw-r--r--ios/web/net/request_group_util.mm2
-rw-r--r--ios/web/web_state/ui/crw_wk_web_view_web_controller.mm30
3 files changed, 23 insertions, 10 deletions
diff --git a/ios/web/net/request_group_util.h b/ios/web/net/request_group_util.h
index 525f2d0..071f51f 100644
--- a/ios/web/net/request_group_util.h
+++ b/ios/web/net/request_group_util.h
@@ -30,6 +30,7 @@ NSString* ExtractRequestGroupIDFromUserAgent(NSString* user_agent);
// Returns a new user agent, which is the result of the encoding of
// |request_group_id| in |base_user_agent|. The request group ID can be later
// extracted with ExtractRequestGroupIDFromUserAgent().
+// If request_group_id is nil, returns base_user_agent.
NSString* AddRequestGroupIDToUserAgent(NSString* base_user_agent,
NSString* request_group_id);
diff --git a/ios/web/net/request_group_util.mm b/ios/web/net/request_group_util.mm
index 9a41cef..5aecb10 100644
--- a/ios/web/net/request_group_util.mm
+++ b/ios/web/net/request_group_util.mm
@@ -65,6 +65,8 @@ NSString* ExtractRequestGroupIDFromUserAgent(NSString* user_agent) {
NSString* AddRequestGroupIDToUserAgent(NSString* base_user_agent,
NSString* request_group_id) {
+ if (!request_group_id)
+ return base_user_agent;
// TODO(blundell): Develop a long-term solution to this problem.
// crbug.com/329243
DCHECK([request_group_id length] >= kMinimumIDLength);
diff --git a/ios/web/web_state/ui/crw_wk_web_view_web_controller.mm b/ios/web/web_state/ui/crw_wk_web_view_web_controller.mm
index bee6967..2ece2f9 100644
--- a/ios/web/web_state/ui/crw_wk_web_view_web_controller.mm
+++ b/ios/web/web_state/ui/crw_wk_web_view_web_controller.mm
@@ -147,6 +147,10 @@ WKWebViewErrorSource WKWebViewErrorSourceFromError(NSError* error) {
// changed.
@property(nonatomic, readonly) NSDictionary* wkWebViewObservers;
+// Returns the string to use as the request group ID in the user agent. Returns
+// nil unless the network stack is enabled.
+@property(nonatomic, readonly) NSString* requestGroupIDForUserAgent;
+
// Activity indicator group ID for this web controller.
@property(nonatomic, readonly) NSString* activityIndicatorGroupID;
@@ -369,11 +373,11 @@ WKWebViewErrorSource WKWebViewErrorSourceFromError(NSError* error) {
return _documentURL;
}
+// TODO(stuartmorgan): Remove this method and use the API for WKWebView,
+// making the reset-on-each-load behavior specific to the UIWebView subclass.
- (void)registerUserAgent {
- // TODO(stuartmorgan): Rename this method, since it works for both.
- web::BuildAndRegisterUserAgentForUIWebView(
- self.webStateImpl->GetRequestGroupID(),
- [self useDesktopUserAgent]);
+ web::BuildAndRegisterUserAgentForUIWebView([self requestGroupIDForUserAgent],
+ [self useDesktopUserAgent]);
}
// The core.js cannot pass messages back to obj-c if it is injected
@@ -566,6 +570,14 @@ WKWebViewErrorSource WKWebViewErrorSourceFromError(NSError* error) {
};
}
+- (NSString*)requestGroupIDForUserAgent {
+#if defined(ENABLE_CHROME_NET_STACK_FOR_WKWEBVIEW)
+ return self.webStateImpl->GetRequestGroupID();
+#else
+ return nil;
+#endif
+}
+
- (NSString*)activityIndicatorGroupID {
return [NSString stringWithFormat:
@"WKWebViewWebController.NetworkActivityIndicatorKey.%@",
@@ -602,12 +614,10 @@ WKWebViewErrorSource WKWebViewErrorSourceFromError(NSError* error) {
}
- (WKWebView*)createWebViewWithConfiguration:(WKWebViewConfiguration*)config {
- return [web::CreateWKWebView(
- CGRectZero,
- config,
- self.webStateImpl->GetBrowserState(),
- self.webStateImpl->GetRequestGroupID(),
- [self useDesktopUserAgent]) autorelease];
+ return [web::CreateWKWebView(CGRectZero, config,
+ self.webStateImpl->GetBrowserState(),
+ [self requestGroupIDForUserAgent],
+ [self useDesktopUserAgent]) autorelease];
}
- (void)setWebView:(WKWebView*)webView {