1d79bb5d20e8e8d3103dfb96cdecdd7acc40b9eb
[platform/framework/web/crosswalk.git] / src / content / test / data / click-noreferrer-links.html
1 <html>
2
3  <head><title>Click noreferrer links</title>
4  <script>
5   function simulateClick(target) {
6     var evt = document.createEvent("MouseEvents");
7     evt.initMouseEvent("click", true, true, window,
8                        0, 0, 0, 0, 0, false, false,
9                        false, false, 0, null);
10
11     return target.dispatchEvent(evt);
12   }
13
14   function clickNoRefTargetBlankLink() {
15     return simulateClick(document.getElementById("noref_and_tblank_link"));
16   }
17
18   function clickSameSiteNoRefTargetedLink() {
19     return simulateClick(
20         document.getElementById("samesite_noref_and_targeted_link"));
21   }
22
23   function clickSameSiteTargetedLink() {
24     return simulateClick(document.getElementById("samesite_targeted_link"));
25   }
26
27   function clickSameSiteTargetBlankLink() {
28     return simulateClick(document.getElementById("samesite_tblank_link"));
29   }
30
31   function clickTargetBlankLink() {
32     return simulateClick(document.getElementById("tblank_link"));
33   }
34
35   function clickNoRefLink() {
36     return simulateClick(document.getElementById("noref_link"));
37   }
38
39   function testScriptAccessToWindow() {
40     // Grab a reference to the existing foo window and access its location.
41     try {
42       var w = window.open("", "foo");
43       var url = w.location.href;
44       return url != undefined;
45     } catch (e) {
46       return false;
47     }
48   }
49
50   function testCloseWindow() {
51     // Grab a reference to the existing foo window and close it.
52     var w = window.open("", "foo");
53     w.close();
54     return true;
55   }
56
57   // Listen to incoming messages and reply to them.
58   var receivedMessages = 0;
59   window.addEventListener("message", messageReceived, false);
60   function messageReceived(event) {
61     receivedMessages++;
62     event.source.postMessage(event.data, "*");
63   }
64
65   // Send a message which contains a message port.
66   var mc;
67   function postWithPortToFoo() {
68     mc = new MessageChannel();
69     mc.port1.onmessage = portMessageReceived;
70     mc.port1.start();
71     var w = window.open("", "foo");
72     w.postMessage({message: "msg-with-port", port: mc.port2}, "*", [mc.port2]);
73     return true;
74   }
75
76   var receivedMessagesViaPort = 0;
77   function portMessageReceived(event) {
78     receivedMessagesViaPort++;
79     // Change the title to generate a notification.
80     document.title = event.data;
81   }
82  </script>
83  </head>
84
85 <a href="http://REPLACE_WITH_HOST_AND_PORT/files/title2.html"
86    id="noref_and_tblank_link" rel="noreferrer" target="_blank">
87   rel=noreferrer and target=_blank</a><br>
88 <a href="title2.html" id="samesite_noref_and_targeted_link"
89    rel="noreferrer" target="foo">
90   same-site rel=noreferrer and target=foo</a><br>
91 <a href="navigate_opener.html" id="samesite_targeted_link" target="foo">
92   same-site target=foo</a><br>
93 <a href="title2.html" id="samesite_tblank_link" target="_blank">
94   same-site target=_blank</a><br>
95 <a href="http://REPLACE_WITH_HOST_AND_PORT/files/title2.html" id="tblank_link"
96    target="_blank">target=_blank</a><br>
97 <a href="http://REPLACE_WITH_HOST_AND_PORT/files/title2.html" id="noref_link"
98    rel="noreferrer">rel=noreferrer</a><br>
99
100 <iframe id="frame1" src="frame_tree/1-1.html"></iframe>
101
102 </html>