<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[20657] S60/trunk/WebCore</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/20657">20657</a></dd>
<dt>Author</dt> <dd>zbujtas</dd>
<dt>Date</dt> <dd>2007-04-02 10:39:53 -0700 (Mon, 02 Apr 2007)</dd>
</dl>

<h3>Log Message</h3>
<pre>2007-04-02  yongjzha  &lt;yonjun.zhang@nokia.com&gt;

        Reviewed by bjutas@gmail.com.
        DESC: suppress false memory leaking alert.
        http://bugs.webkit.org/show_bug.cgi?id=13253

        * khtml/css/css_base.h:
        (DOM::):
        * khtml/css/cssparser.h:
        (DOM::Value::):
        (DOM::qString):
        (DOM::domString):
        (DOM::atomicString):
        (DOM::):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#S60trunkWebCoreChangeLog">S60/trunk/WebCore/ChangeLog</a></li>
<li><a href="#S60trunkWebCorekhtmlcsscss_baseh">S60/trunk/WebCore/khtml/css/css_base.h</a></li>
<li><a href="#S60trunkWebCorekhtmlcsscssparserh">S60/trunk/WebCore/khtml/css/cssparser.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="S60trunkWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: S60/trunk/WebCore/ChangeLog (20656 => 20657)</h4>
<pre class="diff"><span>
<span class="info">--- S60/trunk/WebCore/ChangeLog        2007-04-02 17:36:20 UTC (rev 20656)
+++ S60/trunk/WebCore/ChangeLog        2007-04-02 17:39:53 UTC (rev 20657)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2007-04-02  yongjzha  &lt;yonjun.zhang@nokia.com&gt;
+
+        Reviewed by bjutas@gmail.com.
+        DESC: suppress false memory leaking alert.
+        http://bugs.webkit.org/show_bug.cgi?id=13253
+
+        * khtml/css/css_base.h:
+        (DOM::):
+        * khtml/css/cssparser.h:
+        (DOM::Value::):
+        (DOM::qString):
+        (DOM::domString):
+        (DOM::atomicString):
+        (DOM::):
+
</ins><span class="cx"> yongjzha  &lt;yongjun.zhang@nokia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Zalan &lt;zbujtas@gmail.com&gt;
</span></span></pre></div>
<a id="S60trunkWebCorekhtmlcsscss_baseh"></a>
<div class="modfile"><h4>Modified: S60/trunk/WebCore/khtml/css/css_base.h (20656 => 20657)</h4>
<pre class="diff"><span>
<span class="info">--- S60/trunk/WebCore/khtml/css/css_base.h        2007-04-02 17:36:20 UTC (rev 20656)
+++ S60/trunk/WebCore/khtml/css/css_base.h        2007-04-02 17:39:53 UTC (rev 20657)
</span><span class="lines">@@ -49,7 +49,9 @@
</span><span class="cx"> 
</span><span class="cx">     class DocumentImpl;
</span><span class="cx"> 
</span><del>-    struct CSSNamespace {
</del><ins>+    struct CSSNamespace 
+    OOM_MODIFIED    
+    {
</ins><span class="cx">         DOMString m_prefix;
</span><span class="cx">         DOMString m_uri;
</span><span class="cx">         CSSNamespace* m_parent;
</span><span class="lines">@@ -77,17 +79,17 @@
</span><span class="cx">     OOM_MODIFIED
</span><span class="cx">     {
</span><span class="cx">     public:
</span><del>-        CSSSelector()
-            : tagHistory(0), simpleSelector(0), nextSelector(0), attr(0), tag(anyQName),
</del><ins>+    CSSSelector()
+        : tagHistory(0), simpleSelector(0), nextSelector(0), attr(0), tag(anyQName),
</ins><span class="cx">               relation( Descendant ), match( None ),
</span><span class="cx">               pseudoId( 0 ), _pseudoType(PseudoNotParsed)
</span><span class="cx">         {}
</span><span class="cx"> 
</span><del>-        ~CSSSelector() {
-            delete tagHistory;
</del><ins>+    ~CSSSelector() {
+        delete tagHistory;
</ins><span class="cx">             delete simpleSelector;
</span><span class="cx">             delete nextSelector;
</span><del>-        }
</del><ins>+    }
</ins><span class="cx"> 
</span><span class="cx">         MAIN_THREAD_ALLOCATED;
</span><span class="cx"> 
</span><span class="lines">@@ -96,166 +98,166 @@
</span><span class="cx">         }
</span><span class="cx">         CSSSelector* next() { return nextSelector; }
</span><span class="cx"> 
</span><del>-        /**
-         * Print debug output for this selector
-         */
-        void print();
</del><ins>+    /**
+     * Print debug output for this selector
+     */
+    void print();
</ins><span class="cx"> 
</span><del>-        /**
-         * Re-create selector text from selector's data
-         */
-        DOMString selectorText() const;
</del><ins>+    /**
+     * Re-create selector text from selector's data
+     */
+    DOMString selectorText() const;
</ins><span class="cx"> 
</span><del>-        // checks if the 2 selectors (including sub selectors) agree.
-        bool operator == ( const CSSSelector &amp;other );
</del><ins>+    // checks if the 2 selectors (including sub selectors) agree.
+    bool operator == ( const CSSSelector &amp;other );
</ins><span class="cx"> 
</span><del>-        // tag == -1 means apply to all elements (Selector = *)
</del><ins>+    // tag == -1 means apply to all elements (Selector = *)
</ins><span class="cx"> 
</span><del>-        unsigned int specificity();
</del><ins>+    unsigned int specificity();
</ins><span class="cx"> 
</span><del>-        /* how the attribute value has to match.... Default is Exact */
-        enum Match
-        {
-            None = 0,
-            Id,
</del><ins>+    /* how the attribute value has to match.... Default is Exact */
+    enum Match
+    {
+        None = 0,
+        Id,
</ins><span class="cx">             Class,
</span><del>-            Exact,
-            Set,
-            List,
-            Hyphen,
-            Pseudo,
-            Contain,   // css3: E[foo*=&quot;bar&quot;]
-            Begin,     // css3: E[foo^=&quot;bar&quot;]
-            End        // css3: E[foo$=&quot;bar&quot;]
-        };
</del><ins>+        Exact,
+        Set,
+        List,
+        Hyphen,
+        Pseudo,
+        Contain,   // css3: E[foo*=&quot;bar&quot;]
+        Begin,     // css3: E[foo^=&quot;bar&quot;]
+        End        // css3: E[foo$=&quot;bar&quot;]
+    };
</ins><span class="cx"> 
</span><del>-        enum Relation
-        {
-            Descendant = 0,
-            Child,
-            Sibling,
-            SubSelector
-        };
</del><ins>+    enum Relation
+    {
+        Descendant = 0,
+        Child,
+        Sibling,
+        SubSelector
+    };
</ins><span class="cx"> 
</span><del>-        enum PseudoType
-        {
-            PseudoNotParsed = 0,
-            PseudoOther,
-            PseudoEmpty,
-            PseudoFirstChild,
</del><ins>+    enum PseudoType
+    {
+        PseudoNotParsed = 0,
+        PseudoOther,
+        PseudoEmpty,
+        PseudoFirstChild,
</ins><span class="cx">             PseudoLastChild,
</span><span class="cx">             PseudoOnlyChild,
</span><del>-            PseudoFirstLine,
-            PseudoFirstLetter,
-            PseudoLink,
-            PseudoVisited,
</del><ins>+        PseudoFirstLine,
+        PseudoFirstLetter,
+        PseudoLink,
+        PseudoVisited,
</ins><span class="cx">             PseudoAnyLink,
</span><del>-            PseudoHover,
-            PseudoDrag,
-            PseudoFocus,
-            PseudoActive,
</del><ins>+        PseudoHover,
+        PseudoDrag,
+        PseudoFocus,
+        PseudoActive,
</ins><span class="cx">             PseudoTarget,
</span><del>-            PseudoBefore,
-            PseudoAfter,
</del><ins>+        PseudoBefore,
+        PseudoAfter,
</ins><span class="cx">             PseudoLang,
</span><span class="cx">             PseudoNot,
</span><span class="cx">             PseudoRoot,
</span><span class="cx">             PseudoSelection
</span><del>-        };
</del><ins>+    };
</ins><span class="cx"> 
</span><del>-        inline PseudoType pseudoType() const
-            {
-                if (_pseudoType == PseudoNotParsed)
-                    extractPseudoType();
-                return _pseudoType;
-            }
</del><ins>+    inline PseudoType pseudoType() const
+        {
+        if (_pseudoType == PseudoNotParsed)
+            extractPseudoType();
+        return _pseudoType;
+        }
</ins><span class="cx"> 
</span><del>-        mutable DOM::AtomicString value;
-        CSSSelector* tagHistory;
</del><ins>+    mutable DOM::AtomicString value;
+    CSSSelector* tagHistory;
</ins><span class="cx">         CSSSelector* simpleSelector; // Used for :not.
</span><span class="cx">         CSSSelector* nextSelector; // used for ,-chained selectors
</span><del>-        Q_UINT32     attr;
-        Q_UINT32     tag;
</del><ins>+    Q_UINT32     attr;
+    Q_UINT32     tag;
</ins><span class="cx"> 
</span><span class="cx">         Relation relation     : 2;
</span><del>-        Match          match         : 4;
-        unsigned int pseudoId : 3;
-        mutable PseudoType _pseudoType : 5;
</del><ins>+    Match    match         : 4;
+    unsigned int pseudoId : 3;
+    mutable PseudoType _pseudoType : 5;
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        void extractPseudoType() const;
</del><ins>+    void extractPseudoType() const;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     // a style class which has a parent (almost all have)
</span><span class="cx">     class StyleBaseImpl : public khtml::TreeShared&lt;StyleBaseImpl&gt;
</span><span class="cx">     {
</span><span class="cx">     public:
</span><del>-        StyleBaseImpl()  { m_parent = 0; strictParsing = true; multiLength = false; }
-        StyleBaseImpl(StyleBaseImpl *p) {
-            m_parent = p;
-            strictParsing = (m_parent ? m_parent-&gt;useStrictParsing() : true);
-            multiLength = false;
-        }
</del><ins>+    StyleBaseImpl()  { m_parent = 0; strictParsing = true; multiLength = false; }
+    StyleBaseImpl(StyleBaseImpl *p) {
+        m_parent = p;
+        strictParsing = (m_parent ? m_parent-&gt;useStrictParsing() : true);
+        multiLength = false;
+    }
</ins><span class="cx"> 
</span><del>-        virtual ~StyleBaseImpl() {}
</del><ins>+    virtual ~StyleBaseImpl() {}
</ins><span class="cx"> 
</span><span class="cx">         MAIN_THREAD_ALLOCATED;
</span><span class="cx"> 
</span><del>-        // returns the url of the style sheet this object belongs to
-        DOMString baseURL();
</del><ins>+    // returns the url of the style sheet this object belongs to
+    DOMString baseURL();
</ins><span class="cx"> 
</span><del>-        virtual bool isStyleSheet() const { return false; }
-        virtual bool isCSSStyleSheet() const { return false; }
</del><ins>+    virtual bool isStyleSheet() const { return false; }
+    virtual bool isCSSStyleSheet() const { return false; }
</ins><span class="cx">         virtual bool isXSLStyleSheet() const { return false; }
</span><del>-        virtual bool isStyleSheetList() const { return false; }
-        virtual bool isMediaList() { return false; }
-        virtual bool isRuleList() { return false; }
-        virtual bool isRule() { return false; }
-        virtual bool isStyleRule() { return false; }
-        virtual bool isCharetRule() { return false; }
-        virtual bool isImportRule() { return false; }
-        virtual bool isMediaRule() { return false; }
-        virtual bool isFontFaceRule() { return false; }
-        virtual bool isPageRule() { return false; }
-        virtual bool isUnknownRule() { return false; }
-        virtual bool isStyleDeclaration() { return false; }
-        virtual bool isValue() { return false; }
-        virtual bool isPrimitiveValue() const { return false; }
-        virtual bool isValueList() { return false; }
-        virtual bool isValueCustom() { return false; }
</del><ins>+    virtual bool isStyleSheetList() const { return false; }
+    virtual bool isMediaList() { return false; }
+    virtual bool isRuleList() { return false; }
+    virtual bool isRule() { return false; }
+    virtual bool isStyleRule() { return false; }
+    virtual bool isCharetRule() { return false; }
+    virtual bool isImportRule() { return false; }
+    virtual bool isMediaRule() { return false; }
+    virtual bool isFontFaceRule() { return false; }
+    virtual bool isPageRule() { return false; }
+    virtual bool isUnknownRule() { return false; }
+    virtual bool isStyleDeclaration() { return false; }
+    virtual bool isValue() { return false; }
+    virtual bool isPrimitiveValue() const { return false; }
+    virtual bool isValueList() { return false; }
+    virtual bool isValueCustom() { return false; }
</ins><span class="cx"> 
</span><del>-        void setParent(StyleBaseImpl *parent) { m_parent = parent; }
</del><ins>+    void setParent(StyleBaseImpl *parent) { m_parent = parent; }
</ins><span class="cx"> 
</span><del>-        virtual bool parseString(const DOMString &amp;/*cssString*/, bool = false) { return false; }
</del><ins>+    virtual bool parseString(const DOMString &amp;/*cssString*/, bool = false) { return false; }
</ins><span class="cx"> 
</span><del>-        virtual void checkLoaded();
</del><ins>+    virtual void checkLoaded();
</ins><span class="cx"> 
</span><del>-        void setStrictParsing( bool b ) { strictParsing = b; }
-        bool useStrictParsing() const { return strictParsing; }
</del><ins>+    void setStrictParsing( bool b ) { strictParsing = b; }
+    bool useStrictParsing() const { return strictParsing; }
</ins><span class="cx"> 
</span><del>-        StyleSheetImpl* stylesheet();
</del><ins>+    StyleSheetImpl* stylesheet();
</ins><span class="cx"> 
</span><span class="cx">     protected:
</span><del>-        bool strictParsing : 1;
-        bool multiLength : 1;
</del><ins>+    bool strictParsing : 1;
+    bool multiLength : 1;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     // a style class which has a list of children (StyleSheets for example)
</span><span class="cx">     class StyleListImpl : public StyleBaseImpl
</span><span class="cx">     {
</span><span class="cx">     public:
</span><del>-        StyleListImpl() : StyleBaseImpl() { m_lstChildren = 0; }
-        StyleListImpl(StyleBaseImpl *parent) : StyleBaseImpl(parent) { m_lstChildren = 0; }
</del><ins>+    StyleListImpl() : StyleBaseImpl() { m_lstChildren = 0; }
+    StyleListImpl(StyleBaseImpl *parent) : StyleBaseImpl(parent) { m_lstChildren = 0; }
</ins><span class="cx"> 
</span><del>-        virtual ~StyleListImpl();
</del><ins>+    virtual ~StyleListImpl();
</ins><span class="cx"> 
</span><del>-        unsigned long length() { return m_lstChildren-&gt;count(); }
-        StyleBaseImpl *item(unsigned long num) { return m_lstChildren-&gt;at(num); }
</del><ins>+    unsigned long length() { return m_lstChildren-&gt;count(); }
+    StyleBaseImpl *item(unsigned long num) { return m_lstChildren-&gt;at(num); }
</ins><span class="cx"> 
</span><del>-        void append(StyleBaseImpl *item) { m_lstChildren-&gt;append(item); }
</del><ins>+    void append(StyleBaseImpl *item) { m_lstChildren-&gt;append(item); }
</ins><span class="cx"> 
</span><span class="cx">     protected:
</span><del>-        QPtrList&lt;StyleBaseImpl&gt; *m_lstChildren;
</del><ins>+    QPtrList&lt;StyleBaseImpl&gt; *m_lstChildren;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     int getPropertyID(const char *tagStr, int len);
</span></span></pre></div>
<a id="S60trunkWebCorekhtmlcsscssparserh"></a>
<div class="modfile"><h4>Modified: S60/trunk/WebCore/khtml/css/cssparser.h (20656 => 20657)</h4>
<pre class="diff"><span>
<span class="info">--- S60/trunk/WebCore/khtml/css/cssparser.h        2007-04-02 17:36:20 UTC (rev 20656)
+++ S60/trunk/WebCore/khtml/css/cssparser.h        2007-04-02 17:39:53 UTC (rev 20657)
</span><span class="lines">@@ -43,8 +43,8 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx">     struct ParseString {
</span><del>-        unsigned short *string;
-        int length;
</del><ins>+    unsigned short *string;
+    int length;
</ins><span class="cx">         
</span><span class="cx">         void lower();
</span><span class="cx">     };
</span><span class="lines">@@ -54,48 +54,50 @@
</span><span class="cx">     struct Function;
</span><span class="cx">     
</span><span class="cx">     struct Value {
</span><del>-        int id;
-        union {
-            double fValue;
-            int iValue;
-            ParseString string;
-            Function *function;
-        };
-        enum {
-            Operator = 0x100000,
-            Function = 0x100001,
-            Q_EMS     = 0x100002
-        };
</del><ins>+    int id;
+    union {
+        double fValue;
+        int iValue;
+        ParseString string;
+        Function *function;
+    };
+    enum {
+        Operator = 0x100000,
+        Function = 0x100001,
+        Q_EMS     = 0x100002
+    };
</ins><span class="cx"> 
</span><del>-        int unit;
</del><ins>+    int unit;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     static inline QString qString( const ParseString &amp;ps ) {
</span><del>-        return QString( (QChar *)ps.string, ps.length );
</del><ins>+    return QString( (QChar *)ps.string, ps.length );
</ins><span class="cx">     }
</span><span class="cx">     static inline DOMString domString( const ParseString &amp;ps ) {
</span><del>-        return DOMString( (QChar *)ps.string, ps.length );
</del><ins>+    return DOMString( (QChar *)ps.string, ps.length );
</ins><span class="cx">     }
</span><span class="cx">     static inline AtomicString atomicString( const ParseString &amp;ps ) {
</span><del>-        return AtomicString( ps.string, ps.length );
</del><ins>+    return AtomicString( ps.string, ps.length );
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     class ValueList 
</span><span class="cx">     OOM_MODIFIED
</span><span class="cx">     {
</span><span class="cx">     public:
</span><del>-        ValueList();
-        ~ValueList();
-        void addValue( const Value &amp;val );
-        Value *current() { return currentValue &lt; numValues ? values + currentValue : 0; }
-        Value *next() { ++currentValue; return current(); }
-        Value *values;
-        int numValues;
-        int maxValues;
-        int currentValue;
</del><ins>+    ValueList();
+    ~ValueList();
+    void addValue( const Value &amp;val );
+    Value *current() { return currentValue &lt; numValues ? values + currentValue : 0; }
+    Value *next() { ++currentValue; return current(); }
+    Value *values;
+    int numValues;
+    int maxValues;
+    int currentValue;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><del>-    struct Function {
</del><ins>+    struct Function 
+    OOM_MODIFIED
+    {
</ins><span class="cx">         ParseString name;
</span><span class="cx">         ValueList *args;
</span><span class="cx"> 
</span><span class="lines">@@ -103,34 +105,34 @@
</span><span class="cx">     };
</span><span class="cx">     
</span><span class="cx">     class CSSParser
</span><del>-        OOM_MODIFIED    
</del><ins>+    OOM_MODIFIED    
</ins><span class="cx">     {
</span><span class="cx">     public:
</span><del>-        CSSParser( bool strictParsing = true );
-        ~CSSParser();
</del><ins>+    CSSParser( bool strictParsing = true );
+    ~CSSParser();
</ins><span class="cx"> 
</span><del>-        void parseSheet( DOM::CSSStyleSheetImpl *sheet, const DOM::DOMString &amp;string );
-        DOM::CSSRuleImpl *parseRule( DOM::CSSStyleSheetImpl *sheet, const DOM::DOMString &amp;string );
-        bool parseValue( DOM::CSSMutableStyleDeclarationImpl *decls, int id, const DOM::DOMString &amp;string,
-                         bool _important );
</del><ins>+    void parseSheet( DOM::CSSStyleSheetImpl *sheet, const DOM::DOMString &amp;string );
+    DOM::CSSRuleImpl *parseRule( DOM::CSSStyleSheetImpl *sheet, const DOM::DOMString &amp;string );
+    bool parseValue( DOM::CSSMutableStyleDeclarationImpl *decls, int id, const DOM::DOMString &amp;string,
+             bool _important );
</ins><span class="cx">         static QRgb parseColor( const DOM::DOMString &amp;string );
</span><del>-        bool parseColor( DOM::CSSMutableStyleDeclarationImpl *declaration, const DOM::DOMString &amp;string );
-        bool parseDeclaration( DOM::CSSMutableStyleDeclarationImpl *decls, const DOM::DOMString &amp;string );
</del><ins>+    bool parseColor( DOM::CSSMutableStyleDeclarationImpl *declaration, const DOM::DOMString &amp;string );
+    bool parseDeclaration( DOM::CSSMutableStyleDeclarationImpl *decls, const DOM::DOMString &amp;string );
</ins><span class="cx"> 
</span><del>-        static CSSParser *current() { return currentParser; }
</del><ins>+    static CSSParser *current() { return currentParser; }
</ins><span class="cx"> 
</span><span class="cx"> 
</span><del>-        DOM::DocumentImpl *document() const;
</del><ins>+    DOM::DocumentImpl *document() const;
</ins><span class="cx"> 
</span><del>-        void addProperty( int propId, CSSValueImpl *value, bool important );
-        bool hasProperties() const { return numParsedProperties &gt; 0; }
-        CSSMutableStyleDeclarationImpl *createStyleDeclaration( CSSStyleRuleImpl *rule );
-        void clearProperties();
</del><ins>+    void addProperty( int propId, CSSValueImpl *value, bool important );
+    bool hasProperties() const { return numParsedProperties &gt; 0; }
+    CSSMutableStyleDeclarationImpl *createStyleDeclaration( CSSStyleRuleImpl *rule );
+    void clearProperties();
</ins><span class="cx"> 
</span><del>-        bool parseValue( int propId, bool important );
-        bool parseShortHand( const int *properties, int numProperties, bool important );
-        bool parse4Values( const int *properties, bool important );
-        bool parseContent( int propId, bool important );
</del><ins>+    bool parseValue( int propId, bool important );
+    bool parseShortHand( const int *properties, int numProperties, bool important );
+    bool parse4Values( const int *properties, bool important );
+    bool parseContent( int propId, bool important );
</ins><span class="cx"> 
</span><span class="cx">         CSSValueImpl* parseBackgroundColor();
</span><span class="cx">         CSSValueImpl* parseBackgroundImage();
</span><span class="lines">@@ -142,54 +144,54 @@
</span><span class="cx"> 
</span><span class="cx">         void addBackgroundValue(CSSValueImpl*&amp; lval, CSSValueImpl* rval);
</span><span class="cx">         
</span><del>-        bool parseDashboardRegions( int propId, bool important );
-        bool parseShape( int propId, bool important );
-        bool parseFont(bool important);
-        CSSValueListImpl *parseFontFamily();
</del><ins>+    bool parseDashboardRegions( int propId, bool important );
+    bool parseShape( int propId, bool important );
+    bool parseFont(bool important);
+    CSSValueListImpl *parseFontFamily();
</ins><span class="cx">         CSSPrimitiveValueImpl *parseColor();
</span><del>-        CSSPrimitiveValueImpl *parseColorFromValue(Value* val);
</del><ins>+    CSSPrimitiveValueImpl *parseColorFromValue(Value* val);
</ins><span class="cx"> 
</span><span class="cx">         static bool parseColor(const QString &amp;name, QRgb&amp; rgb);
</span><span class="cx"> 
</span><span class="cx">         // CSS3 Parsing Routines (for properties specific to CSS3)
</span><span class="cx">         bool parseShadow(int propId, bool important);
</span><span class="cx">         
</span><del>-        int yyparse( void );
</del><ins>+    int yyparse( void );
</ins><span class="cx">     public:
</span><del>-        bool strict;
-        bool important;
-        int id;
-        DOM::StyleListImpl *styleElement;
-        DOM::CSSRuleImpl *rule;
-        ValueList *valueList;
-        CSSProperty **parsedProperties;
-        int numParsedProperties;
-        int maxParsedProperties;
-        bool inParseShortHand;
</del><ins>+    bool strict;
+    bool important;
+    int id;
+    DOM::StyleListImpl *styleElement;
+    DOM::CSSRuleImpl *rule;
+    ValueList *valueList;
+    CSSProperty **parsedProperties;
+    int numParsedProperties;
+    int maxParsedProperties;
+    bool inParseShortHand;
</ins><span class="cx"> 
</span><span class="cx">         Q_UINT16 defaultNamespace;
</span><span class="cx">         
</span><del>-        static CSSParser *currentParser;
</del><ins>+    static CSSParser *currentParser;
</ins><span class="cx"> 
</span><del>-        // tokenizer methods and data
</del><ins>+    // tokenizer methods and data
</ins><span class="cx">     public:
</span><del>-        int lex( void *yylval );
-        int token() { return yyTok; }
-        unsigned short *text( int *length);
-        int lex();
</del><ins>+    int lex( void *yylval );
+    int token() { return yyTok; }
+    unsigned short *text( int *length);
+    int lex();
</ins><span class="cx">         
</span><span class="cx">     private:
</span><span class="cx">         void setupParser(const char *prefix, const DOMString &amp;string, const char *suffix);
</span><span class="cx">         
</span><del>-        unsigned short *data;
-        unsigned short *yytext;
-        unsigned short *yy_c_buf_p;
-        unsigned short yy_hold_char;
-        int yy_last_accepting_state;
-        unsigned short *yy_last_accepting_cpos;
-        int yyleng;
-        int yyTok;
-        int yy_start;
</del><ins>+    unsigned short *data;
+    unsigned short *yytext;
+    unsigned short *yy_c_buf_p;
+    unsigned short yy_hold_char;
+    int yy_last_accepting_state;
+    unsigned short *yy_last_accepting_cpos;
+    int yyleng;
+    int yyTok;
+    int yy_start;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx"> }; // namespace
</span></span></pre>
</div>
</div>

</body>
</html>