Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * | 10 * |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 65 tree.classList.add('pretty-print'); | 65 tree.classList.add('pretty-print'); |
| 66 tree.id = 'tree'; | 66 tree.id = 'tree'; |
| 67 window.onload = sourceXMLLoaded; | 67 window.onload = sourceXMLLoaded; |
| 68 } | 68 } |
| 69 | 69 |
| 70 function sourceXMLLoaded() | 70 function sourceXMLLoaded() |
| 71 { | 71 { |
| 72 var sourceXML = document.getElementById('webkit-xml-viewer-source-xml'); | 72 var sourceXML = document.getElementById('webkit-xml-viewer-source-xml'); |
| 73 if (!sourceXML) | 73 if (!sourceXML) |
| 74 return; // Stop if some XML tree extension is already processing this do cument | 74 return; // Stop if some XML tree extension is already processing this do cument |
| 75 | |
| 76 // Momentarily detach the sourceXML from the DOM in order to not clash with | |
| 77 // any elements in the source XML having id="tree" attribute. | |
| 78 sourceXML.parentNode.removeChild(sourceXML); | |
| 79 | |
| 75 var root = document.getElementById('tree'); | 80 var root = document.getElementById('tree'); |
|
abarth-chromium
2013/09/04 02:02:40
Why not save off the |tree| reference instead of c
| |
| 76 | 81 |
| 77 for (var child = sourceXML.firstChild; child; child = child.nextSibling) | 82 for (var child = sourceXML.firstChild; child; child = child.nextSibling) |
| 78 nodeParentPairs.push({parentElement: root, node: child}); | 83 nodeParentPairs.push({parentElement: root, node: child}); |
| 79 | 84 |
| 80 for (var i = 0; i < nodeParentPairs.length; i++) | 85 for (var i = 0; i < nodeParentPairs.length; i++) |
| 81 processNode(nodeParentPairs[i].parentElement, nodeParentPairs[i].node); | 86 processNode(nodeParentPairs[i].parentElement, nodeParentPairs[i].node); |
| 82 | 87 |
| 83 drawArrows(); | 88 drawArrows(); |
| 84 initButtons(); | 89 initButtons(); |
| 85 | 90 |
| 91 // Processing of the XML document is complete. Now attach the sourceXML back into the body | |
| 92 document.body.appendChild(sourceXML); | |
| 93 | |
| 86 if (typeof(onAfterWebkitXMLViewerLoaded) == 'function') | 94 if (typeof(onAfterWebkitXMLViewerLoaded) == 'function') |
| 87 onAfterWebkitXMLViewerLoaded(); | 95 onAfterWebkitXMLViewerLoaded(); |
| 88 } | 96 } |
| 89 | 97 |
| 90 // Tree processing. | 98 // Tree processing. |
| 91 | 99 |
| 92 function processNode(parentElement, node) | 100 function processNode(parentElement, node) |
| 93 { | 101 { |
| 94 if (!processNode.processorsMap) { | 102 if (!processNode.processorsMap) { |
| 95 processNode.processorsMap = {}; | 103 processNode.processorsMap = {}; |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 423 expandButton.onmousedown = handleButtonMouseDown; | 431 expandButton.onmousedown = handleButtonMouseDown; |
| 424 } | 432 } |
| 425 | 433 |
| 426 } | 434 } |
| 427 | 435 |
| 428 function handleButtonMouseDown(e) | 436 function handleButtonMouseDown(e) |
| 429 { | 437 { |
| 430 // To prevent selection on double click | 438 // To prevent selection on double click |
| 431 e.preventDefault(); | 439 e.preventDefault(); |
| 432 } | 440 } |
| OLD | NEW |