Skip to content

Commit

Permalink
Change user agent
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthew Benedict authored and Matthew Benedict committed Apr 20, 2023
1 parent ab55fd8 commit 83d58b5
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 23 deletions.
11 changes: 5 additions & 6 deletions Source/CyberCore/platform/ios/UserAgentIOS.mm
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ ASCIILiteral osNameForUserAgent()
return "iPhone OS"_s;
}

#if !USE(STATIC_IPAD_USER_AGENT_VALUE)
#if 0 && !USE(STATIC_IPAD_USER_AGENT_VALUE)
static StringView deviceNameForUserAgent()
{
if (isClassic()) {
Expand All @@ -88,19 +88,18 @@ String standardUserAgentWithApplicationName(const String& applicationName, const
auto separator = applicationName.isEmpty() ? "" : " ";

if (type == UserAgentType::Desktop)
return makeString("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleCyberKit/605.1.15 (KHTML, like Gecko)", separator, applicationName);

#if USE(STATIC_IPAD_USER_AGENT_VALUE)
return makeString("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Safari/605.1.15");
#if 1 || USE(STATIC_IPAD_USER_AGENT_VALUE)
UNUSED_PARAM(userAgentOSVersion);
UNUSED_PARAM(separator);
return makeString("Mozilla/5.0 (iPad; CPU OS 16_3_1 like Mac OS X) AppleCyberKit/605.1.15 (KHTML, like Gecko) Version/16.3 Mobile/15E148 Safari/604.1");
return makeString("Mozilla/5.0 (iPad; CPU OS 16_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Mobile/15E148 Safari/604.1");
#else
// FIXME: We should deprecate and remove this override; see https://bugs.webkit.org/show_bug.cgi?id=217927 for details.
if (auto override = dynamic_cf_cast<CFStringRef>(adoptCF(CFPreferencesCopyAppValue(CFSTR("UserAgent"), CFSTR("com.apple.WebFoundation")))))
return override.get();
auto osVersion = userAgentOSVersion.isEmpty() ? systemMarketingVersionForUserAgentString() : userAgentOSVersion;
return makeString("Mozilla/5.0 (", deviceNameForUserAgent(), "; CPU ", osNameForUserAgent(), " ", osVersion, " like Mac OS X) AppleCyberKit/605.1.15 (KHTML, like Gecko)", separator, applicationName);
return makeString("Mozilla/5.0 (", deviceNameForUserAgent(), "; CPU ", osNameForUserAgent(), " ", osVersion, " like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko)", separator, applicationName);
#endif
}

Expand Down
2 changes: 1 addition & 1 deletion Source/CyberCore/platform/mac/UserAgentMac.mm
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ String standardUserAgentWithApplicationName(const String& applicationName, const

String appNameSuffix = applicationName.isEmpty() ? emptyString() : makeString(" ", applicationName);

return makeString("Mozilla/5.0 (Macintosh; Intel Mac OS X ", osVersion, ") AppleCyberKit/605.1.15 (KHTML, like Gecko)", appNameSuffix);
return makeString("Mozilla/5.0 (Macintosh; Intel Mac OS X ", osVersion, ") AppleWebKit/605.1.15 (KHTML, like Gecko)", appNameSuffix);
}

} // namespace CyberCore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var safari = /Apple Computer/.test(navigator.vendor)
var mac_geMountainLion = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(userAgent)
var phantom = /PhantomJS/.test(userAgent)

var ios = /AppleCyberKit/.test(userAgent) && /Mobile\/\w+/.test(userAgent)
var ios = /AppleWebKit/.test(userAgent) && /Mobile\/\w+/.test(userAgent)
// This is woefully incomplete. Suggestions for alternative methods welcome.
var mobile = ios || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent)
var mac = ios || /Mac/.test(platform)
Expand Down Expand Up @@ -9108,4 +9108,4 @@ CodeMirror.version = "5.21.1"

return CodeMirror;

})));
})));
Original file line number Diff line number Diff line change
Expand Up @@ -146,20 +146,20 @@ WI.OverrideDeviceSettingsPopover = class OverrideDeviceSettingsPopover extends W
{name: WI.UIString("Default"), value: WI.DeviceSettingsManager.DefaultValue},
],
[
{name: "Safari 16.0", value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleCyberKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15"},
{name: "Safari 16.0", value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15"},
],
[
{name: `Safari ${emDash} iOS 16.0 ${emDash} iPhone`, value: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleCyberKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1"},
{name: `Safari ${emDash} iPadOS 16.0 ${emDash} iPad mini`, value: "Mozilla/5.0 (iPad; CPU iPhone OS 16_0 like Mac OS X) AppleCyberKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1"},
{name: `Safari ${emDash} iPadOS 16.0 ${emDash} iPad`, value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleCyberKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15"},
{name: `Safari ${emDash} iOS 16.0 ${emDash} iPhone`, value: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1"},
{name: `Safari ${emDash} iPadOS 16.0 ${emDash} iPad mini`, value: "Mozilla/5.0 (iPad; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1"},
{name: `Safari ${emDash} iPadOS 16.0 ${emDash} iPad`, value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15"},
],
[
{name: `Microsoft Edge ${emDash} macOS`, value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleCyberKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36 Edg/103.0.1264.37"},
{name: `Microsoft Edge ${emDash} Windows`, value: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleCyberKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36 Edg/103.0.1264.37"},
{name: `Microsoft Edge ${emDash} macOS`, value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36 Edg/103.0.1264.37"},
{name: `Microsoft Edge ${emDash} Windows`, value: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36 Edg/103.0.1264.37"},
],
[
{name: `Google Chrome ${emDash} macOS`, value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleCyberKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36"},
{name: `Google Chrome ${emDash} Windows`, value: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleCyberKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"},
{name: `Google Chrome ${emDash} macOS`, value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36"},
{name: `Google Chrome ${emDash} Windows`, value: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"},
],
[
{name: `Firefox ${emDash} macOS`, value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:101.0) Gecko/20100101 Firefox/101.0"},
Expand Down
10 changes: 5 additions & 5 deletions Tools/MiniBrowser/mac/SettingsController.m
Original file line number Diff line number Diff line change
Expand Up @@ -228,15 +228,15 @@ + (NSArray *)userAgentData
@{
@"label" : @"Safari 13.1",
@"identifier" : @"safari",
@"userAgent" : @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleCyberKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Safari/605.1.15"
@"userAgent" : @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Safari/605.1.15"
},
@{
@"label" : @"-",
},
@{
@"label" : @"Safari—iOS 13.4—iPhone",
@"identifier" : @"iphone-safari",
@"userAgent" : @"Mozilla/5.0 (iPhone; CPU iPhone OS 13_4 like Mac OS X) AppleCyberKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1"
@"userAgent" : @"Mozilla/5.0 (iPhone; CPU iPhone OS 13_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1"
},
@{
@"label" : @"-",
Expand All @@ -257,17 +257,17 @@ + (NSArray *)userAgentData
@{
@"label" : @"Chrome—macOS",
@"identifier" : @"chrome",
@"userAgent" : @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleCyberKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
@"userAgent" : @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
},
@{
@"label" : @"Chrome—Windows",
@"identifier" : @"windows-chrome",
@"userAgent" : @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleCyberKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
@"userAgent" : @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
},
@{
@"label" : @"Chrome—Android",
@"identifier" : @"android-chrome",
@"userAgent" : @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleCyberKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
@"userAgent" : @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
},
];
}
Expand Down
2 changes: 1 addition & 1 deletion Tools/TestCyberKitAPI/ios/PreferredContentMode.mm
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ static auto makeContentModeDecisionHandler(WKContentMode mode)

auto [webView, delegate] = setUpWebViewForPreferredContentModeTesting<TestWKWebView>(WKContentModeDesktop);

NSString *customUserAgent = @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleCyberKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36";
NSString *customUserAgent = @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36";
[webView setCustomUserAgent:customUserAgent];
[webView loadTestPageNamed:@"simple" withPolicyDecisionHandler:nil];
EXPECT_WK_STREQ(customUserAgent, [webView navigatorUserAgent]);
Expand Down

0 comments on commit 83d58b5

Please sign in to comment.