diff options
Diffstat (limited to 'dom/base/test/meta_viewport/test_meta_viewport_change_content_among_multiple.html')
-rw-r--r-- | dom/base/test/meta_viewport/test_meta_viewport_change_content_among_multiple.html | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/dom/base/test/meta_viewport/test_meta_viewport_change_content_among_multiple.html b/dom/base/test/meta_viewport/test_meta_viewport_change_content_among_multiple.html new file mode 100644 index 0000000000..8ec88b8920 --- /dev/null +++ b/dom/base/test/meta_viewport/test_meta_viewport_change_content_among_multiple.html @@ -0,0 +1,52 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="utf-8"> + <title>content attribute changes among multiple meta viewport tags</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> + <meta id="first" name="viewport" content="width=980"> + <meta id="second" name="viewport" content="width=device-width, initial-scale=1"> + <script src="viewport_helpers.js"></script> +</head> +<body> + <script type="application/javascript"> + "use strict"; + + add_task(async function change_content_attribute() { + await SpecialPowers.pushPrefEnv(scaleRatio(1.0)); + + let info = getViewportInfo(800, 480); + // The second meta tag is the one we use. + is(info.defaultZoom, 1, "initial zoom is 1"); + is(info.width, 800, "width should be 800"); + is(info.height, 480, "height should be 480"); + + // Change the content of the first one. + // eslint-disable-next-line no-undef + first.setAttribute("content", "width=640"); + + // Now the first one is prior to the second one. + info = getViewportInfo(800, 480); + fuzzeq(info.defaultZoom, 800/640, "initial scale is calculated based on width"); + is(info.minZoom, 0.25, "minimum scale defaults to the absolute minimum"); + is(info.maxZoom, 10, "maximum scale defaults to the absolute maximum"); + is(info.width, 640, "width is the default width"); + is(info.height, 480*640/800, "height is proportional to displayHeight"); + + // Cleat the second content. + // eslint-disable-next-line no-undef + second.setAttribute("content", ""); + + // The second one is prior to the first one, but the content is empty so + // that we should behave as if there is no meta viewport tag. + info = getViewportInfo(800, 480); + is(info.defaultZoom, 0.25, "initial scale is clamped to the default mimumim scale"); + is(info.minZoom, 0.25, "minimum scale defaults to the absolute minimum"); + is(info.maxZoom, 10, "maximum scale defaults to the absolute maximum"); + is(info.width, 980, "width should be 980"); + is(info.height,588, "height is proportional to displayHeight"); + }); + </script> +</body> +</html> |