haikuwebkit/LayoutTests/fast/dom/navigator-userAgent-frozen....

63 lines
1.6 KiB
HTML
Raw Permalink Normal View History

Limit user agent versioning to an upper bound https://bugs.webkit.org/show_bug.cgi?id=180365 <rdar://problem/34550617> Reviewed by Joseph Pecoraro. Source/WebCore: Freeze the version reported as User Agent to OS 10.13.4 (OS 11.3 on iOS) and WebKit 605.1.15 for User Agent purposes. Test: fast/dom/navigator-userAgent-frozen.html * page/cocoa/UserAgent.h: * page/cocoa/UserAgent.mm: (WebCore::versionPredatesFreeze): Helper function. Returns true for Version 10.13.3 or older. (WebCore::systemMarketingVersionForUserAgentString): (WebCore::userAgentBundleVersion): (WebCore::userVisibleWebKitBundleVersionFromFullVersion): Deleted. (WebCore::userAgentBundleVersionFromFullVersionString): Deleted. * page/ios/UserAgentIOS.mm: (WebCore::standardUserAgentWithApplicationName): Don't take the WebKit bundle version as an argument, or pass it to the user agent string generator. * page/mac/UserAgentMac.mm: (WebCore::standardUserAgentWithApplicationName): Ditto. Source/WebKit: * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::standardUserAgent): Don't pass the WebKit bundle version when creatin the User Agent string. (WebKit::webKitBundleVersionString): Deleted. * UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::standardUserAgent): Ditto. (WebKit::webKitBundleVersionString): Deleted. Source/WebKitLegacy/mac: * WebView/WebView.mm: (+[WebView _standardUserAgentWithApplicationName:]): Don't pass the WebKit bundle version when creating the User Agent string. (webKitBundleVersionString): Deleted. LayoutTests: * fast/dom/navigator-userAgent-frozen-expected.txt: Added. * fast/dom/navigator-userAgent-frozen.html: Added. Canonical link: https://commits.webkit.org/196390@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@225562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-06 01:59:53 +00:00
<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test.js"></script>
<script>
description("Confirm WebKit does not report versions above the frozen maximums.");
</script>
</head>
<body>
<script>
function testVersion(userAgent)
{
var start = userAgent.indexOf("AppleWebKit/");
if (start < 0) {
testFailed("User agent did not contain WebKit version.");
return;
}
start += 12;
var end = userAgent.indexOf(" ", start);
if (end < 0) {
testFailed("Couldn't find end of the version string.");
return;
}
var version = userAgent.substr(start, end - start);
if (version == "") {
testFailed("Malformed version string.");
return;
}
var versionComponents = version.split('.');
if (versionComponents[0] <= 605)
testPassed("Major version number is within bounds.");
else
testFailed("Major version number is " + versionComponents[0]);
if (versionComponents.length < 2)
return;
if (versionComponents[0] < 605 || versionComponents[1] <= 1)
testPassed("Minor version number is within bounds.");
else
testFailed("Minor version number is " + versionComponents[1]);
if (versionComponents.length < 3)
return;
if (versionComponents[0] < 605 || versionComponents[1] < 1 || versionComponents[2] <= 15)
testPassed("Tiny version number is within bounds.");
else
testFailed("Tiny version number is " + versionComponents[2]);
}
if (window.testRunner)
testRunner.dumpAsText();
testVersion(navigator.userAgent);
</script>
</body>
</html>