Summary: | Remove duplication in code that prepares the user agent string on Mac and iOS | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Mark Rowe (bdash) <mrowe> | ||||
Component: | WebKit Misc. | Assignee: | Mark Rowe (bdash) <mrowe> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | ||||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 134524 | ||||||
Attachments: |
|
Description
Mark Rowe (bdash)
2014-07-01 16:30:38 PDT
Created attachment 234216 [details]
Patch
Comment on attachment 234216 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=234216&action=review > Source/WebCore/page/cocoa/UserAgent.mm:51 > + // If the version is longer than 3 digits then the leading digits represent the version of the OS. Our user agent > + // string should not include the leading digits, so strip them off and report the rest as the version. <rdar://problem/4997547> > + NSRange nonDigitRange = [fullWebKitVersion rangeOfCharacterFromSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]]; > + if (nonDigitRange.location == NSNotFound && fullWebKitVersion.length > 3) > + return [fullWebKitVersion substringFromIndex:fullWebKitVersion.length - 3]; > + if (nonDigitRange.location != NSNotFound && nonDigitRange.location > 3) > + return [fullWebKitVersion substringFromIndex:nonDigitRange.location - 3]; Sad that we go to NSString and back. > Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm:66 > + return [[NSBundle bundleForClass:NSClassFromString(@"WKView")] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey]; There's a WKView in WebCore. Is that really the one we want? > Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm:102 > + return [[NSBundle bundleForClass:NSClassFromString(@"WKView")] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey]; WKView again? (In reply to comment #2) > > Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm:66 > > + return [[NSBundle bundleForClass:NSClassFromString(@"WKView")] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey]; > > There's a WKView in WebCore. Is that really the one we want? The WKView class lives in WebKit2. I'll change to WKWebView though since that's now WebKit2's primary class. Landed in r170734. <https://trac.webkit.org/r170734> |