mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-10 21:28:04 +02:00
--HG-- rename : content/xml/content/src/CDATASection.cpp => dom/xml/CDATASection.cpp rename : content/xml/content/src/CDATASection.h => dom/xml/CDATASection.h rename : content/xml/content/src/ProcessingInstruction.cpp => dom/xml/ProcessingInstruction.cpp rename : content/xml/content/src/ProcessingInstruction.h => dom/xml/ProcessingInstruction.h rename : content/xml/document/src/XMLDocument.cpp => dom/xml/XMLDocument.cpp rename : content/xml/document/src/XMLDocument.h => dom/xml/XMLDocument.h rename : content/xml/content/src/XMLStylesheetProcessingInstruction.cpp => dom/xml/XMLStylesheetProcessingInstruction.cpp rename : content/xml/content/src/XMLStylesheetProcessingInstruction.h => dom/xml/XMLStylesheetProcessingInstruction.h rename : content/xml/document/crashtests/136896-1.xml => dom/xml/crashtests/136896-1.xml rename : content/xml/document/crashtests/185285-1.xml => dom/xml/crashtests/185285-1.xml rename : content/xml/document/crashtests/382636-1.xml => dom/xml/crashtests/382636-1.xml rename : content/xml/document/crashtests/382636-2.svg => dom/xml/crashtests/382636-2.svg rename : content/xml/document/crashtests/382636-3.xhtml => dom/xml/crashtests/382636-3.xhtml rename : content/xml/document/crashtests/382636-4.xul => dom/xml/crashtests/382636-4.xul rename : content/xml/content/crashtest/420429.xul => dom/xml/crashtests/420429.xul rename : content/xml/document/crashtests/431703-1.xhtml => dom/xml/crashtests/431703-1.xhtml rename : content/xml/content/crashtest/453278-frame.xml => dom/xml/crashtests/453278-frame.xml rename : content/xml/content/crashtest/453278.html => dom/xml/crashtests/453278.html rename : content/xml/content/crashtest/803586.xhtml => dom/xml/crashtests/803586.xhtml rename : content/xml/document/crashtests/994740-1.xhtml => dom/xml/crashtests/994740-1.xhtml rename : content/xml/document/crashtests/crashtests.list => dom/xml/crashtests/crashtests.list rename : content/xml/document/crashtests/tree.gif => dom/xml/crashtests/tree.gif rename : content/xml/content/src/htmlmathml-f.ent => dom/xml/htmlmathml-f.ent rename : content/xml/content/src/moz.build => dom/xml/moz.build rename : content/xml/document/public/nsIXMLContentSink.h => dom/xml/nsIXMLContentSink.h rename : content/xml/document/src/nsXMLContentSink.cpp => dom/xml/nsXMLContentSink.cpp rename : content/xml/document/src/nsXMLContentSink.h => dom/xml/nsXMLContentSink.h rename : content/xml/content/src/nsXMLElement.cpp => dom/xml/nsXMLElement.cpp rename : content/xml/content/src/nsXMLElement.h => dom/xml/nsXMLElement.h rename : content/xml/document/src/nsXMLFragmentContentSink.cpp => dom/xml/nsXMLFragmentContentSink.cpp rename : content/xml/document/src/nsXMLPrettyPrinter.cpp => dom/xml/nsXMLPrettyPrinter.cpp rename : content/xml/document/src/nsXMLPrettyPrinter.h => dom/xml/nsXMLPrettyPrinter.h rename : content/xml/document/resources/XMLMonoPrint.css => dom/xml/resources/XMLMonoPrint.css rename : content/xml/document/resources/XMLPrettyPrint.css => dom/xml/resources/XMLPrettyPrint.css rename : content/xml/document/resources/XMLPrettyPrint.xml => dom/xml/resources/XMLPrettyPrint.xml rename : content/xml/document/resources/XMLPrettyPrint.xsl => dom/xml/resources/XMLPrettyPrint.xsl rename : content/xml/document/resources/jar.mn => dom/xml/resources/jar.mn rename : content/xml/document/resources/moz.build => dom/xml/resources/moz.build rename : content/xml/document/test/file_bug293347.xml => dom/xml/test/file_bug293347.xml rename : content/xml/document/test/file_bug293347xslt.xml => dom/xml/test/file_bug293347xslt.xml rename : content/xml/document/test/mochitest.ini => dom/xml/test/mochitest.ini rename : content/xml/document/test/moz.build => dom/xml/test/moz.build rename : content/xml/tests/books/bethlehem.gif => dom/xml/test/old/books/bethlehem.gif rename : content/xml/tests/books/bill.gif => dom/xml/test/old/books/bill.gif rename : content/xml/tests/books/books.js => dom/xml/test/old/books/books.js rename : content/xml/tests/books/books.xml => dom/xml/test/old/books/books.xml rename : content/xml/tests/books/charing.gif => dom/xml/test/old/books/charing.gif rename : content/xml/tests/books/classic.css => dom/xml/test/old/books/classic.css rename : content/xml/tests/books/common.css => dom/xml/test/old/books/common.css rename : content/xml/tests/books/kerouac.gif => dom/xml/test/old/books/kerouac.gif rename : content/xml/tests/books/list.css => dom/xml/test/old/books/list.css rename : content/xml/tests/books/road.gif => dom/xml/test/old/books/road.gif rename : content/xml/tests/books/welville.gif => dom/xml/test/old/books/welville.gif rename : content/xml/tests/docbook.css => dom/xml/test/old/docbook.css rename : content/xml/tests/docbooktest.xml => dom/xml/test/old/docbooktest.xml rename : content/xml/tests/flamer.gif => dom/xml/test/old/flamer.gif rename : content/xml/tests/load/display.css => dom/xml/test/old/load/display.css rename : content/xml/tests/load/display.xml => dom/xml/test/old/load/display.xml rename : content/xml/tests/load/load.html => dom/xml/test/old/load/load.html rename : content/xml/tests/load/loadauth.html => dom/xml/test/old/load/loadauth.html rename : content/xml/tests/load/loaddisplay.html => dom/xml/test/old/load/loaddisplay.html rename : content/xml/tests/load/test.xml => dom/xml/test/old/load/test.xml rename : content/xml/tests/script.xml => dom/xml/test/old/script.xml rename : content/xml/tests/simple.xml => dom/xml/test/old/simple.xml rename : content/xml/tests/toc/book.css => dom/xml/test/old/toc/book.css rename : content/xml/tests/toc/irslogo.gif => dom/xml/test/old/toc/irslogo.gif rename : content/xml/tests/toc/minus.gif => dom/xml/test/old/toc/minus.gif rename : content/xml/tests/toc/plus.gif => dom/xml/test/old/toc/plus.gif rename : content/xml/tests/toc/rights.xml => dom/xml/test/old/toc/rights.xml rename : content/xml/tests/toc/toc.css => dom/xml/test/old/toc/toc.css rename : content/xml/tests/toc/toc.js => dom/xml/test/old/toc/toc.js rename : content/xml/tests/xlink/auto.xml => dom/xml/test/old/xlink/auto.xml rename : content/xml/tests/xlink/link.css => dom/xml/test/old/xlink/link.css rename : content/xml/tests/xlink/manual.xml => dom/xml/test/old/xlink/manual.xml rename : content/xml/tests/xmlbase/xmlbase.css => dom/xml/test/old/xmlbase/xmlbase.css rename : content/xml/tests/xmlbase/xmlbase.xml => dom/xml/test/old/xmlbase/xmlbase.xml rename : content/xml/document/test/test_bug232004.xhtml => dom/xml/test/test_bug232004.xhtml rename : content/xml/document/test/test_bug293347.html => dom/xml/test/test_bug293347.html rename : content/xml/document/test/test_bug343870.xhtml => dom/xml/test/test_bug343870.xhtml rename : content/xml/document/test/test_bug355213.xhtml => dom/xml/test/test_bug355213.xhtml rename : content/xml/document/test/test_bug392338.html => dom/xml/test/test_bug392338.html rename : content/xml/document/test/test_bug399502.xhtml => dom/xml/test/test_bug399502.xhtml rename : content/xml/document/test/test_bug445330.html => dom/xml/test/test_bug445330.html rename : content/xml/document/test/test_bug691215.html => dom/xml/test/test_bug691215.html rename : content/xml/document/test/test_viewport.xhtml => dom/xml/test/test_viewport.xhtml
117 lines
4 KiB
JavaScript
117 lines
4 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
// Event handler for display togglers in Table of Contents
|
|
function toggleDisplay(event)
|
|
{
|
|
if (event.target.localName != "img")
|
|
return;
|
|
var img = event.target;
|
|
var div = img.nextSibling.nextSibling;
|
|
|
|
// Change the display: property of the container to
|
|
// hide and show the container.
|
|
if (div.style.display == "none") {
|
|
div.style.display = "block";
|
|
img.src = "minus.gif";
|
|
}
|
|
else {
|
|
div.style.display = "none";
|
|
img.src = "plus.gif";
|
|
}
|
|
}
|
|
|
|
// Function that recurses down the tree, looking for
|
|
// structural elements. For each structural element,
|
|
// a corresponding element is created in the table of
|
|
// contents.
|
|
var searchTags = new Array("book", "chapter", "section");
|
|
var tocTags = new Array("level1", "level2", "level3");
|
|
function addToToc(root, tocFrame)
|
|
{
|
|
var i;
|
|
var newTocFrame = tocFrame;
|
|
var newTocElement = null;
|
|
var newTocLink = null;
|
|
|
|
for (i=0; i < searchTags.length; i++) {
|
|
if (root.tagName == searchTags[i]) {
|
|
// If we've found a structural element, create the
|
|
// equivalent TOC element.
|
|
newTocElement = document.createElement(tocTags[i]);
|
|
// Create the toclink element that is a link to the
|
|
// corresponding structural element.
|
|
newTocLink = document.createElement("toclink");
|
|
newTocLink.setAttributeNS("http://www.w3.org/1999/xlink","xlink:type", "simple");
|
|
newTocLink.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href", "#"+ root.getAttribute("id"));
|
|
newTocLink.setAttributeNS("http://www.w3.org/1999/xlink","xlink:show", "replace");
|
|
newTocElement.appendChild(newTocLink);
|
|
|
|
// Create the image and toggling container in the table of contents
|
|
if (i < searchTags.length-1) {
|
|
var img = document.createElementNS("http://www.w3.org/1999/xhtml","img");
|
|
img.src = "minus.gif";
|
|
newTocElement.insertBefore(img,newTocLink);
|
|
|
|
newTocFrame = document.createElementNS("http://www.w3.org/1999/xhtml","div");
|
|
newTocElement.appendChild(newTocFrame);
|
|
}
|
|
else {
|
|
newTocFrame = null;
|
|
}
|
|
|
|
tocFrame.appendChild(newTocElement);
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
// Recurse down through the childNodes list
|
|
for (i=0; i < root.childNodes.length; i++) {
|
|
var child = root.childNodes[i];
|
|
if (child.nodeType == Node.ELEMENT_NODE) {
|
|
if ((newTocLink != null) && (child.tagName == "title")) {
|
|
var text = child.firstChild.cloneNode(true);
|
|
newTocLink.appendChild(text);
|
|
}
|
|
else {
|
|
addToToc(child, newTocFrame);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Create the root table of contents element (a fixed element)
|
|
// and its contents.
|
|
function createToc()
|
|
{
|
|
if (document.getElementsByTagName("toc").length == 0) {
|
|
var toc = document.createElement("toc");
|
|
var title = document.createElement("title");
|
|
title.appendChild(document.createTextNode("Table of Contents"));
|
|
toc.appendChild(title);
|
|
|
|
// Recurse down and build up the document element
|
|
addToToc(document.documentElement, toc);
|
|
|
|
// Since we've created the toc element as a fixed element,
|
|
// insert a rule that shifts over the document element by
|
|
// the width of the toc element.
|
|
document.styleSheets[0].cssRules[0].style.marginLeft = "12em";
|
|
document.documentElement.appendChild(toc);
|
|
|
|
// Attach the event handler for table of contents buttons.
|
|
// This will only work for content that is already a part
|
|
// of a document, which is why we had to wait until here
|
|
// to do this.
|
|
toc.addEventListener("mouseup",toggleDisplay,1);
|
|
} else {
|
|
// Hide the table of contents.
|
|
// This is not very intelligent if we have a static document, we should
|
|
// just hide/show the toc via stylesheet mungling
|
|
document.documentElement.removeChild(document.getElementsByTagName("toc")[0]);
|
|
document.styleSheets[0].cssRules[0].style.marginLeft = "0em";
|
|
}
|
|
}
|
|
|