4 https://bugzilla.mozilla.org/show_bug.cgi?id=375003
7 <meta http-equiv=
"Content-Type" content=
"text/html; charset=iso-8859-1">
8 <title>Test
1 for bug
375003</title>
10 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
11 <link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css" />
13 <style type=
"text/css">
16 color:black
; background-color:white
; font-size:16px; padding:0; margin:0;
19 .s { display:block
; width:20px; height:20px; background-color:lime
; }
20 table
{ background:pink
; }
21 #td5,#td6
{ border:7px solid blue
;}
25 var x
= [ 'Left','Top','Width','Height' ];
26 function test(id
,s
,expected
) {
27 var el
= document
.getElementById(id
);
28 for(var i
= 0; i
< x
.length
; ++i
) {
29 // eslint-disable-next-line no-eval
30 var actual
= eval('el.'+s
+x
[i
]);
31 if (expected
[i
] != -1 && s
+x
[i
]!='scrollHeight')
32 is(actual
, expected
[i
], id
+"."+s
+x
[i
]);
35 function t3(id
,c
,o
,s
,pid
) {
39 var p
= document
.getElementById(id
).offsetParent
;
40 is(p
.id
, pid
, id
+".offsetParent");
44 t3('span1',[0,0,20,20],[12,12,20,20],[0,0,20,20],'td1');
45 t3('td1' ,[1,1,69,44],[16,16,71,46],[0,0,69,46],'table1');
46 t3('tr1' ,[0,0,71,46],[16,16,71,46],[0,0,71,44],'table1');
47 t3('span2',[10,0,20,20],[27,12,30,20],[0,0,20,20],'td2');
48 t3('table1',[0,0,103,131],[10,10,103,131],[0,0,103,131],'body');
49 t3('div1',[10,10,-1,131],[0,0,-1,151],[0,0,-1,85],'body');
51 t3('span2b',[10,0,20,20],[25,-1,30,20],[0,0,20,20],'body');
52 // XXX not sure how to make reliable cross-platform tests for replaced-inline, inline
53 // t3('span2c',[10,2,18,2],[25,-1,30,6],[0,0,30,20],'body');
54 // t3('span2d',[0,0,0,0],[25,-1,10,19],[0,0,10,20],'body');
56 t3('span3' ,[0,0,20,20],[15,0,20,20],[0,0,20,20],'td3');
57 t3('td3' ,[0,0,35,20],[0,0,35,20],[0,0,35,20],'table3');
58 t3('tr3' ,[0,0,35,20],[0,0,35,20],[0,0,35,22],'table3');
59 t3('span4' ,[0,0,20,20],[0,0,20,20],[0,0,20,20],'td4');
60 t3('table3',[0,0,35,40],[0,0,35,40],[0,0,35,40],'div3');
61 t3('div3',[10,10,-1,40],[0,151,-1,60],[0,0,-1,70],'body');
63 t3('span5' ,[0,0,20,20],[1,1,20,20],[0,0,20,20],'td5');
64 t3('td5' ,[7,7,22,22],[2,2,36,36],[0,0,22,36],'table5');
65 t3('tr5' ,[0,0,36,36],[2,2,36,36],[0,0,36,22],'table5');
66 t3('span6' ,[0,0,20,20],[20,58,20,20],[0,0,20,20],'div5');
67 t3('table5',[0,0,40,78],[0,0,40,78],[0,0,40,78],'div5');
68 t3('div5',[10,10,-1,78],[0,211,-1,98],[0,0,-1,70],'body');
70 t3('span7' ,[0,0,20,20],[1,1,20,20],[0,0,20,20],'td7');
71 t3('td7' ,[1,1,37,22],[2,2,39,24],[0,0,37,22],'table7');
72 t3('tr7' ,[0,0,39,24],[2,2,39,24],[0,0,39,22],'table7');
73 t3('span8' ,[0,0,20,20],[19,30,20,20],[0,0,20,20],'table7');
74 t3('table7',[0,0,57,68],[10,319,57,68],[0,0,57,68],'body');
75 t3('div7',[10,10,-1,68],[0,309,-1,88],[0,0,-1,70],'body');
77 t3('span9' ,[0,0,20,20],[1,1,20,20],[0,0,20,20],'td9');
78 t3('td9' ,[1,1,22,22],[2,2,24,24],[0,0,22,24],'table9');
79 t3('tr9' ,[0,0,24,24],[2,2,24,24],[0,0,24,22],'table9');
80 t3('span10' ,[0,0,20,20],[17,43,20,20],[0,0,20,20],'table9');
81 t3('table9',[0,0,54,60],[10,407,54,60],[0,0,54,60],'body');
82 t3('div9',[10,10,-1,0],[0,397,-1,20],[0,0,-1,70],'body');
84 t3('span11' ,[0,0,20,20],[1,1,20,20],[0,0,20,20],'td11');
85 t3('td11' ,[0,0,22,22],[2,2,22,22],[0,0,22,22],'table11');
86 t3('tr11' ,[0,0,22,22],[2,2,22,22],[0,0,22,22],'table11');
87 t3('span12' ,[0,0,20,20],[28,454,20,20],[0,0,20,20],'body');
88 t3('table11',[0,0,26,30],[10,427,26,30],[0,0,26,30],'body');
89 t3('div11',[10,10,-1,30],[0,417,-1,50],[0,0,-1,70],'body');
96 <div id=
"div1" style=
"border:10px solid black">
97 <table id=
"table1" cellspacing=
"7" cellpadding=
"12" border=
"9">
98 <tbody id=
"tbody1"><tr id=
"tr1"><td id=
"td1"><div class=
"s" id=
"span1"></div></td></tr></tbody>
99 <tbody id=
"tbody2"><tr id=
"tr2"><td id=
"td2"><div class=
"s" id=
"span2" style=
"margin-left:15px; border-left:10px solid blue;"></div></td></tr></tbody>
103 <div id=
"div3" style=
"border:10px solid black; position:relative">
104 <table id=
"table3" cellpadding=
"0" cellspacing=
"0" border=
"0">
105 <tbody id=
"tbody3"><tr id=
"tr3"><td id=
"td3"><div class=
"s" id=
"span3" style=
"margin-left:15px"></div></td></tr></tbody>
106 <tbody id=
"tbody4"><tr id=
"tr4"><td id=
"td4"><div class=
"s" id=
"span4"></div></td></tr></tbody>
110 <div id=
"div5" style=
"border:10px solid black; position:relative">
112 <tbody id=
"tbody5"><tr id=
"tr5"><td id=
"td5"><div class=
"s" id=
"span5"></div></td></tr></tbody>
113 <tbody id=
"tbody6"><tr id=
"tr6"><td id=
"td6"><div class=
"s" id=
"span6" style=
"left:10px; top:10px; position:relative"></div></td></tr></tbody>
117 <div id=
"div7" style=
"border:10px solid black;">
118 <table id=
"table7" style=
"position:relative" border=
7>
119 <tbody id=
"tbody7"><tr id=
"tr7"><td id=
"td7"><div class=
"s" id=
"span7"></div></td></tr></tbody>
120 <tbody id=
"tbody8"><tr id=
"tr8"><td id=
"td8"><div class=
"s" id=
"span8" style=
"position:relative; margin-left:15px"></div></td></tr></tbody>
124 <div id=
"div9" style=
"border:10px solid black;">
125 <table id=
"table9" style=
"position:absolute" border=
"13">
126 <tbody id=
"tbody9"><tr id=
"tr9"><td id=
"td9"><div class=
"s" id=
"span9"></div></td></tr></tbody>
127 <tbody id=
"tbody10"><tr id=
"tr10"><td id=
"td10"><div class=
"s" id=
"span10" style=
"position:absolute"></div></td></tr></tbody>
131 <div id=
"div11" style=
"border:10px solid black; ">
133 <tbody id=
"tbody11"><tr id=
"tr11"><td id=
"td11"><div class=
"s" id=
"span11"></div></td></tr></tbody>
134 <tbody id=
"tbody12"><tr id=
"tr12"><td id=
"td12"><div class=
"s" id=
"span12" style=
"position:absolute;margin-left:15px"></div></td></tr></tbody>
138 <div style=
"border:10px solid black">
139 <div class=
"s" id=
"span2b" style=
"margin-left:15px; border-left:10px solid blue;"></div></div>
141 <div style=
"border:10px solid black">
142 <button id=
"span2c" style=
"margin-left:15px; border-left:10px solid blue;"></button></div>
144 <div style=
"border:10px solid black">
145 <span id=
"span2d" style=
"margin-left:15px; border-left:10px solid blue;"></span></div>
148 <a target=
"_blank" href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=375003">Mozilla Bug
375003</a>
151 <script class=
"testbody" type=
"text/javascript">