Last change
on this file since 30431 was
30431,
checked in by hyatt@apple.com, 16 years ago
|
Fix for bug 12751, doctype nodes aren't part of the Document (Acid3).
Reviewed by Sam Weinig
Many tests added in fast/doctypes.
- dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):
- dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setDocType):
(WebCore::Document::attach):
(WebCore::Document::getImageMap):
- dom/Document.h:
(WebCore::Document::doctype):
(WebCore::Document::):
(WebCore::Document::determineParseMode):
(WebCore::Document::setParseMode):
(WebCore::Document::parseMode):
(WebCore::Document::inCompatMode):
(WebCore::Document::inAlmostStrictMode):
(WebCore::Document::inStrictMode):
- dom/DocumentType.cpp:
(WebCore::DocumentType::cloneNode):
(WebCore::DocumentType::insertedIntoDocument):
(WebCore::DocumentType::removedFromDocument):
- dom/DocumentType.h:
- dom/Node.cpp:
(WebCore::Node::childAllowed):
- dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
- dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::internalSubset):
(WebCore::):
- editing/markup.cpp:
(WebCore::appendStartMarkup):
- html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::createRenderer):
- html/HTMLDocument.cpp:
(WebCore::HTMLDocument::HTMLDocument):
(WebCore::HTMLDocument::childAllowed):
(WebCore::HTMLDocument::determineParseMode):
- html/HTMLDocument.h:
- html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::parseMappedAttribute):
- html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::parseMappedAttribute):
- html/HTMLParser.cpp:
(WebCore::HTMLParser::parseDoctypeToken):
- html/HTMLParser.h:
- html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::reset):
(WebCore::HTMLTokenizer::parseDoctype):
(WebCore::HTMLTokenizer::parseTag):
(WebCore::HTMLTokenizer::write):
(WebCore::HTMLTokenizer::finish):
(WebCore::HTMLTokenizer::processDoctypeToken):
- html/HTMLTokenizer.h:
(WebCore::):
(WebCore::DoctypeToken::DoctypeToken):
(WebCore::DoctypeToken::reset):
(WebCore::DoctypeToken::state):
(WebCore::DoctypeToken::setState):
(WebCore::HTMLTokenizer::State::inDoctype):
(WebCore::HTMLTokenizer::State::setInDoctype):
(WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
(WebCore::HTMLTokenizer::State::):
- html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::addViewSourceToken):
(WebCore::HTMLViewSourceDocument::addViewSourceDoctypeToken):
- html/HTMLViewSourceDocument.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::write):
(WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
- page/Frame.cpp:
(WebCore::Frame::documentTypeString):
- page/inspector/utilities.js:
- xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):
|
File size:
1.3 KB
|
Line | |
---|
1 | log = function(msg) |
---|
2 | { |
---|
3 | document.getElementById('console').appendChild(document.createTextNode(msg + "\n")); |
---|
4 | } |
---|
5 | |
---|
6 | hasAlmostStandardsModeQuirk = function(doc) |
---|
7 | { |
---|
8 | var div = doc.createElement('div'); |
---|
9 | div.innerHTML = "<img src='http://www.google.com/intl/en_ALL/images/logo.gif' style='background-color: green; width: 100px; height: 100px'><br><img src='http://www.google.com/intl/en_ALL/images/logo.gif' style='background-color: green; width: 100px; height: 100px'>"; |
---|
10 | doc.body.appendChild(div); |
---|
11 | var hasQuirk = doc.defaultView.getComputedStyle(div, "").getPropertyValue("height") == "200px"; |
---|
12 | doc.body.removeChild(div); |
---|
13 | return hasQuirk; |
---|
14 | } |
---|
15 | |
---|
16 | testDoctype = function(doc, expected, doctype) |
---|
17 | { |
---|
18 | var mode = "NOT SET"; |
---|
19 | if (doc.compatMode == "CSS1Compat") { |
---|
20 | if (hasAlmostStandardsModeQuirk(doc)) { |
---|
21 | mode = "Almost Standards"; |
---|
22 | } else { |
---|
23 | mode = "Standards"; |
---|
24 | } |
---|
25 | } else if (doc.compatMode == "BackCompat") { |
---|
26 | mode = "Quirks"; |
---|
27 | } else { |
---|
28 | mode = "Your browser does not support document.compatMode"; |
---|
29 | } |
---|
30 | |
---|
31 | if (mode == expected) { |
---|
32 | log("PASS: the Doctype was " + mode + " as expected."); |
---|
33 | } else { |
---|
34 | log("FAIL: the Doctype was " + mode + ". It was expected to be " + expected + ". Doctype: " + doctype); |
---|
35 | } |
---|
36 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.