ブラウザでSVGを表示するSIEの開発 (SIE - to display SVG on legacy browsers)
| リビジョン | 9f8c33841fd9078889d25e3b70e601655d22064f (tree) |
|---|---|
| 日時 | 2012-09-14 23:52:43 |
| 作者 | dhrname <dhrname@user...> |
| コミッター | dhrname |
insertBeforeメソッドの循環参照の問題を解決
| @@ -269,13 +269,11 @@ Node.prototype = { | ||
| 269 | 269 | j = 0, |
| 270 | 270 | t, |
| 271 | 271 | s, descend, di; |
| 272 | - if (tp) { | |
| 273 | - while (!tp) { //先祖をたどっていく | |
| 274 | - if (tp === n) { //先祖要素が追加ノードならばエラー | |
| 275 | - throw (new DOMException(/*DOMException.HIERARCHY_REQUEST_ERR*/ 3)); | |
| 276 | - } | |
| 277 | - tp = tp.parentNode; | |
| 272 | + while (tp) { //先祖をたどっていく | |
| 273 | + if (tp === n) { //先祖要素が追加ノードならばエラー | |
| 274 | + throw (new DOMException(/*DOMException.HIERARCHY_REQUEST_ERR*/ 3)); | |
| 278 | 275 | } |
| 276 | + tp = tp.parentNode; | |
| 279 | 277 | } |
| 280 | 278 | if (this.ownerDocument !== n.ownerDocument) { //所属Documentの生成元が違うならば |
| 281 | 279 | throw (new DOMException(/*DOMException.WRONG_DOCUMENT_ERR*/ 4)); |
| @@ -386,13 +386,11 @@ MutationEvent.prototype = Object._create(Event); | ||
| 386 | 386 | j = 0, |
| 387 | 387 | t, |
| 388 | 388 | s, descend, di; |
| 389 | - if (tp) { | |
| 390 | - while (!tp) { //先祖をたどっていく | |
| 391 | - if (tp === n) { //先祖要素が追加ノードならばエラー | |
| 392 | - throw (new DOMException(/*DOMException.HIERARCHY_REQUEST_ERR*/ 3)); | |
| 393 | - } | |
| 394 | - tp = tp.parentNode; | |
| 389 | + while (tp) { //先祖をたどっていく | |
| 390 | + if (tp === n) { //先祖要素が追加ノードならばエラー | |
| 391 | + throw (new DOMException(/*DOMException.HIERARCHY_REQUEST_ERR*/ 3)); | |
| 395 | 392 | } |
| 393 | + tp = tp.parentNode; | |
| 396 | 394 | } |
| 397 | 395 | if (this.ownerDocument !== n.ownerDocument) { //所属Documentの生成元が違うならば |
| 398 | 396 | throw (new DOMException(/*DOMException.WRONG_DOCUMENT_ERR*/ 4)); |
| @@ -1711,6 +1711,7 @@ describe("SVG Spec in JavaScript", function() { | ||
| 1711 | 1711 | /*NOT_FOUND_ERR DOMException*/ |
| 1712 | 1712 | s.insertBefore(t, t.cloneNode(false)); |
| 1713 | 1713 | }; |
| 1714 | + expect(sn).toThrow(); | |
| 1714 | 1715 | expect(tn).toThrow(); |
| 1715 | 1716 | expect(un).toThrow(); |
| 1716 | 1717 | }); |