File: 101-manual.html

package info (click to toggle)
firefox 145.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,653,528 kB
  • sloc: cpp: 7,594,999; javascript: 6,459,658; ansic: 3,752,909; python: 1,403,455; xml: 629,809; asm: 438,679; java: 186,421; sh: 67,287; makefile: 19,169; objc: 13,086; perl: 12,982; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10
file content (124 lines) | stat: -rw-r--r-- 4,806 bytes parent folder | download | duplicates (31)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!doctype html>
<html>
  <head>
    <title>.origin for all events</title>
    <style type="text/css">
blockquote { height: 100px; width: 100px; background: orange; margin: 0; padding: 0; float: left; }
blockquote + blockquote { background: blue; }
blockquote + blockquote + blockquote { background: fuchsia; }
blockquote + div { clear: left; }
    </style>
    <script type="text/javascript" src="../resources/crossorigin.sub.js"></script>
    <script type="text/javascript" src="/resources/testharness.js"></script>
    <script type="text/javascript" src="/resources/testharnessreport.js"></script>
    <script type="text/javascript">
setup(function () {},{explicit_done:true});
window.onload = function () {
  var origin = 'http://'+httpHostMain;
  if( location.href.indexOf(origin+'/') ) {
    done();
    document.body.innerHTML = 'This must be tested on '+origin+'/';
    return;
  }
  var orange  = document.getElementsByTagName('blockquote')[0],
      blue    = document.getElementsByTagName('blockquote')[1],
      fuchsia = document.getElementsByTagName('blockquote')[2],
      evtdone = {};
  orange.ondragstart = function (e) {
    e.dataTransfer.effectAllowed = 'copy';
    e.dataTransfer.setData('text','dummy text');
    if( evtdone[e.type] ) { return; }
    evtdone[e.type] = true;
    test(function() {
      assert_equals( e.dataTransfer.origin, origin );
    }, '.origin should exist in '+e.type );
    test(function () {
      //WebIDL and ECMAScript 5 - a readonly property has a getter but not a setter
      //ES5 makes [[Put]] fail but not throw
      var failed = false, oldorigin = e.dataTransfer.origin;
      try {
        e.dataTransfer.origin = 'http://example.com';
      } catch(e) {
        failed = e;
      }
      assert_equals(e.dataTransfer.origin,oldorigin);
      assert_false(failed,'an error was thrown');
    }, '.origin must be read-only in '+e.type);
  };
  blue.ondragenter = blue.ondragover = function (e) {
    e.preventDefault();
  };
  orange.ondrag = blue.ondragleave = function (e) {
    if( evtdone[e.type] ) { return; }
    evtdone[e.type] = true;
    test(function() {
      assert_equals( e.dataTransfer.origin, origin );
    }, '.origin should exist in '+e.type );
    test(function () {
      var failed = false, oldorigin = e.dataTransfer.origin;
      try {
        e.dataTransfer.origin = 'http://example.com';
      } catch(e) {
        failed = e;
      }
      assert_equals(e.dataTransfer.origin,oldorigin);
      assert_false(failed,'an error was thrown');
    }, '.origin must be read-only in '+e.type);
  };
  fuchsia.ondragenter = fuchsia.ondragover = fuchsia.ondrop = function (e) {
    e.preventDefault();
    if( evtdone[e.type] ) { return; }
    evtdone[e.type] = true;
    test(function() {
      assert_equals( e.dataTransfer.origin, origin );
    }, '.origin should exist in '+e.type );
    test(function () {
      var failed = false, oldorigin = e.dataTransfer.origin;
      try {
        e.dataTransfer.origin = 'http://example.com';
      } catch(e) {
        failed = e;
      }
      assert_equals(e.dataTransfer.origin,oldorigin);
      assert_false(failed,'an error was thrown');
    }, '.origin must be read-only in '+e.type);
  };
  orange.ondragend = function (e) {
    if( evtdone[e.type] ) { return; }
    evtdone[e.type] = true;
    test(function() {
      assert_equals( e.dataTransfer.origin, origin );
    }, '.origin should exist in '+e.type );
    test(function () {
      var failed = false, oldorigin = e.dataTransfer.origin;
      try {
        e.dataTransfer.origin = 'http://example.com';
      } catch(e) {
        failed = e;
      }
      assert_equals(e.dataTransfer.origin,oldorigin);
      assert_false(failed,'an error was thrown');
    }, '.origin must be read-only in '+e.type);
    test(function() {
      var failtxt = '- Reload and try again';
      assert_true( evtdone.dragstart, 'dragstart event was not tested'+failtxt );
      assert_true( evtdone.drag, 'drag event was not tested'+failtxt );
      assert_true( evtdone.dragenter, 'dragenter event was not tested'+failtxt );
      assert_true( evtdone.dragleave, 'dragleave event was not tested'+failtxt );
      assert_true( evtdone.dragover, 'dragover event was not tested'+failtxt );
      assert_true( evtdone.drop, 'drop event was not tested'+failtxt );
      assert_true( evtdone.dragend, 'dragend event was not tested'+failtxt );
    }, 'all event types must now have been tested' );
    done();
  };
};
    </script>
  </head>
  <body>
    <blockquote draggable="true"></blockquote>
    <blockquote></blockquote>
    <blockquote></blockquote>
    <div id="log">Drag the orange square over the blue square then the fuchsia square, then release it.</div>
    <noscript><p>Enable JavaScript and reload</p></noscript>
  </body>
</html>