Diff
Modified: trunk/Source/WebCore/ChangeLog (103691 => 103692)
--- trunk/Source/WebCore/ChangeLog 2011-12-26 19:55:18 UTC (rev 103691)
+++ trunk/Source/WebCore/ChangeLog 2011-12-26 21:45:02 UTC (rev 103692)
@@ -1,3 +1,65 @@
+2011-12-26 Darin Adler <[email protected]>
+
+ Use OwnPtr and OwnArrayPtr in a couple more places
+ https://bugs.webkit.org/show_bug.cgi?id=75211
+
+ Reviewed by Andreas Kling.
+
+ I had a patch with some changes from a while back from going through all sorts of
+ classes and changing code to use adoptPtr. Most were landed long ago, these are the
+ ones that still apply.
+
+ There are six pieces here that could each be landed separately.
+ The big one is CSSParser.
+
+ * css/CSSGrammar.y: Update for members and functions that now
+ return PassOwnPtr instead of raw pointers.
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::CSSParser): Remove explicit construction
+ for m_valueList and m_data since OwnPtr and OwnArrayPtr initialize
+ to zero without it.
+ (WebCore::CSSParser::~CSSParser): Removed delete m_valueList and
+ fastFree(m_data) since OwnPtr and OwnArrayPtr handle that.
+ (WebCore::CSSParser::setupParser): Use adoptArrayPtr and new for
+ the character array instead of fastFree/fastMalloc. Added get
+ function calls as needed.
+ (WebCore::CSSParser::parseValue): Added get function calls as needed.
+ (WebCore::CSSParser::parseContent): Ditto.
+ (WebCore::CSSParser::parseFillProperty): Ditto.
+ (WebCore::CSSParser::parseTransformOriginShorthand): Ditto.
+ (WebCore::CSSParser::parseBorderImage): Ditto.
+ (WebCore::CSSParser::parseTransformOrigin): Ditto.
+ (WebCore::CSSParser::parsePerspectiveOrigin): Ditto.
+ (WebCore::CSSParser::sinkFloatingValueList): Changed to return PassOwnPtr.
+ The adoptPtr call is here.
+ (WebCore::CSSParser::sinkFloatingFunction): Ditto.
+ (WebCore::CSSParser::markSelectorListStart): Added get function calls as needed.
+ (WebCore::CSSParser::markSelectorListEnd): Ditto.
+ (WebCore::CSSParser::markRuleBodyStart): Ditto.
+ (WebCore::CSSParser::markRuleBodyEnd): Ditto.
+ (WebCore::CSSParser::markPropertyStart): Ditto.
+ (WebCore::CSSParser::markPropertyEnd): Ditto.
+ * css/CSSParser.h: Moved conditional includes to their own paragraph.
+ Made sinkFloatingValueList and sinkFloatingFunction return PassOwnPtr.
+ Made m_valueList an OwnPtr and m_data an OwnArrayPtr.
+ * css/SVGCSSParser.cpp:
+ (WebCore::CSSParser::parseSVGValue): Added a call to the get function.
+
+ * html/PluginDocument.h: Made isPluginDocument private. Also marked all the
+ functions that are overriding here as OVERRIDE since I was touching the header.
+
+ * html/parser/HTMLToken.h:
+ (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData): Removed an unneeded line
+ explicitly initializing the base class.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper): Fixed indent.
+
+ * rendering/style/RenderStyle.h: Moved conditional includes to their own paragraph.
+
+ * xml/parser/MarkupTokenBase.h:
+ (WebCore::MarkupTokenBase::beginDOCTYPE): Removed unneeded parentheses.
+
2011-12-26 Vsevolod Vlasov <[email protected]>
Web Inspector: Extract FileEditor from ScriptsPanel.
Modified: trunk/Source/WebCore/css/CSSGrammar.y (103691 => 103692)
--- trunk/Source/WebCore/css/CSSGrammar.y 2011-12-26 19:55:18 UTC (rev 103691)
+++ trunk/Source/WebCore/css/CSSGrammar.y 2011-12-26 21:45:02 UTC (rev 103692)
@@ -329,8 +329,7 @@
int oldParsedProperties = p->m_numParsedProperties;
if (!p->parseValue(p->m_id, p->m_important))
p->rollbackLastProperties(p->m_numParsedProperties - oldParsedProperties);
- delete p->m_valueList;
- p->m_valueList = 0;
+ p->m_valueList = nullptr;
}
}
;
@@ -1307,8 +1306,7 @@
p->rollbackLastProperties(p->m_numParsedProperties - oldParsedProperties);
else
isPropertyParsed = true;
- delete p->m_valueList;
- p->m_valueList = 0;
+ p->m_valueList = nullptr;
}
p->markPropertyEnd($5, isPropertyParsed);
}
@@ -1479,7 +1477,7 @@
CSSParser* p = static_cast<CSSParser*>(parser);
CSSParserFunction* f = p->createFloatingFunction();
f->name = $1;
- f->args = adoptPtr(p->sinkFloatingValueList($3));
+ f->args = p->sinkFloatingValueList($3);
$$.id = 0;
$$.unit = CSSParserValue::Function;
$$.function = f;
@@ -1488,7 +1486,7 @@
CSSParser* p = static_cast<CSSParser*>(parser);
CSSParserFunction* f = p->createFloatingFunction();
f->name = $1;
- f->args = adoptPtr(p->sinkFloatingValueList($3));
+ f->args = p->sinkFloatingValueList($3);
$$.id = 0;
$$.unit = CSSParserValue::Function;
$$.function = f;
@@ -1498,7 +1496,7 @@
CSSParserFunction* f = p->createFloatingFunction();
f->name = $1;
CSSParserValueList* valueList = p->createFloatingValueList();
- f->args = adoptPtr(p->sinkFloatingValueList(valueList));
+ f->args = p->sinkFloatingValueList(valueList);
$$.id = 0;
$$.unit = CSSParserValue::Function;
$$.function = f;
@@ -1616,7 +1614,7 @@
CSSParser* p = static_cast<CSSParser*>(parser);
CSSParserFunction* f = p->createFloatingFunction();
f->name = $1;
- f->args = adoptPtr(p->sinkFloatingValueList($3));
+ f->args = p->sinkFloatingValueList($3);
$$.id = 0;
$$.unit = CSSParserValue::Function;
$$.function = f;
@@ -1641,7 +1639,7 @@
CSSParser* p = static_cast<CSSParser*>(parser);
CSSParserFunction* f = p->createFloatingFunction();
f->name = $1;
- f->args = adoptPtr(p->sinkFloatingValueList($3));
+ f->args = p->sinkFloatingValueList($3);
$$.id = 0;
$$.unit = CSSParserValue::Function;
$$.function = f;
Modified: trunk/Source/WebCore/css/CSSParser.cpp (103691 => 103692)
--- trunk/Source/WebCore/css/CSSParser.cpp 2011-12-26 19:55:18 UTC (rev 103691)
+++ trunk/Source/WebCore/css/CSSParser.cpp 2011-12-26 21:45:02 UTC (rev 103692)
@@ -177,12 +177,13 @@
m_cssValuePool = CSSValuePool::create();
}
+// FIXME: Can m_parsedProperties just be a Vector?
+
CSSParser::CSSParser(bool strictParsing)
: m_strict(strictParsing)
, m_important(false)
, m_id(0)
, m_styleSheet(0)
- , m_valueList(0)
, m_parsedProperties(static_cast<CSSProperty**>(fastMalloc(32 * sizeof(CSSProperty*))))
, m_numParsedProperties(0)
, m_maxParsedProperties(32)
@@ -199,7 +200,6 @@
, m_propertyRange(UINT_MAX, UINT_MAX)
, m_ruleRangeMap(0)
, m_currentRuleData(0)
- , m_data(0)
, yy_start(1)
, m_lineNumber(0)
, m_lastSelectorLineNumber(0)
@@ -217,10 +217,6 @@
clearProperties();
fastFree(m_parsedProperties);
- delete m_valueList;
-
- fastFree(m_data);
-
fastDeleteAllValues(m_floatingSelectors);
deleteAllValues(m_floatingSelectorVectors);
deleteAllValues(m_floatingValueLists);
@@ -248,12 +244,11 @@
{
int length = string.length() + strlen(prefix) + strlen(suffix) + 2;
- fastFree(m_data);
- m_data = static_cast<UChar*>(fastMalloc(length * sizeof(UChar)));
+ m_data = adoptArrayPtr(new UChar[length]);
for (unsigned i = 0; i < strlen(prefix); i++)
m_data[i] = prefix[i];
- memcpy(m_data + strlen(prefix), string.characters(), string.length() * sizeof(UChar));
+ memcpy(m_data.get() + strlen(prefix), string.characters(), string.length() * sizeof(UChar));
unsigned start = strlen(prefix) + string.length();
unsigned end = start + strlen(suffix);
@@ -265,7 +260,8 @@
yy_hold_char = 0;
yyleng = 0;
- yytext = yy_c_buf_p = m_data;
+ yytext = m_data.get();
+ yy_c_buf_p = yytext;
yy_hold_char = *yy_c_buf_p;
resetRuleBodyMarks();
}
@@ -512,8 +508,8 @@
return ok;
}
-// color will only be changed when string contains a valid css color, making it
-// possible to set up a default color.
+// The color will only be changed when string contains a valid CSS color, so callers
+// can set it to a default color and ignore the boolean result.
bool CSSParser::parseColor(RGBA32& color, const String& string, bool strict)
{
// First try creating a color specified by name, rgba(), rgb() or "#" syntax.
@@ -1253,7 +1249,7 @@
m_valueList->next();
}
} else if (isGeneratedImageValue(value)) {
- if (parseGeneratedImage(m_valueList, parsedValue))
+ if (parseGeneratedImage(m_valueList.get(), parsedValue))
m_valueList->next();
else
return false;
@@ -1562,7 +1558,7 @@
if (id == CSSValueNone)
validPrimitive = true;
else {
- RefPtr<CSSValueList> shadowValueList = parseShadow(m_valueList, propId);
+ RefPtr<CSSValueList> shadowValueList = parseShadow(m_valueList.get(), propId);
if (shadowValueList) {
addProperty(propId, shadowValueList.release(), important);
m_valueList->next();
@@ -2813,7 +2809,7 @@
if (!parsedValue)
return false;
} else if (isGeneratedImageValue(val)) {
- if (!parseGeneratedImage(m_valueList, parsedValue))
+ if (!parseGeneratedImage(m_valueList.get(), parsedValue))
return false;
} else
return false;
@@ -3163,7 +3159,7 @@
break;
case CSSPropertyBackgroundImage:
case CSSPropertyWebkitMaskImage:
- if (parseFillImage(m_valueList, currValue))
+ if (parseFillImage(m_valueList.get(), currValue))
m_valueList->next();
break;
case CSSPropertyWebkitBackgroundClip:
@@ -3192,19 +3188,19 @@
break;
case CSSPropertyBackgroundPosition:
case CSSPropertyWebkitMaskPosition:
- parseFillPosition(m_valueList, currValue, currValue2);
+ parseFillPosition(m_valueList.get(), currValue, currValue2);
// parseFillPosition advances the m_valueList pointer
break;
case CSSPropertyBackgroundPositionX:
case CSSPropertyWebkitMaskPositionX: {
- currValue = parseFillPositionX(m_valueList);
+ currValue = parseFillPositionX(m_valueList.get());
if (currValue)
m_valueList->next();
break;
}
case CSSPropertyBackgroundPositionY:
case CSSPropertyWebkitMaskPositionY: {
- currValue = parseFillPositionY(m_valueList);
+ currValue = parseFillPositionY(m_valueList.get());
if (currValue)
m_valueList->next();
break;
@@ -3355,7 +3351,7 @@
bool CSSParser::parseTransformOriginShorthand(RefPtr<CSSValue>& value1, RefPtr<CSSValue>& value2, RefPtr<CSSValue>& value3)
{
- parseFillPosition(m_valueList, value1, value2);
+ parseFillPosition(m_valueList.get(), value1, value2);
// now get z
if (m_valueList->current()) {
@@ -5413,7 +5409,7 @@
context.commitImage(CSSImageValue::create(m_styleSheet->completeURL(val->string)));
} else if (isGeneratedImageValue(val)) {
RefPtr<CSSValue> value;
- if (parseGeneratedImage(m_valueList, value))
+ if (parseGeneratedImage(m_valueList.get(), value))
context.commitImage(value);
else
return false;
@@ -7013,13 +7009,13 @@
// parseTransformOriginShorthand advances the m_valueList pointer
break;
case CSSPropertyWebkitTransformOriginX: {
- value = parseFillPositionX(m_valueList);
+ value = parseFillPositionX(m_valueList.get());
if (value)
m_valueList->next();
break;
}
case CSSPropertyWebkitTransformOriginY: {
- value = parseFillPositionY(m_valueList);
+ value = parseFillPositionY(m_valueList.get());
if (value)
m_valueList->next();
break;
@@ -7047,16 +7043,16 @@
switch (propId) {
case CSSPropertyWebkitPerspectiveOrigin:
- parseFillPosition(m_valueList, value, value2);
+ parseFillPosition(m_valueList.get(), value, value2);
break;
case CSSPropertyWebkitPerspectiveOriginX: {
- value = parseFillPositionX(m_valueList);
+ value = parseFillPositionX(m_valueList.get());
if (value)
m_valueList->next();
break;
}
case CSSPropertyWebkitPerspectiveOriginY: {
- value = parseFillPositionY(m_valueList);
+ value = parseFillPositionY(m_valueList.get());
if (value)
m_valueList->next();
break;
@@ -7497,13 +7493,13 @@
return list;
}
-CSSParserValueList* CSSParser::sinkFloatingValueList(CSSParserValueList* list)
+PassOwnPtr<CSSParserValueList> CSSParser::sinkFloatingValueList(CSSParserValueList* list)
{
if (list) {
ASSERT(m_floatingValueLists.contains(list));
m_floatingValueLists.remove(list);
}
- return list;
+ return adoptPtr(list);
}
CSSParserFunction* CSSParser::createFloatingFunction()
@@ -7513,13 +7509,13 @@
return function;
}
-CSSParserFunction* CSSParser::sinkFloatingFunction(CSSParserFunction* function)
+PassOwnPtr<CSSParserFunction> CSSParser::sinkFloatingFunction(CSSParserFunction* function)
{
if (function) {
ASSERT(m_floatingFunctions.contains(function));
m_floatingFunctions.remove(function);
}
- return function;
+ return adoptPtr(function);
}
CSSParserValue& CSSParser::sinkFloatingValue(CSSParserValue& value)
@@ -7861,7 +7857,7 @@
void CSSParser::markSelectorListStart()
{
- m_selectorListRange.start = yytext - m_data;
+ m_selectorListRange.start = yytext - m_data.get();
}
void CSSParser::markSelectorListEnd()
@@ -7869,18 +7865,18 @@
if (!m_currentRuleData)
return;
UChar* listEnd = yytext;
- while (listEnd > m_data + 1) {
+ while (listEnd > m_data.get() + 1) {
if (isHTMLSpace(*(listEnd - 1)))
--listEnd;
else
break;
}
- m_selectorListRange.end = listEnd - m_data;
+ m_selectorListRange.end = listEnd - m_data.get();
}
void CSSParser::markRuleBodyStart()
{
- unsigned offset = yytext - m_data;
+ unsigned offset = yytext - m_data.get();
if (*yytext == '{')
++offset; // Skip the rule body opening brace.
if (offset > m_ruleBodyRange.start)
@@ -7890,7 +7886,7 @@
void CSSParser::markRuleBodyEnd()
{
- unsigned offset = yytext - m_data;
+ unsigned offset = yytext - m_data.get();
if (offset > m_ruleBodyRange.end)
m_ruleBodyRange.end = offset;
}
@@ -7899,14 +7895,14 @@
{
if (!m_inStyleRuleOrDeclaration)
return;
- m_propertyRange.start = yytext - m_data;
+ m_propertyRange.start = yytext - m_data.get();
}
void CSSParser::markPropertyEnd(bool isImportantFound, bool isPropertyParsed)
{
if (!m_inStyleRuleOrDeclaration)
return;
- unsigned offset = yytext - m_data;
+ unsigned offset = yytext - m_data.get();
if (*yytext == ';') // Include semicolon into the property text.
++offset;
m_propertyRange.end = offset;
@@ -7915,7 +7911,7 @@
const unsigned start = m_propertyRange.start;
const unsigned end = m_propertyRange.end;
ASSERT(start < end);
- String propertyString = String(m_data + start, end - start).stripWhiteSpace();
+ String propertyString = String(m_data.get() + start, end - start).stripWhiteSpace();
if (propertyString.endsWith(";", true))
propertyString = propertyString.left(propertyString.length() - 1);
size_t colonIndex = propertyString.find(":");
Modified: trunk/Source/WebCore/css/CSSParser.h (103691 => 103692)
--- trunk/Source/WebCore/css/CSSParser.h 2011-12-26 19:55:18 UTC (rev 103691)
+++ trunk/Source/WebCore/css/CSSParser.h 2011-12-26 21:45:02 UTC (rev 103692)
@@ -29,14 +29,16 @@
#include "CSSSelector.h"
#include "Color.h"
#include "MediaQuery.h"
-#if ENABLE(CSS_FILTERS)
-#include "WebKitCSSFilterValue.h"
-#endif
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
+#include <wtf/OwnArrayPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/AtomicString.h>
+#if ENABLE(CSS_FILTERS)
+#include "WebKitCSSFilterValue.h"
+#endif
+
namespace WebCore {
class CSSBorderImageSliceValue;
@@ -225,10 +227,10 @@
PassOwnPtr<Vector<OwnPtr<CSSParserSelector> > > sinkFloatingSelectorVector(Vector<OwnPtr<CSSParserSelector> >*);
CSSParserValueList* createFloatingValueList();
- CSSParserValueList* sinkFloatingValueList(CSSParserValueList*);
+ PassOwnPtr<CSSParserValueList> sinkFloatingValueList(CSSParserValueList*);
CSSParserFunction* createFloatingFunction();
- CSSParserFunction* sinkFloatingFunction(CSSParserFunction*);
+ PassOwnPtr<CSSParserFunction> sinkFloatingFunction(CSSParserFunction*);
CSSParserValue& sinkFloatingValue(CSSParserValue&);
@@ -278,7 +280,7 @@
RefPtr<CSSRule> m_rule;
RefPtr<WebKitCSSKeyframeRule> m_keyframe;
OwnPtr<MediaQuery> m_mediaQuery;
- CSSParserValueList* m_valueList;
+ OwnPtr<CSSParserValueList> m_valueList;
CSSProperty** m_parsedProperties;
CSSSelectorList* m_selectorListForParseSelector;
@@ -354,7 +356,7 @@
bool parseColor(const String&);
- UChar* m_data;
+ OwnArrayPtr<UChar> m_data;
UChar* yytext;
UChar* yy_c_buf_p;
UChar yy_hold_char;
Modified: trunk/Source/WebCore/css/SVGCSSParser.cpp (103691 => 103692)
--- trunk/Source/WebCore/css/SVGCSSParser.cpp 2011-12-26 19:55:18 UTC (rev 103691)
+++ trunk/Source/WebCore/css/SVGCSSParser.cpp 2011-12-26 21:45:02 UTC (rev 103692)
@@ -272,7 +272,7 @@
if (id == CSSValueNone)
valid_primitive = true;
else {
- RefPtr<CSSValueList> shadowValueList = parseShadow(m_valueList, propId);
+ RefPtr<CSSValueList> shadowValueList = parseShadow(m_valueList.get(), propId);
if (shadowValueList) {
addProperty(propId, shadowValueList.release(), important);
m_valueList->next();
Modified: trunk/Source/WebCore/html/PluginDocument.h (103691 => 103692)
--- trunk/Source/WebCore/html/PluginDocument.h 2011-12-26 19:55:18 UTC (rev 103691)
+++ trunk/Source/WebCore/html/PluginDocument.h 2011-12-26 21:45:02 UTC (rev 103692)
@@ -31,6 +31,7 @@
class Node;
class Widget;
+
class PluginDocument : public HTMLDocument {
public:
static PassRefPtr<PluginDocument> create(Frame* frame, const KURL& url)
@@ -43,10 +44,8 @@
Widget* pluginWidget();
Node* pluginNode();
- virtual bool isPluginDocument() const { return true; }
+ virtual void detach() OVERRIDE;
- virtual void detach();
-
void cancelManualPluginLoad();
bool shouldLoadPluginManually() { return m_shouldLoadPluginManually; }
@@ -54,7 +53,8 @@
private:
PluginDocument(Frame*, const KURL&);
- virtual PassRefPtr<DocumentParser> createParser();
+ virtual PassRefPtr<DocumentParser> createParser() OVERRIDE;
+ virtual bool isPluginDocument() const OVERRIDE { return true; }
void setShouldLoadPluginManually(bool loadManually) { m_shouldLoadPluginManually = loadManually; }
Modified: trunk/Source/WebCore/html/parser/HTMLToken.h (103691 => 103692)
--- trunk/Source/WebCore/html/parser/HTMLToken.h 2011-12-26 19:55:18 UTC (rev 103691)
+++ trunk/Source/WebCore/html/parser/HTMLToken.h 2011-12-26 21:45:02 UTC (rev 103692)
@@ -46,8 +46,7 @@
WTF_MAKE_NONCOPYABLE(DoctypeData);
public:
DoctypeData()
- : DoctypeDataBase()
- , m_forceQuirks(false)
+ : m_forceQuirks(false)
{
}
Modified: trunk/Source/WebCore/page/animation/AnimationBase.cpp (103691 => 103692)
--- trunk/Source/WebCore/page/animation/AnimationBase.cpp 2011-12-26 19:55:18 UTC (rev 103691)
+++ trunk/Source/WebCore/page/animation/AnimationBase.cpp 2011-12-26 21:45:02 UTC (rev 103692)
@@ -377,8 +377,8 @@
class RefCountedPropertyWrapper : public PropertyWrapperGetter<T*> {
public:
RefCountedPropertyWrapper(int prop, T* (RenderStyle::*getter)() const, void (RenderStyle::*setter)(PassRefPtr<T>))
- : PropertyWrapperGetter<T*>(prop, getter)
- , m_setter(setter)
+ : PropertyWrapperGetter<T*>(prop, getter)
+ , m_setter(setter)
{
}
Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (103691 => 103692)
--- trunk/Source/WebCore/rendering/style/RenderStyle.h 2011-12-26 19:55:18 UTC (rev 103691)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h 2011-12-26 21:45:02 UTC (rev 103692)
@@ -35,9 +35,6 @@
#include "CounterDirectives.h"
#include "DataRef.h"
#include "FillLayer.h"
-#if ENABLE(CSS_FILTERS)
-#include "FilterOperations.h"
-#endif
#include "Font.h"
#include "GraphicsTypes.h"
#include "Length.h"
@@ -52,13 +49,7 @@
#include "StyleBackgroundData.h"
#include "StyleBoxData.h"
#include "StyleDeprecatedFlexibleBoxData.h"
-#if ENABLE(CSS_FILTERS)
-#include "StyleFilterData.h"
-#endif
#include "StyleFlexibleBoxData.h"
-#if ENABLE(CSS_GRID_LAYOUT)
-#include "StyleGridData.h"
-#endif
#include "StyleInheritedData.h"
#include "StyleMarqueeData.h"
#include "StyleMultiColData.h"
@@ -79,6 +70,15 @@
#include <wtf/StdLibExtras.h>
#include <wtf/Vector.h>
+#if ENABLE(CSS_FILTERS)
+#include "FilterOperations.h"
+#include "StyleFilterData.h"
+#endif
+
+#if ENABLE(CSS_GRID_LAYOUT)
+#include "StyleGridData.h"
+#endif
+
#if ENABLE(DASHBOARD_SUPPORT)
#include "StyleDashboardRegion.h"
#endif
Modified: trunk/Source/WebCore/xml/parser/MarkupTokenBase.h (103691 => 103692)
--- trunk/Source/WebCore/xml/parser/MarkupTokenBase.h 2011-12-26 19:55:18 UTC (rev 103691)
+++ trunk/Source/WebCore/xml/parser/MarkupTokenBase.h 2011-12-26 21:45:02 UTC (rev 103692)
@@ -153,7 +153,7 @@
{
ASSERT(m_type == TypeSet::Uninitialized);
m_type = TypeSet::DOCTYPE;
- m_doctypeData = adoptPtr(new DoctypeData());
+ m_doctypeData = adoptPtr(new DoctypeData);
}
void beginDOCTYPE(UChar character)