Dropping m_startingLineNumber property from StyledElement.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Jun 2012 00:36:22 +0000 (00:36 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Jun 2012 00:36:22 +0000 (00:36 +0000)
https://bugs.webkit.org/show_bug.cgi?id=86848

Patch by Mike West <mkwst@chromium.org> on 2012-06-07
Reviewed by Adam Barth.

We can have the same effect by moving the line-number calculation
directly into StyledElement::styleAttributeChanged. This means that
subsequent changes to the style attribute (via script) won't generate
error messages with line numbers, but that's an acceptable tradeoff.

Behavior is covered by existing CSP tests.

* dom/StyledElement.cpp:
(WebCore::StyledElement::StyledElement):
(WebCore::StyledElement::styleAttributeChanged):
* dom/StyledElement.h:
(WebCore::StyledElement::destroyInlineStyle):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@119776 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/dom/StyledElement.cpp
Source/WebCore/dom/StyledElement.h

index 9896228..7f0cfd3 100644 (file)
@@ -1,3 +1,23 @@
+2012-06-07  Mike West  <mkwst@chromium.org>
+
+        Dropping m_startingLineNumber property from StyledElement.
+        https://bugs.webkit.org/show_bug.cgi?id=86848
+
+        Reviewed by Adam Barth.
+
+        We can have the same effect by moving the line-number calculation
+        directly into StyledElement::styleAttributeChanged. This means that
+        subsequent changes to the style attribute (via script) won't generate
+        error messages with line numbers, but that's an acceptable tradeoff.
+
+        Behavior is covered by existing CSP tests.
+
+        * dom/StyledElement.cpp:
+        (WebCore::StyledElement::StyledElement):
+        (WebCore::StyledElement::styleAttributeChanged):
+        * dom/StyledElement.h:
+        (WebCore::StyledElement::destroyInlineStyle):
+
 2012-06-07  Peter Beverloo  <peter@chromium.org>
 
         Initialize m_document in AXObjectCache's constructor for !HAVE(ACCESSIBILITY) builds
index a2bed3f..51d94c9 100644 (file)
@@ -130,10 +130,7 @@ void StyledElement::updateStyleAttribute() const
 
 StyledElement::StyledElement(const QualifiedName& name, Document* document, ConstructionType type)
     : Element(name, document, type)
-    , m_startLineNumber(WTF::OrdinalNumber::beforeFirst())
 {
-    if (document && document->scriptableDocumentParser() && !document->isInDocumentWrite())
-        m_startLineNumber = document->scriptableDocumentParser()->lineNumber();
 }
 
 StyledElement::~StyledElement()
@@ -181,9 +178,12 @@ void StyledElement::classAttributeChanged(const AtomicString& newClassString)
 void StyledElement::styleAttributeChanged(const AtomicString& newStyleString, ShouldReparseStyleAttribute shouldReparse)
 {
     if (shouldReparse) {
+        WTF::OrdinalNumber startLineNumber = WTF::OrdinalNumber::beforeFirst();
+        if (document() && document()->scriptableDocumentParser() && !document()->isInDocumentWrite())
+            startLineNumber = document()->scriptableDocumentParser()->lineNumber();
         if (newStyleString.isNull())
             destroyInlineStyle();
-        else if (document()->contentSecurityPolicy()->allowInlineStyle(document()->url(), m_startLineNumber))
+        else if (document()->contentSecurityPolicy()->allowInlineStyle(document()->url(), startLineNumber))
             ensureAttributeData()->updateInlineStyleAvoidingMutation(this, newStyleString);
         setIsStyleAttributeValid();
     }
index 4736a98..abd49ad 100644 (file)
@@ -27,7 +27,6 @@
 
 #include "Element.h"
 #include "StylePropertySet.h"
-#include <wtf/text/TextPosition.h>
 
 namespace WebCore {
 
@@ -93,8 +92,6 @@ private:
         if (attributeData())
             attributeData()->destroyInlineStyle(this);
     }
-
-    WTF::OrdinalNumber m_startLineNumber;
 };
 
 inline const SpaceSplitString& StyledElement::classNames() const