| var svg_ns = "http://www.w3.org/2000/svg"; |
| var url_prefix = location.protocol + "//" + location.hostname + ":" + |
| location.port + "/referrer-policy/generic/subresource/"; |
| |
| var svg_test_properties = [ |
| 'fill', |
| 'stroke', |
| 'filter', |
| 'clip-path', |
| 'marker-start', |
| 'marker-mid', |
| 'marker-end', |
| 'mask', |
| 'mask-image', |
| ]; |
| |
| // Schedules async_test's for each of the test properties |
| // Parameters: |
| // testProperties: An array of test properties. |
| // testDescription: A test description |
| // testFunction: A function call which sets up the expect result and runs |
| // the actual test |
| function runSvgTests(testProperties, testDescription, testFunction) { |
| let runNextTest = function () { |
| let property = testProperties.shift(); |
| if (property === undefined) { |
| return; |
| } |
| |
| let current = { |
| test: async_test(testDescription + " " + property), |
| id: token(), |
| property: property, |
| }; |
| |
| current.test.step(function() { testFunction(current) }); |
| |
| let check_url = url_prefix + "svg.py" + "?id=" + current.id + |
| "&report-headers"; |
| current.test.step_timeout(function() { |
| queryXhr(check_url, function(message) { |
| assert_own_property(message, "headers"); |
| assert_own_property(message, "referrer"); |
| assert_equals(message.referrer, current.expected); |
| current.test.done(); |
| }, null, null, current.test); |
| }, 800); |
| }; |
| |
| add_result_callback(runNextTest); |
| runNextTest(); |
| } |
| |
| function createSvg() { |
| let svg = document.createElementNS(svg_ns, 'svg'); |
| svg.setAttribute('width', '400'); |
| svg.setAttribute('height', '400'); |
| let path = document.createElementNS(svg_ns, 'path'); |
| path.setAttribute('d', 'M 50,5 95,100 5,100 z'); |
| svg.appendChild(path); |
| return svg; |
| } |