mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 00:38:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
0
testing/web-platform/tests/html/semantics/links/.gitkeep
Normal file
0
testing/web-platform/tests/html/semantics/links/.gitkeep
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[
|
||||
{
|
||||
"id": "hyperlink-auditing",
|
||||
"original_id": "hyperlink-auditing"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<html>
|
||||
<head>
|
||||
<title>HTMLAnchorElement getters and setters</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<a>anchor</a>
|
||||
<script>
|
||||
function test_gettersetter(property, oldresult, newval, newresult, oldurl, newurl) {
|
||||
var a = document.querySelector('a');
|
||||
a.href = oldurl;
|
||||
var r1 = a[property];
|
||||
assert_equals(r1, oldresult);
|
||||
a[property] = newval;
|
||||
var r2 = a[property];
|
||||
assert_equals(r2, newresult);
|
||||
var r3 = a.href;
|
||||
assert_equals(r3, newurl);
|
||||
}
|
||||
|
||||
//Elements for each test: [property, oldresult, newvalue, newresult, oldurl, newurl]
|
||||
// [0] [1] [2] [3] [4] [5]
|
||||
tests = [
|
||||
["hash", "#somehash", "someother", "#someother",
|
||||
"http://google.com/index.html#somehash",
|
||||
"http://google.com/index.html#someother"],
|
||||
["hash", "#somehash", "#someother", "#someother",
|
||||
"http://google.com/index.html#somehash",
|
||||
"http://google.com/index.html#someother"],
|
||||
["host", "google.com:1234", "github.com:4444", "github.com:4444",
|
||||
"http://google.com:1234/somedir",
|
||||
"http://github.com:4444/somedir"],
|
||||
["hostname", "google.com", "github.com", "github.com",
|
||||
"http://google.com:1234/somedir",
|
||||
"http://github.com:1234/somedir"],
|
||||
["href", "http://google.com:1234/somedir", "http://goo-gle.com:1234/other/x.html", "http://goo-gle.com:1234/other/x.html",
|
||||
"http://google.com:1234/somedir",
|
||||
"http://goo-gle.com:1234/other/x.html"],
|
||||
["password", "flabada", "blubb", "blubb",
|
||||
"https://anonymous:flabada@developer.mozilla.org/en-US/docs/",
|
||||
"https://anonymous:blubb@developer.mozilla.org/en-US/docs/"],
|
||||
["pathname", "/somedir/someotherdir/index.html", "/newpath/x.txt", "/newpath/x.txt",
|
||||
"http://google.com:1234/somedir/someotherdir/index.html",
|
||||
"http://google.com:1234/newpath/x.txt"],
|
||||
["port", "1234", "4444", "4444", "http://google.com:1234/somedir", "http://google.com:4444/somedir"],
|
||||
["protocol", "http:", "ftp:", "ftp:", "http://google.com/somedir", "ftp://google.com/somedir"],
|
||||
["protocol", "http:", "ftp", "ftp:", "http://google.com/somedir", "ftp://google.com/somedir"],
|
||||
["search", "?ho", "?hi", "?hi", "http://google.com/q.php?ho", "http://google.com/q.php?hi"],
|
||||
["search", "?ho", "hi", "?hi", "http://google.com/q.php?ho", "http://google.com/q.php?hi"],
|
||||
["search", "?ho", "?hi", "?hi", "http://google.com/?ho", "http://google.com/?hi"],
|
||||
["search", "?ho", "hi", "?hi", "http://google.com/?ho", "http://google.com/?hi"],
|
||||
["username", "anonymous", "wellknown", "wellknown",
|
||||
"https://anonymous:pwd@developer.mozilla.org:1234/en-US/",
|
||||
"https://wellknown:pwd@developer.mozilla.org:1234/en-US/"]
|
||||
];
|
||||
|
||||
for (var i = 0; i < tests.length; i++) {
|
||||
test(function() {
|
||||
test_gettersetter(tests[i][0], tests[i][1], tests[i][2], tests[i][3], tests[i][4], tests[i][5])
|
||||
}, "Getter and setter for attribute of anchor element(" + i + "):" + tests[i][0] );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<html>
|
||||
<head>
|
||||
<title>HTMLAnchorElement getters test</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<a id=a1 href="http://google.com?hi">a1</a>
|
||||
<a id=a2 href="http://google.com#somehash">a2</a>
|
||||
<a id=a3 href="http://google.com:1234/somedir">a3</a>
|
||||
<a id=a4 href="http://google.com:1234/somedir">a4</a>
|
||||
<a id=a5 href="http://google.com:1234/somedir">a5</a>
|
||||
<a id=a6 href="https://anonymous:flabada@developer.mozilla.org/en-US/docs/">a6</a>
|
||||
<a id=a7 href="http://google.com:1234/somedir/someotherdir/index.html">a7</a>
|
||||
<a id=a8 href="http://google.com:1234/somedir">a8</a>
|
||||
<a id=a9 href="http://google.com/somedir">a9</a>
|
||||
<a id=a10 href="https://anonymous:pwd@developer.mozilla.org:1234/en-US/">a10</a>
|
||||
<script>
|
||||
function test_getter(property, result, id) {
|
||||
var a = document.getElementById(id);
|
||||
var r = a[property];
|
||||
assert_equals(r, result);
|
||||
}
|
||||
|
||||
//Elements for each test: [property, result, id]
|
||||
// [0] [1] [2]
|
||||
tests = [
|
||||
["search", "?hi", "a1"],
|
||||
["hash", "#somehash", "a2"],
|
||||
["host", "google.com:1234", "a3"],
|
||||
["hostname", "google.com", "a4"],
|
||||
["href", "http://google.com:1234/somedir", "a5"],
|
||||
["password", "flabada", "a6"],
|
||||
["pathname", "/somedir/someotherdir/index.html", "a7"],
|
||||
["port", "1234", "a8"],
|
||||
["protocol", "http:", "a9"],
|
||||
["username", "anonymous", "a10"]
|
||||
];
|
||||
|
||||
for (var i = 0; i < tests.length; i++) {
|
||||
test(function() {
|
||||
test_getter(tests[i][0], tests[i][1], tests[i][2])
|
||||
}, "Getter for attribute of anchor element(" + i + "):" + tests[i][0]);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
</html>
|
||||
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>Test behavior of rel="noopener" links</title>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<iframe name="oursubframe"></iframe>
|
||||
<a href="support/noopener-target-2.html" rel="noopener" target="ourpopup"></a>
|
||||
<a href="support/noopener-target-2.html" rel="noopener" target="oursubframe"></a>
|
||||
<script>
|
||||
var tests = [];
|
||||
// First test the special targets
|
||||
function target1Loaded(win) {
|
||||
// Find the relevant test
|
||||
var test = tests.find((t) => t.openedWindow == win);
|
||||
test.step(function() {
|
||||
assert_equals(win.opener, window);
|
||||
win.close();
|
||||
test.done();
|
||||
});
|
||||
}
|
||||
/**
|
||||
* Test that <a rel="noopener"> targeted at one of _self, _parent, _top does the
|
||||
* load in the appropriate existing browsing context instead of opening a new
|
||||
* one. The test is run in a separate popup window we open and which we can
|
||||
* navigate without causing the test harness going into conniptions.
|
||||
*/
|
||||
for (var target of ["self", "parent", "top"]) {
|
||||
var t = async_test("Check that rel=noopener with target=_" + target + " does a normal load");
|
||||
tests.push(t);
|
||||
t.openedWindow = window.open("support/noopener-popup.html");
|
||||
t.targetName = target;
|
||||
t.openedWindow.onload = t.step_func(function() {
|
||||
this.openedWindow.findLink(this.targetName).click();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* And now check that a noopener load targeted at something other than one of
|
||||
* the three special targets above in fact ignores existing things with the
|
||||
* given name. We do this in two ways. First, by opening a window named
|
||||
* "ourpopup" and then doing a load via <a rel="noopener" target="ourpopup"> and
|
||||
* verifying that the load happens in a window with a null opener, etc, while
|
||||
* the opener of the thing we opened is not modified. And second, by targeting
|
||||
* <a rel="noopener"> at a name that an existing subframe has, and ensuring that
|
||||
* this subframe is not navigated.
|
||||
*/
|
||||
var t1 = async_test("Check that targeting of rel=noopener with a given name ignores an existing window with that name");
|
||||
var w;
|
||||
t1.add_cleanup(function() { w.close(); });
|
||||
var channel = new BroadcastChannel("ourpopup");
|
||||
channel.onmessage = t1.step_func_done(function(e) {
|
||||
var data = e.data;
|
||||
assert_false(data.hasOpener);
|
||||
assert_false(data.hasParent);
|
||||
assert_equals(data.name, "ourpopup");
|
||||
assert_equals(w.opener, window);
|
||||
assert_equals(w.location.href, "about:blank");
|
||||
});
|
||||
t1.step(function() {
|
||||
w = window.open("", "ourpopup");
|
||||
assert_equals(w.opener, window);
|
||||
document.querySelectorAll("a")[0].click();
|
||||
});
|
||||
|
||||
var t2 = async_test("Check that targeting of rel=noopener with a given name ignores an existing subframe with that name");
|
||||
var channel = new BroadcastChannel("oursubframe");
|
||||
channel.onmessage = t2.step_func_done(function(e) {
|
||||
var data = e.data;
|
||||
assert_false(data.hasOpener);
|
||||
assert_false(data.hasParent);
|
||||
assert_equals(data.name, "oursubframe");
|
||||
assert_equals(document.querySelector("iframe").contentWindow.location.href,
|
||||
"about:blank");
|
||||
});
|
||||
t2.step(function() {
|
||||
document.querySelectorAll("a")[1].click();
|
||||
});
|
||||
</script>
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<script>
|
||||
function findLink(arg) {
|
||||
var doc;
|
||||
if (arg == "self") {
|
||||
doc = document;
|
||||
} else {
|
||||
doc = frames[0].document;
|
||||
}
|
||||
return doc.getElementById(arg + "target");
|
||||
}
|
||||
</script>
|
||||
<a rel="noopener" target="_self" id="selftarget"
|
||||
href="noopener-target-1.html"></a>
|
||||
<iframe srcdoc='
|
||||
<a rel="noopener" target="_parent" id="parenttarget"
|
||||
href="noopener-target-1.html"></a>
|
||||
<a rel="noopener" target="_top" id="toptarget"
|
||||
href="noopener-target-1.html"></a>'></iframe>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<script>
|
||||
opener.target1Loaded(this);
|
||||
</script>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<script>
|
||||
var channel = new BroadcastChannel(this.name);
|
||||
channel.postMessage({ hasOpener: opener !== null ,
|
||||
hasParent: parent != this,
|
||||
name: window.name });
|
||||
window.close();
|
||||
</script>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Reference of Alternate css</title>
|
||||
<link rel="stylesheet" href="preferred.css" title="preferred">
|
||||
<div>foobar</div>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Alternate css</title>
|
||||
<link rel="match" href="alternate-css-ref.html">
|
||||
<link rel="stylesheet" href="preferred.css" title="preferred">
|
||||
<link rel="alternate stylesheet" href="alternate.css" title="alternate">
|
||||
<div>foobar</div>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
div {
|
||||
background-color: red;
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
[
|
||||
{
|
||||
"id": "rel-alternate",
|
||||
"original_id": "rel-alternate"
|
||||
},
|
||||
{
|
||||
"id": "link-type-author",
|
||||
"original_id": "link-type-author"
|
||||
},
|
||||
{
|
||||
"id": "link-type-bookmark",
|
||||
"original_id": "link-type-bookmark"
|
||||
},
|
||||
{
|
||||
"id": "link-type-help",
|
||||
"original_id": "link-type-help"
|
||||
},
|
||||
{
|
||||
"id": "rel-icon",
|
||||
"original_id": "rel-icon"
|
||||
},
|
||||
{
|
||||
"id": "link-type-license",
|
||||
"original_id": "link-type-license"
|
||||
},
|
||||
{
|
||||
"id": "link-type-nofollow",
|
||||
"original_id": "link-type-nofollow"
|
||||
},
|
||||
{
|
||||
"id": "link-type-noreferrer",
|
||||
"original_id": "link-type-noreferrer"
|
||||
},
|
||||
{
|
||||
"id": "link-type-prefetch",
|
||||
"original_id": "link-type-prefetch"
|
||||
},
|
||||
{
|
||||
"id": "link-type-search",
|
||||
"original_id": "link-type-search"
|
||||
},
|
||||
{
|
||||
"id": "link-type-stylesheet",
|
||||
"original_id": "link-type-stylesheet"
|
||||
},
|
||||
{
|
||||
"id": "link-type-tag",
|
||||
"original_id": "link-type-tag"
|
||||
},
|
||||
{
|
||||
"id": "sequential-link-types",
|
||||
"original_id": "sequential-link-types",
|
||||
"children": [
|
||||
{
|
||||
"id": "link-type-next",
|
||||
"original_id": "link-type-next"
|
||||
},
|
||||
{
|
||||
"id": "link-type-prev",
|
||||
"original_id": "link-type-prev"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "other-link-types",
|
||||
"original_id": "other-link-types"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"original_id":"linkTypes"}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
div {
|
||||
border: 4px solid green;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue