diff options
author | stuartmorgan <stuartmorgan@chromium.org> | 2015-08-24 08:55:05 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-24 15:55:36 +0000 |
commit | b89310841ba07654c97802a5375dd1ae47e3529f (patch) | |
tree | 5e93ed4aa74c6d3af9e030b606d4d9db2eaaf50c /ios/web | |
parent | 01cb97b2e09618bbc3a60c7348f0a844eea20547 (diff) | |
download | chromium_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.h | 1 | ||||
-rw-r--r-- | ios/web/net/request_group_util.mm | 2 | ||||
-rw-r--r-- | ios/web/web_state/ui/crw_wk_web_view_web_controller.mm | 30 |
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 { |