commit 452f870c8dff8089f759c9052960ad7fc73866a0 Author: Arthur Edelstein arthuredelstein@gmail.com Date: Sat Jun 20 16:10:34 2015 -0700
Bug #16315: Test spoofed media queries in picture elements --- tbb-tests/match.png | Bin 0 -> 1210 bytes tbb-tests/mismatch.png | Bin 0 -> 1573 bytes tbb-tests/mochitest.ini | 3 +++ tbb-tests/test_tor_bug2875.html | 38 ++++++++++++++++++++++++++++++++------ 4 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/tbb-tests/match.png b/tbb-tests/match.png new file mode 100644 index 0000000..d3f299b Binary files /dev/null and b/tbb-tests/match.png differ diff --git a/tbb-tests/mismatch.png b/tbb-tests/mismatch.png new file mode 100644 index 0000000..8f9da3f Binary files /dev/null and b/tbb-tests/mismatch.png differ diff --git a/tbb-tests/mochitest.ini b/tbb-tests/mochitest.ini index 1434f89..2dc049a 100644 --- a/tbb-tests/mochitest.ini +++ b/tbb-tests/mochitest.ini @@ -1,4 +1,7 @@ [DEFAULT] +support-files = + match.png + mismatch.png
[test_tor_bug2874.html] [test_tor_bug2875.html] diff --git a/tbb-tests/test_tor_bug2875.html b/tbb-tests/test_tor_bug2875.html index 3c34f3b..5eb3370 100644 --- a/tbb-tests/test_tor_bug2875.html +++ b/tbb-tests/test_tor_bug2875.html @@ -9,7 +9,11 @@ https://trac.torproject.org/projects/tor/ticket/2875 <title>Test for Tor Bug #2875: Limit device and system specific CSS Media Queries</title> <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> - <script type="application/javascript"> + <script type="application/javascript;version=1.7"> +let test = function () { + + SimpleTest.waitForExplicitFinish(); + var keyValMatches = ([key, val]) => matchMedia("(" + key + ":" + val +")").matches;
// Default spoofed values by Tor Browser: @@ -51,23 +55,45 @@ https://trac.torproject.org/projects/tor/ticket/2875 ];
tor_suppressed_toggles.map(key => ok(!keyValMatches([key, 0]) && !keyValMatches([key, 1]), - key + " should not exist.")); + key + " should not exist."));
var foundOSVersion = false; ["windows-xp", "windows-vista", "windows-win7", "windows-win8"].map(function (val) { foundOSVersion = foundOSVersion || keyValMatches(["-moz-os-version", val]); }); ok(!foundOSVersion, "-moz-os-version should have no match"); - + + // Test media queries in picture elements (Tor Bug #16315) + let lines = ""; + for (let [query, expected] of tor_defaults) { + lines += "<picture>\n"; + lines += " <source srcset='match.png' media='(" + query + ": " + expected + ")'>\n"; + lines += " <img class='testImage' src='mismatch.png' alt='" + query + "'>\n"; + lines += "</picture><br>\n"; + } + document.getElementById("content").innerHTML += lines; + var testImages = document.getElementsByClassName("testImage"); + window.setTimeout(function () { + for (let testImage of testImages) { + ok(testImage.currentSrc.endsWith("/match.png"), "Media query in picture should match."); + } + SimpleTest.finish(); + }, 0); + +}; + </script> </head> <body> <a target="_blank" href="https://trac.torproject.org/projects/tor/ticket/2875">Tor Bug 2875</a> <p id="display"></p> -<div id="content" style="display: none"> - -</div> +<div id="content"></div> <pre id="test"> </pre> +<script> + window.onload = function () { + test(); + } +</script> </body> </html>