Title: [140569] trunk/Source/WebCore
- Revision
- 140569
- Author
- [email protected]
- Date
- 2013-01-23 12:13:00 -0800 (Wed, 23 Jan 2013)
Log Message
Remove DocType support from MarkupTokenBase now that NEW_XML is gone
https://bugs.webkit.org/show_bug.cgi?id=107709
Reviewed by Adam Barth.
Just moving code out of MarkupTokenBase and into HTMLToken.
The test for this change is if it compiles. :) Which it does.
* html/parser/HTMLToken.h:
(DoctypeData):
(WebCore::DoctypeData::DoctypeData):
(WebCore):
(WebCore::HTMLToken::appendToName):
(WebCore::HTMLToken::name):
(HTMLToken):
(WebCore::HTMLToken::beginDOCTYPE):
(WebCore::HTMLToken::publicIdentifier):
(WebCore::HTMLToken::systemIdentifier):
(WebCore::HTMLToken::setPublicIdentifierToEmptyString):
(WebCore::HTMLToken::setSystemIdentifierToEmptyString):
(WebCore::HTMLToken::appendToPublicIdentifier):
(WebCore::HTMLToken::appendToSystemIdentifier):
(WebCore::HTMLToken::releaseDoctypeData):
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
(AtomicHTMLToken):
* html/parser/HTMLTokenTypes.h:
* xml/parser/MarkupTokenBase.h:
(WebCore):
(MarkupTokenBase):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (140568 => 140569)
--- trunk/Source/WebCore/ChangeLog 2013-01-23 20:11:56 UTC (rev 140568)
+++ trunk/Source/WebCore/ChangeLog 2013-01-23 20:13:00 UTC (rev 140569)
@@ -1,3 +1,35 @@
+2013-01-23 Eric Seidel <[email protected]>
+
+ Remove DocType support from MarkupTokenBase now that NEW_XML is gone
+ https://bugs.webkit.org/show_bug.cgi?id=107709
+
+ Reviewed by Adam Barth.
+
+ Just moving code out of MarkupTokenBase and into HTMLToken.
+ The test for this change is if it compiles. :) Which it does.
+
+ * html/parser/HTMLToken.h:
+ (DoctypeData):
+ (WebCore::DoctypeData::DoctypeData):
+ (WebCore):
+ (WebCore::HTMLToken::appendToName):
+ (WebCore::HTMLToken::name):
+ (HTMLToken):
+ (WebCore::HTMLToken::beginDOCTYPE):
+ (WebCore::HTMLToken::publicIdentifier):
+ (WebCore::HTMLToken::systemIdentifier):
+ (WebCore::HTMLToken::setPublicIdentifierToEmptyString):
+ (WebCore::HTMLToken::setSystemIdentifierToEmptyString):
+ (WebCore::HTMLToken::appendToPublicIdentifier):
+ (WebCore::HTMLToken::appendToSystemIdentifier):
+ (WebCore::HTMLToken::releaseDoctypeData):
+ (WebCore::AtomicHTMLToken::AtomicHTMLToken):
+ (AtomicHTMLToken):
+ * html/parser/HTMLTokenTypes.h:
+ * xml/parser/MarkupTokenBase.h:
+ (WebCore):
+ (MarkupTokenBase):
+
2013-01-23 Alexis Menard <[email protected]>
transition-property accepts incorrect "all, none" as value
Modified: trunk/Source/WebCore/html/parser/HTMLToken.h (140568 => 140569)
--- trunk/Source/WebCore/html/parser/HTMLToken.h 2013-01-23 20:11:56 UTC (rev 140568)
+++ trunk/Source/WebCore/html/parser/HTMLToken.h 2013-01-23 20:13:00 UTC (rev 140569)
@@ -34,18 +34,36 @@
namespace WebCore {
-class HTMLToken : public MarkupTokenBase<HTMLTokenTypes, HTMLTokenTypes::DoctypeData> {
+class DoctypeData {
+ WTF_MAKE_NONCOPYABLE(DoctypeData);
public:
+ DoctypeData()
+ : m_hasPublicIdentifier(false)
+ , m_hasSystemIdentifier(false)
+ , m_forceQuirks(false)
+ {
+ }
+
+ // FIXME: This should use String instead of Vector<UChar>.
+ bool m_hasPublicIdentifier;
+ bool m_hasSystemIdentifier;
+ WTF::Vector<UChar> m_publicIdentifier;
+ WTF::Vector<UChar> m_systemIdentifier;
+ bool m_forceQuirks;
+};
+
+class HTMLToken : public MarkupTokenBase<HTMLTokenTypes> {
+public:
void appendToName(UChar character)
{
ASSERT(m_type == HTMLTokenTypes::StartTag || m_type == HTMLTokenTypes::EndTag || m_type == HTMLTokenTypes::DOCTYPE);
- MarkupTokenBase<HTMLTokenTypes, HTMLTokenTypes::DoctypeData>::appendToName(character);
+ MarkupTokenBase<HTMLTokenTypes>::appendToName(character);
}
const DataVector& name() const
{
ASSERT(m_type == HTMLTokenTypes::StartTag || m_type == HTMLTokenTypes::EndTag || m_type == HTMLTokenTypes::DOCTYPE);
- return MarkupTokenBase<HTMLTokenTypes, HTMLTokenTypes::DoctypeData>::name();
+ return MarkupTokenBase<HTMLTokenTypes>::name();
}
bool forceQuirks() const
@@ -59,6 +77,74 @@
ASSERT(m_type == HTMLTokenTypes::DOCTYPE);
m_doctypeData->m_forceQuirks = true;
}
+
+ void beginDOCTYPE()
+ {
+ ASSERT(m_type == HTMLTokenTypes::Uninitialized);
+ m_type = HTMLTokenTypes::DOCTYPE;
+ m_doctypeData = adoptPtr(new DoctypeData);
+ }
+
+ void beginDOCTYPE(UChar character)
+ {
+ ASSERT(character);
+ beginDOCTYPE();
+ m_data.append(character);
+ m_orAllData |= character;
+ }
+
+ // FIXME: Distinguish between a missing public identifer and an empty one.
+ const WTF::Vector<UChar>& publicIdentifier() const
+ {
+ ASSERT(m_type == HTMLTokenTypes::DOCTYPE);
+ return m_doctypeData->m_publicIdentifier;
+ }
+
+ // FIXME: Distinguish between a missing system identifer and an empty one.
+ const WTF::Vector<UChar>& systemIdentifier() const
+ {
+ ASSERT(m_type == HTMLTokenTypes::DOCTYPE);
+ return m_doctypeData->m_systemIdentifier;
+ }
+
+ void setPublicIdentifierToEmptyString()
+ {
+ ASSERT(m_type == HTMLTokenTypes::DOCTYPE);
+ m_doctypeData->m_hasPublicIdentifier = true;
+ m_doctypeData->m_publicIdentifier.clear();
+ }
+
+ void setSystemIdentifierToEmptyString()
+ {
+ ASSERT(m_type == HTMLTokenTypes::DOCTYPE);
+ m_doctypeData->m_hasSystemIdentifier = true;
+ m_doctypeData->m_systemIdentifier.clear();
+ }
+
+ void appendToPublicIdentifier(UChar character)
+ {
+ ASSERT(character);
+ ASSERT(m_type == HTMLTokenTypes::DOCTYPE);
+ ASSERT(m_doctypeData->m_hasPublicIdentifier);
+ m_doctypeData->m_publicIdentifier.append(character);
+ }
+
+ void appendToSystemIdentifier(UChar character)
+ {
+ ASSERT(character);
+ ASSERT(m_type == HTMLTokenTypes::DOCTYPE);
+ ASSERT(m_doctypeData->m_hasSystemIdentifier);
+ m_doctypeData->m_systemIdentifier.append(character);
+ }
+
+ PassOwnPtr<DoctypeData> releaseDoctypeData()
+ {
+ return m_doctypeData.release();
+ }
+
+private:
+ // For DOCTYPE
+ OwnPtr<DoctypeData> m_doctypeData;
};
class AtomicHTMLToken : public RefCounted<AtomicHTMLToken> {
@@ -219,7 +305,7 @@
break;
case HTMLTokenTypes::DOCTYPE:
m_name = token.data();
- m_doctypeData = adoptPtr(new HTMLToken::DoctypeData());
+ m_doctypeData = adoptPtr(new DoctypeData());
m_doctypeData->m_hasPublicIdentifier = true;
m_doctypeData->m_publicIdentifier.append(token.publicIdentifier().characters(), token.publicIdentifier().length());
m_doctypeData->m_hasSystemIdentifier = true;
@@ -300,7 +386,7 @@
bool m_isAll8BitData;
// For DOCTYPE
- OwnPtr<HTMLTokenTypes::DoctypeData> m_doctypeData;
+ OwnPtr<DoctypeData> m_doctypeData;
// For StartTag and EndTag
bool m_selfClosing;
Modified: trunk/Source/WebCore/html/parser/HTMLTokenTypes.h (140568 => 140569)
--- trunk/Source/WebCore/html/parser/HTMLTokenTypes.h 2013-01-23 20:11:56 UTC (rev 140568)
+++ trunk/Source/WebCore/html/parser/HTMLTokenTypes.h 2013-01-23 20:13:00 UTC (rev 140569)
@@ -42,17 +42,6 @@
Character,
EndOfFile,
};
-
- class DoctypeData : public DoctypeDataBase {
- WTF_MAKE_NONCOPYABLE(DoctypeData);
- public:
- DoctypeData()
- : m_forceQuirks(false)
- {
- }
-
- bool m_forceQuirks;
- };
};
}
Modified: trunk/Source/WebCore/xml/parser/MarkupTokenBase.h (140568 => 140569)
--- trunk/Source/WebCore/xml/parser/MarkupTokenBase.h 2013-01-23 20:11:56 UTC (rev 140568)
+++ trunk/Source/WebCore/xml/parser/MarkupTokenBase.h 2013-01-23 20:13:00 UTC (rev 140569)
@@ -45,21 +45,6 @@
return 0;
}
-class DoctypeDataBase {
- WTF_MAKE_NONCOPYABLE(DoctypeDataBase); WTF_MAKE_FAST_ALLOCATED;
-public:
- DoctypeDataBase()
- : m_hasPublicIdentifier(false)
- , m_hasSystemIdentifier(false)
- {
- }
-
- bool m_hasPublicIdentifier;
- bool m_hasSystemIdentifier;
- WTF::Vector<UChar> m_publicIdentifier;
- WTF::Vector<UChar> m_systemIdentifier;
-};
-
class AttributeBase {
public:
class Range {
@@ -74,14 +59,13 @@
WTF::Vector<UChar, 32> m_value;
};
-template<typename TypeSet, typename DoctypeDataType = DoctypeDataBase, typename AttributeType = AttributeBase>
+template<typename TypeSet, typename AttributeType = AttributeBase>
class MarkupTokenBase {
WTF_MAKE_NONCOPYABLE(MarkupTokenBase);
WTF_MAKE_FAST_ALLOCATED;
public:
typedef TypeSet Type;
typedef AttributeType Attribute;
- typedef DoctypeDataType DoctypeData;
typedef WTF::Vector<Attribute, 10> AttributeList;
typedef WTF::Vector<UChar, 1024> DataVector;
@@ -169,21 +153,6 @@
m_type = TypeSet::Comment;
}
- void beginDOCTYPE()
- {
- ASSERT(m_type == TypeSet::Uninitialized);
- m_type = TypeSet::DOCTYPE;
- m_doctypeData = adoptPtr(new DoctypeData);
- }
-
- void beginDOCTYPE(UChar character)
- {
- ASSERT(character);
- beginDOCTYPE();
- m_data.append(character);
- m_orAllData |= character;
- }
-
void appendToCharacter(char character)
{
ASSERT(m_type == TypeSet::Character);
@@ -331,50 +300,6 @@
return (m_orAllData <= 0xff);
}
- // FIXME: Distinguish between a missing public identifer and an empty one.
- const WTF::Vector<UChar>& publicIdentifier() const
- {
- ASSERT(m_type == TypeSet::DOCTYPE);
- return m_doctypeData->m_publicIdentifier;
- }
-
- // FIXME: Distinguish between a missing system identifer and an empty one.
- const WTF::Vector<UChar>& systemIdentifier() const
- {
- ASSERT(m_type == TypeSet::DOCTYPE);
- return m_doctypeData->m_systemIdentifier;
- }
-
- void setPublicIdentifierToEmptyString()
- {
- ASSERT(m_type == TypeSet::DOCTYPE);
- m_doctypeData->m_hasPublicIdentifier = true;
- m_doctypeData->m_publicIdentifier.clear();
- }
-
- void setSystemIdentifierToEmptyString()
- {
- ASSERT(m_type == TypeSet::DOCTYPE);
- m_doctypeData->m_hasSystemIdentifier = true;
- m_doctypeData->m_systemIdentifier.clear();
- }
-
- void appendToPublicIdentifier(UChar character)
- {
- ASSERT(character);
- ASSERT(m_type == TypeSet::DOCTYPE);
- ASSERT(m_doctypeData->m_hasPublicIdentifier);
- m_doctypeData->m_publicIdentifier.append(character);
- }
-
- void appendToSystemIdentifier(UChar character)
- {
- ASSERT(character);
- ASSERT(m_type == TypeSet::DOCTYPE);
- ASSERT(m_doctypeData->m_hasSystemIdentifier);
- m_doctypeData->m_systemIdentifier.append(character);
- }
-
const DataVector& name() const
{
return m_data;
@@ -389,11 +314,6 @@
return String(m_data.data(), m_data.size());
}
- PassOwnPtr<DoctypeData> releaseDoctypeData()
- {
- return m_doctypeData.release();
- }
-
protected:
#ifndef NDEBUG
@@ -418,9 +338,6 @@
DataVector m_data;
UChar m_orAllData;
- // For DOCTYPE
- OwnPtr<DoctypeData> m_doctypeData;
-
// For StartTag and EndTag
bool m_selfClosing;
AttributeList m_attributes;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes