diff --git a/mozilla/content/html/content/src/nsGenericHTMLElement.cpp b/mozilla/content/html/content/src/nsGenericHTMLElement.cpp
index 4d9c45f2fda..4bd0066382e 100644
--- a/mozilla/content/html/content/src/nsGenericHTMLElement.cpp
+++ b/mozilla/content/html/content/src/nsGenericHTMLElement.cpp
@@ -1704,6 +1704,56 @@ nsGenericHTMLElement::MapBackgroundAttributesInto(nsIHTMLAttributes* aAttributes
}
}
+static PRBool AttributeChangeRequiresRepaint(const nsIAtom* aAttribute)
+{
+ // these are attributes that always require a restyle and a repaint, but not a reflow
+ // regardless of the tag they are associated with
+ return (PRBool)
+ (aAttribute==nsHTMLAtoms::bgcolor ||
+ aAttribute==nsHTMLAtoms::color);
+}
+
+static PRBool AttributeChangeRequiresReflow(const nsIAtom* aAttribute)
+{
+ // these are attributes that always require a restyle and reflow
+ // regardless of the tag they are associated with
+ return (PRBool)
+ (aAttribute==nsHTMLAtoms::align ||
+ aAttribute==nsHTMLAtoms::border ||
+ aAttribute==nsHTMLAtoms::cellpadding ||
+ aAttribute==nsHTMLAtoms::cellspacing ||
+ aAttribute==nsHTMLAtoms::ch ||
+ aAttribute==nsHTMLAtoms::choff ||
+ aAttribute==nsHTMLAtoms::colspan ||
+ aAttribute==nsHTMLAtoms::face ||
+ aAttribute==nsHTMLAtoms::frame ||
+ aAttribute==nsHTMLAtoms::height ||
+ aAttribute==nsHTMLAtoms::nowrap ||
+ aAttribute==nsHTMLAtoms::rowspan ||
+ aAttribute==nsHTMLAtoms::rules ||
+ aAttribute==nsHTMLAtoms::span ||
+ aAttribute==nsHTMLAtoms::valign ||
+ aAttribute==nsHTMLAtoms::width);
+}
+
+PRBool
+nsGenericHTMLElement::SetStyleHintForCommonAttributes(const nsIContent* aNode,
+ const nsIAtom* aAttribute,
+ PRInt32* aHint)
+{
+ PRBool setHint = PR_TRUE;
+ if (PR_TRUE == AttributeChangeRequiresReflow(aAttribute)) {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ else if (PR_TRUE == AttributeChangeRequiresRepaint(aAttribute)) {
+ *aHint = NS_STYLE_HINT_VISUAL;
+ }
+ else {
+ setHint = PR_FALSE;
+ }
+ return setHint;
+}
+
//----------------------------------------------------------------------
nsGenericHTMLLeafElement::nsGenericHTMLLeafElement()
diff --git a/mozilla/content/html/content/src/nsGenericHTMLElement.h b/mozilla/content/html/content/src/nsGenericHTMLElement.h
index 9efa122c320..bc11e409741 100644
--- a/mozilla/content/html/content/src/nsGenericHTMLElement.h
+++ b/mozilla/content/html/content/src/nsGenericHTMLElement.h
@@ -211,6 +211,10 @@ public:
const nsHTMLValue& aValue,
nsString& aResult);
+ static PRBool SetStyleHintForCommonAttributes(const nsIContent* aNode,
+ const nsIAtom* aAttribute,
+ PRInt32* aHint);
+
nsIHTMLAttributes* mAttributes;
};
@@ -439,8 +443,12 @@ public:
NS_IMETHOD AttributeToString(nsIAtom* aAttribute, \
nsHTMLValue& aValue, \
nsString& aResult) const; \
- NS_IMETHOD GetAttributeMappingFunction(nsMapAttributesFunc& aMapFunc) const;
-
+ NS_IMETHOD GetAttributeMappingFunction(nsMapAttributesFunc& aMapFunc) const; \
+ NS_IMETHOD GetStyleHintForAttributeChange( \
+ const nsIContent *aNode, \
+ const nsIAtom* aAttribute, \
+ PRInt32 *aHint) const;
+
#define NS_IMPL_IHTMLCONTENT_USING_GENERIC2(_g) \
NS_IMETHOD Compact() { \
return _g.Compact(); \
@@ -487,7 +495,11 @@ public:
NS_IMETHOD AttributeToString(nsIAtom* aAttribute, \
nsHTMLValue& aValue, \
nsString& aResult) const; \
- NS_IMETHOD GetAttributeMappingFunction(nsMapAttributesFunc& aMapFunc) const;
+ NS_IMETHOD GetAttributeMappingFunction(nsMapAttributesFunc& aMapFunc) const; \
+ NS_IMETHOD GetStyleHintForAttributeChange( \
+ const nsIContent *aNode, \
+ const nsIAtom* aAttribute, \
+ PRInt32 *aHint) const;
/**
* This macro implements the portion of query interface that is
diff --git a/mozilla/content/html/content/src/nsHTMLAnchorElement.cpp b/mozilla/content/html/content/src/nsHTMLAnchorElement.cpp
index 1792a166577..792f687e6ff 100644
--- a/mozilla/content/html/content/src/nsHTMLAnchorElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLAnchorElement.cpp
@@ -317,3 +317,13 @@ nsHTMLAnchorElement::HandleDOMEvent(nsIPresContext& aPresContext,
}
return ret;
}
+
+NS_IMETHODIMP
+nsHTMLAnchorElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLAppletElement.cpp b/mozilla/content/html/content/src/nsHTMLAppletElement.cpp
index 8f0027e92ce..c26629113ee 100644
--- a/mozilla/content/html/content/src/nsHTMLAppletElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLAppletElement.cpp
@@ -219,3 +219,13 @@ nsHTMLAppletElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLAppletElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLAreaElement.cpp b/mozilla/content/html/content/src/nsHTMLAreaElement.cpp
index 2fd08612699..20af92083dd 100644
--- a/mozilla/content/html/content/src/nsHTMLAreaElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLAreaElement.cpp
@@ -187,3 +187,13 @@ nsHTMLAreaElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLAreaElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLBRElement.cpp b/mozilla/content/html/content/src/nsHTMLBRElement.cpp
index 4fbaccfd0a3..646f61e6840 100644
--- a/mozilla/content/html/content/src/nsHTMLBRElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLBRElement.cpp
@@ -195,3 +195,13 @@ nsHTMLBRElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLBRElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLBaseElement.cpp b/mozilla/content/html/content/src/nsHTMLBaseElement.cpp
index 3ab74115ef9..33efdc7495d 100644
--- a/mozilla/content/html/content/src/nsHTMLBaseElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLBaseElement.cpp
@@ -169,3 +169,13 @@ nsHTMLBaseElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLBaseElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLBaseFontElement.cpp b/mozilla/content/html/content/src/nsHTMLBaseFontElement.cpp
index 99104a30726..eee0d2ffcf8 100644
--- a/mozilla/content/html/content/src/nsHTMLBaseFontElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLBaseFontElement.cpp
@@ -176,3 +176,13 @@ nsHTMLBaseFontElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLBaseFontElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLBodyElement.cpp b/mozilla/content/html/content/src/nsHTMLBodyElement.cpp
index 8ee79407724..283e185c5fe 100644
--- a/mozilla/content/html/content/src/nsHTMLBodyElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLBodyElement.cpp
@@ -727,4 +727,12 @@ nsHTMLBodyElement::GetInlineStyleRule(nsIStyleRule*& aResult)
return NS_OK;
}
-
+NS_IMETHODIMP
+nsHTMLBodyElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLButtonElement.cpp b/mozilla/content/html/content/src/nsHTMLButtonElement.cpp
index cf44d6bcade..0368427d072 100644
--- a/mozilla/content/html/content/src/nsHTMLButtonElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLButtonElement.cpp
@@ -416,3 +416,13 @@ nsHTMLButtonElement::SetForm(nsIDOMHTMLFormElement* aForm)
}
return result;
}
+
+NS_IMETHODIMP
+nsHTMLButtonElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLDListElement.cpp b/mozilla/content/html/content/src/nsHTMLDListElement.cpp
index 4c79197fd13..5c16cd1359f 100644
--- a/mozilla/content/html/content/src/nsHTMLDListElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLDListElement.cpp
@@ -182,3 +182,13 @@ nsHTMLDListElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLDListElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLDelElement.cpp b/mozilla/content/html/content/src/nsHTMLDelElement.cpp
index 14ea29bd667..51ee57e2db6 100644
--- a/mozilla/content/html/content/src/nsHTMLDelElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLDelElement.cpp
@@ -172,3 +172,13 @@ nsHTMLDelElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLDelElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLDirectoryElement.cpp b/mozilla/content/html/content/src/nsHTMLDirectoryElement.cpp
index 89666f7f70d..87c4a044d0a 100644
--- a/mozilla/content/html/content/src/nsHTMLDirectoryElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLDirectoryElement.cpp
@@ -208,3 +208,13 @@ nsHTMLDirectoryElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLDirectoryElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLDivElement.cpp b/mozilla/content/html/content/src/nsHTMLDivElement.cpp
index a6c83cfc6c2..6cd258fdc65 100644
--- a/mozilla/content/html/content/src/nsHTMLDivElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLDivElement.cpp
@@ -202,3 +202,13 @@ nsHTMLDivElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLDivElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLEmbedElement.cpp b/mozilla/content/html/content/src/nsHTMLEmbedElement.cpp
index 3ad2f3319e9..3d62cb64567 100644
--- a/mozilla/content/html/content/src/nsHTMLEmbedElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLEmbedElement.cpp
@@ -188,3 +188,13 @@ nsHTMLEmbedElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLEmbedElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLFieldSetElement.cpp b/mozilla/content/html/content/src/nsHTMLFieldSetElement.cpp
index 047abe1a3eb..feb8be720e2 100644
--- a/mozilla/content/html/content/src/nsHTMLFieldSetElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLFieldSetElement.cpp
@@ -266,3 +266,13 @@ nsHTMLFieldSetElement::SetWidget(nsIWidget* aWidget)
NS_ASSERTION(0, "Fieldset has no widget");
return NS_FORM_NOTOK;
}
+
+NS_IMETHODIMP
+nsHTMLFieldSetElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLFontElement.cpp b/mozilla/content/html/content/src/nsHTMLFontElement.cpp
index f2b491ec48d..5fd0c92a8d3 100644
--- a/mozilla/content/html/content/src/nsHTMLFontElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLFontElement.cpp
@@ -331,3 +331,13 @@ nsHTMLFontElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLFontElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLFormElement.cpp b/mozilla/content/html/content/src/nsHTMLFormElement.cpp
index acc53baf035..449ca0c3675 100644
--- a/mozilla/content/html/content/src/nsHTMLFormElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLFormElement.cpp
@@ -595,3 +595,12 @@ nsFormControlList::NamedItem(const nsString& aName, nsIDOMNode** aReturn)
return result;
}
+NS_IMETHODIMP
+nsHTMLFormElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLFrameElement.cpp b/mozilla/content/html/content/src/nsHTMLFrameElement.cpp
index 115891431a1..f6b72e0f688 100644
--- a/mozilla/content/html/content/src/nsHTMLFrameElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLFrameElement.cpp
@@ -222,3 +222,12 @@ nsHTMLFrameElement::HandleDOMEvent(nsIPresContext& aPresContext,
aFlags, aEventStatus);
}
+NS_IMETHODIMP
+nsHTMLFrameElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLFrameSetElement.cpp b/mozilla/content/html/content/src/nsHTMLFrameSetElement.cpp
index 8eef2f4052e..06a1a0e5a42 100644
--- a/mozilla/content/html/content/src/nsHTMLFrameSetElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLFrameSetElement.cpp
@@ -186,3 +186,13 @@ nsHTMLFrameSetElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLFrameSetElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLHRElement.cpp b/mozilla/content/html/content/src/nsHTMLHRElement.cpp
index 90537b81251..9994299266d 100644
--- a/mozilla/content/html/content/src/nsHTMLHRElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLHRElement.cpp
@@ -256,3 +256,13 @@ nsHTMLHRElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLHRElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLHeadElement.cpp b/mozilla/content/html/content/src/nsHTMLHeadElement.cpp
index 98882f7d63d..3da9e0212cc 100644
--- a/mozilla/content/html/content/src/nsHTMLHeadElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLHeadElement.cpp
@@ -166,3 +166,13 @@ nsHTMLHeadElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLHeadElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLHeadingElement.cpp b/mozilla/content/html/content/src/nsHTMLHeadingElement.cpp
index 5ccba30680e..2e05fc63da7 100644
--- a/mozilla/content/html/content/src/nsHTMLHeadingElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLHeadingElement.cpp
@@ -187,3 +187,13 @@ nsHTMLHeadingElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLHeadingElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLHtmlElement.cpp b/mozilla/content/html/content/src/nsHTMLHtmlElement.cpp
index 59846bec0e6..2b1d0c433cc 100644
--- a/mozilla/content/html/content/src/nsHTMLHtmlElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLHtmlElement.cpp
@@ -175,3 +175,13 @@ nsHTMLHtmlElement::HandleDOMEvent(nsIPresContext& aPresContext,
aEventStatus = nsEventStatus_eIgnore;
return NS_OK;
}
+
+NS_IMETHODIMP
+nsHTMLHtmlElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLIFrameElement.cpp b/mozilla/content/html/content/src/nsHTMLIFrameElement.cpp
index ffec1781dab..d2208dbb5a6 100644
--- a/mozilla/content/html/content/src/nsHTMLIFrameElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLIFrameElement.cpp
@@ -280,3 +280,13 @@ nsHTMLIFrameElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLIFrameElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLImageElement.cpp b/mozilla/content/html/content/src/nsHTMLImageElement.cpp
index ef558f19d3a..d2bc0f2dcbf 100644
--- a/mozilla/content/html/content/src/nsHTMLImageElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLImageElement.cpp
@@ -349,3 +349,12 @@ nsHTMLImageElement::Finalize(JSContext *aContext)
mInner.Finalize(aContext);
}
+NS_IMETHODIMP
+nsHTMLImageElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLInputElement.cpp b/mozilla/content/html/content/src/nsHTMLInputElement.cpp
index 3b739f5e8ef..504f7715eca 100644
--- a/mozilla/content/html/content/src/nsHTMLInputElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLInputElement.cpp
@@ -672,3 +672,13 @@ nsHTMLInputElement::SetWidget(nsIWidget* aWidget)
}
return NS_OK;
}
+
+NS_IMETHODIMP
+nsHTMLInputElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLInsElement.cpp b/mozilla/content/html/content/src/nsHTMLInsElement.cpp
index eebdc0a801a..8c7d9638c63 100644
--- a/mozilla/content/html/content/src/nsHTMLInsElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLInsElement.cpp
@@ -172,3 +172,13 @@ nsHTMLInsElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLInsElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLIsIndexElement.cpp b/mozilla/content/html/content/src/nsHTMLIsIndexElement.cpp
index 40d534029ce..2dad270bee7 100644
--- a/mozilla/content/html/content/src/nsHTMLIsIndexElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLIsIndexElement.cpp
@@ -178,3 +178,13 @@ nsHTMLIsIndexElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLIsIndexElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLLIElement.cpp b/mozilla/content/html/content/src/nsHTMLLIElement.cpp
index 1a0012501ce..06b16561a8b 100644
--- a/mozilla/content/html/content/src/nsHTMLLIElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLLIElement.cpp
@@ -206,3 +206,13 @@ nsHTMLLIElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLLIElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLLabelElement.cpp b/mozilla/content/html/content/src/nsHTMLLabelElement.cpp
index e81933e8e03..eb947829614 100644
--- a/mozilla/content/html/content/src/nsHTMLLabelElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLLabelElement.cpp
@@ -270,3 +270,12 @@ nsHTMLLabelElement::HandleDOMEvent(nsIPresContext& aPresContext,
aFlags, aEventStatus);
}
+NS_IMETHODIMP
+nsHTMLLabelElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLLegendElement.cpp b/mozilla/content/html/content/src/nsHTMLLegendElement.cpp
index dce5167bc91..95f7c3a48b0 100644
--- a/mozilla/content/html/content/src/nsHTMLLegendElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLLegendElement.cpp
@@ -214,3 +214,13 @@ nsHTMLLegendElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLLegendElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLLinkElement.cpp b/mozilla/content/html/content/src/nsHTMLLinkElement.cpp
index 855af6bf0c2..b5b208f7fe3 100644
--- a/mozilla/content/html/content/src/nsHTMLLinkElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLLinkElement.cpp
@@ -190,3 +190,13 @@ nsHTMLLinkElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLLinkElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLMapElement.cpp b/mozilla/content/html/content/src/nsHTMLMapElement.cpp
index 5b42f5b8466..27d9b826634 100644
--- a/mozilla/content/html/content/src/nsHTMLMapElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLMapElement.cpp
@@ -178,3 +178,13 @@ nsHTMLMapElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLMapElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLMenuElement.cpp b/mozilla/content/html/content/src/nsHTMLMenuElement.cpp
index 478d00ac2a4..061d049cefa 100644
--- a/mozilla/content/html/content/src/nsHTMLMenuElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLMenuElement.cpp
@@ -207,3 +207,13 @@ nsHTMLMenuElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLMenuElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLMetaElement.cpp b/mozilla/content/html/content/src/nsHTMLMetaElement.cpp
index 0a7205eae4c..28cf9f24035 100644
--- a/mozilla/content/html/content/src/nsHTMLMetaElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLMetaElement.cpp
@@ -175,3 +175,13 @@ nsHTMLMetaElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLMetaElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLModElement.cpp b/mozilla/content/html/content/src/nsHTMLModElement.cpp
index e882c10c996..aa629361dee 100644
--- a/mozilla/content/html/content/src/nsHTMLModElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLModElement.cpp
@@ -172,3 +172,13 @@ nsHTMLModElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLModElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLOListElement.cpp b/mozilla/content/html/content/src/nsHTMLOListElement.cpp
index 5f4a5fdb623..57184dc7c5c 100644
--- a/mozilla/content/html/content/src/nsHTMLOListElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLOListElement.cpp
@@ -234,3 +234,13 @@ nsHTMLOListElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLOListElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLObjectElement.cpp b/mozilla/content/html/content/src/nsHTMLObjectElement.cpp
index 8853255ac39..ec1816dfcc7 100644
--- a/mozilla/content/html/content/src/nsHTMLObjectElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLObjectElement.cpp
@@ -244,3 +244,13 @@ nsHTMLObjectElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLObjectElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLOptGroupElement.cpp b/mozilla/content/html/content/src/nsHTMLOptGroupElement.cpp
index c52a662455e..b5761a3ee64 100644
--- a/mozilla/content/html/content/src/nsHTMLOptGroupElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLOptGroupElement.cpp
@@ -172,3 +172,13 @@ nsHTMLOptGroupElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLOptGroupElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLOptionElement.cpp b/mozilla/content/html/content/src/nsHTMLOptionElement.cpp
index b3a1ed1402c..33351765258 100644
--- a/mozilla/content/html/content/src/nsHTMLOptionElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLOptionElement.cpp
@@ -265,3 +265,12 @@ nsHTMLOptionElement::GetText(nsString& aText)
return result;
}
+NS_IMETHODIMP
+nsHTMLOptionElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLParagraphElement.cpp b/mozilla/content/html/content/src/nsHTMLParagraphElement.cpp
index 8d6596013a2..0a2c71fed84 100644
--- a/mozilla/content/html/content/src/nsHTMLParagraphElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLParagraphElement.cpp
@@ -195,3 +195,13 @@ nsHTMLParagraphElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLParagraphElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLParamElement.cpp b/mozilla/content/html/content/src/nsHTMLParamElement.cpp
index a67815d68df..005141fffa4 100644
--- a/mozilla/content/html/content/src/nsHTMLParamElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLParamElement.cpp
@@ -178,3 +178,13 @@ nsHTMLParamElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLParamElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLPreElement.cpp b/mozilla/content/html/content/src/nsHTMLPreElement.cpp
index 81d9266d910..d612ab81a50 100644
--- a/mozilla/content/html/content/src/nsHTMLPreElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLPreElement.cpp
@@ -223,3 +223,13 @@ nsHTMLPreElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLPreElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLQuoteElement.cpp b/mozilla/content/html/content/src/nsHTMLQuoteElement.cpp
index aaf400796fc..4d337abdb7b 100644
--- a/mozilla/content/html/content/src/nsHTMLQuoteElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLQuoteElement.cpp
@@ -169,3 +169,13 @@ nsHTMLQuoteElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLQuoteElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLScriptElement.cpp b/mozilla/content/html/content/src/nsHTMLScriptElement.cpp
index 04e0202051a..6ea4bdd85ea 100644
--- a/mozilla/content/html/content/src/nsHTMLScriptElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLScriptElement.cpp
@@ -230,3 +230,13 @@ nsHTMLScriptElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLScriptElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLSelectElement.cpp b/mozilla/content/html/content/src/nsHTMLSelectElement.cpp
index b17091ab603..6f0e1a6b61b 100644
--- a/mozilla/content/html/content/src/nsHTMLSelectElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLSelectElement.cpp
@@ -644,3 +644,13 @@ nsOptionList::Clear()
}
mElements.Clear();
}
+
+NS_IMETHODIMP
+nsHTMLSelectElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLSharedObjectElement.cpp b/mozilla/content/html/content/src/nsHTMLSharedObjectElement.cpp
index 8853255ac39..ec1816dfcc7 100644
--- a/mozilla/content/html/content/src/nsHTMLSharedObjectElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLSharedObjectElement.cpp
@@ -244,3 +244,13 @@ nsHTMLObjectElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLObjectElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLSpacerElement.cpp b/mozilla/content/html/content/src/nsHTMLSpacerElement.cpp
index 095eecdfcc4..28cd8d05d81 100644
--- a/mozilla/content/html/content/src/nsHTMLSpacerElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLSpacerElement.cpp
@@ -218,3 +218,13 @@ nsHTMLSpacerElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLSpacerElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLSpanElement.cpp b/mozilla/content/html/content/src/nsHTMLSpanElement.cpp
index a1a62dce89e..b040cc82903 100644
--- a/mozilla/content/html/content/src/nsHTMLSpanElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLSpanElement.cpp
@@ -155,3 +155,13 @@ nsHTMLSpanElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLSpanElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLStyleElement.cpp b/mozilla/content/html/content/src/nsHTMLStyleElement.cpp
index d31c7908d73..51b3679ceff 100644
--- a/mozilla/content/html/content/src/nsHTMLStyleElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLStyleElement.cpp
@@ -174,3 +174,13 @@ nsHTMLStyleElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLStyleElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLTableCaptionElement.cpp b/mozilla/content/html/content/src/nsHTMLTableCaptionElement.cpp
index 3aa9720ffbe..9eabe81da2f 100644
--- a/mozilla/content/html/content/src/nsHTMLTableCaptionElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLTableCaptionElement.cpp
@@ -212,3 +212,13 @@ nsHTMLTableCaptionElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTableCaptionElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp b/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp
index 327b2689082..62677a84b53 100644
--- a/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp
@@ -409,3 +409,23 @@ nsHTMLTableCellElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTableCellElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else if (nsHTMLAtoms::abbr != aAttribute &&
+ nsHTMLAtoms::axis != aAttribute &&
+ nsHTMLAtoms::headers != aAttribute &&
+ nsHTMLAtoms::scope != aAttribute)
+ {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLTableColElement.cpp b/mozilla/content/html/content/src/nsHTMLTableColElement.cpp
index 94948fa5644..7f00ce09dbc 100644
--- a/mozilla/content/html/content/src/nsHTMLTableColElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLTableColElement.cpp
@@ -314,3 +314,19 @@ NS_METHOD nsHTMLTableColElement::GetSpanValue(PRInt32* aSpan)
}
return NS_OK;
}
+
+NS_IMETHODIMP
+nsHTMLTableColElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLTableColGroupElement.cpp b/mozilla/content/html/content/src/nsHTMLTableColGroupElement.cpp
index 4ae97c05906..10a83248059 100644
--- a/mozilla/content/html/content/src/nsHTMLTableColGroupElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLTableColGroupElement.cpp
@@ -289,3 +289,19 @@ nsHTMLTableColGroupElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTableColGroupElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLTableElement.cpp b/mozilla/content/html/content/src/nsHTMLTableElement.cpp
index 81fc3931295..0664eaff7a2 100644
--- a/mozilla/content/html/content/src/nsHTMLTableElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLTableElement.cpp
@@ -1217,4 +1217,19 @@ nsHTMLTableElement::HandleDOMEvent(nsIPresContext& aPresContext,
aFlags, aEventStatus);
}
-
+NS_IMETHODIMP
+nsHTMLTableElement::GetStyleHintForAttributeChange(
+ const nsIContent* aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else if (nsHTMLAtoms::summary != aAttribute)
+ {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLTableRowElement.cpp b/mozilla/content/html/content/src/nsHTMLTableRowElement.cpp
index aa4c3ca0e4f..9c1e3e1e139 100644
--- a/mozilla/content/html/content/src/nsHTMLTableRowElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLTableRowElement.cpp
@@ -344,3 +344,19 @@ nsHTMLTableRowElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTableRowElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLTableSectionElement.cpp b/mozilla/content/html/content/src/nsHTMLTableSectionElement.cpp
index e8ad6a53b42..d6fabecf80f 100644
--- a/mozilla/content/html/content/src/nsHTMLTableSectionElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLTableSectionElement.cpp
@@ -296,3 +296,19 @@ nsHTMLTableSectionElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTableSectionElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLTextAreaElement.cpp b/mozilla/content/html/content/src/nsHTMLTextAreaElement.cpp
index 0978798a8e1..bbd4fab5770 100644
--- a/mozilla/content/html/content/src/nsHTMLTextAreaElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLTextAreaElement.cpp
@@ -445,3 +445,12 @@ nsHTMLTextAreaElement::SetForm(nsIDOMHTMLFormElement* aForm)
return result;
}
+NS_IMETHODIMP
+nsHTMLTextAreaElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLTitleElement.cpp b/mozilla/content/html/content/src/nsHTMLTitleElement.cpp
index 2a80181251e..0b61c430761 100644
--- a/mozilla/content/html/content/src/nsHTMLTitleElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLTitleElement.cpp
@@ -168,3 +168,13 @@ nsHTMLTitleElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTitleElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLUListElement.cpp b/mozilla/content/html/content/src/nsHTMLUListElement.cpp
index 2508683d235..1dc43ac7af0 100644
--- a/mozilla/content/html/content/src/nsHTMLUListElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLUListElement.cpp
@@ -212,3 +212,13 @@ nsHTMLUListElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLUListElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/content/html/content/src/nsHTMLWBRElement.cpp b/mozilla/content/html/content/src/nsHTMLWBRElement.cpp
index 15cb407f6a0..e6eced971a7 100644
--- a/mozilla/content/html/content/src/nsHTMLWBRElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLWBRElement.cpp
@@ -165,3 +165,13 @@ nsHTMLWBRElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLWBRElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsGenericDOMDataNode.h b/mozilla/layout/html/content/src/nsGenericDOMDataNode.h
index 5e180376e85..f2f0679bc72 100644
--- a/mozilla/layout/html/content/src/nsGenericDOMDataNode.h
+++ b/mozilla/layout/html/content/src/nsGenericDOMDataNode.h
@@ -519,6 +519,13 @@ struct nsGenericDOMDataNode {
GetAttributeMappingFunction(nsMapAttributesFunc& aMapFunc) const { \
aMapFunc = nsGenericDOMDataNode::MapNoAttributes; \
return NS_OK; \
+ } \
+ NS_IMETHOD GetStyleHintForAttributeChange( \
+ const nsIContent *aNode, \
+ const nsIAtom* aAttribute, \
+ PRInt32 *aHint) const \
+ { \
+ return NS_OK; \
}
/**
diff --git a/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp b/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp
index 4d9c45f2fda..4bd0066382e 100644
--- a/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp
+++ b/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp
@@ -1704,6 +1704,56 @@ nsGenericHTMLElement::MapBackgroundAttributesInto(nsIHTMLAttributes* aAttributes
}
}
+static PRBool AttributeChangeRequiresRepaint(const nsIAtom* aAttribute)
+{
+ // these are attributes that always require a restyle and a repaint, but not a reflow
+ // regardless of the tag they are associated with
+ return (PRBool)
+ (aAttribute==nsHTMLAtoms::bgcolor ||
+ aAttribute==nsHTMLAtoms::color);
+}
+
+static PRBool AttributeChangeRequiresReflow(const nsIAtom* aAttribute)
+{
+ // these are attributes that always require a restyle and reflow
+ // regardless of the tag they are associated with
+ return (PRBool)
+ (aAttribute==nsHTMLAtoms::align ||
+ aAttribute==nsHTMLAtoms::border ||
+ aAttribute==nsHTMLAtoms::cellpadding ||
+ aAttribute==nsHTMLAtoms::cellspacing ||
+ aAttribute==nsHTMLAtoms::ch ||
+ aAttribute==nsHTMLAtoms::choff ||
+ aAttribute==nsHTMLAtoms::colspan ||
+ aAttribute==nsHTMLAtoms::face ||
+ aAttribute==nsHTMLAtoms::frame ||
+ aAttribute==nsHTMLAtoms::height ||
+ aAttribute==nsHTMLAtoms::nowrap ||
+ aAttribute==nsHTMLAtoms::rowspan ||
+ aAttribute==nsHTMLAtoms::rules ||
+ aAttribute==nsHTMLAtoms::span ||
+ aAttribute==nsHTMLAtoms::valign ||
+ aAttribute==nsHTMLAtoms::width);
+}
+
+PRBool
+nsGenericHTMLElement::SetStyleHintForCommonAttributes(const nsIContent* aNode,
+ const nsIAtom* aAttribute,
+ PRInt32* aHint)
+{
+ PRBool setHint = PR_TRUE;
+ if (PR_TRUE == AttributeChangeRequiresReflow(aAttribute)) {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ else if (PR_TRUE == AttributeChangeRequiresRepaint(aAttribute)) {
+ *aHint = NS_STYLE_HINT_VISUAL;
+ }
+ else {
+ setHint = PR_FALSE;
+ }
+ return setHint;
+}
+
//----------------------------------------------------------------------
nsGenericHTMLLeafElement::nsGenericHTMLLeafElement()
diff --git a/mozilla/layout/html/content/src/nsGenericHTMLElement.h b/mozilla/layout/html/content/src/nsGenericHTMLElement.h
index 9efa122c320..bc11e409741 100644
--- a/mozilla/layout/html/content/src/nsGenericHTMLElement.h
+++ b/mozilla/layout/html/content/src/nsGenericHTMLElement.h
@@ -211,6 +211,10 @@ public:
const nsHTMLValue& aValue,
nsString& aResult);
+ static PRBool SetStyleHintForCommonAttributes(const nsIContent* aNode,
+ const nsIAtom* aAttribute,
+ PRInt32* aHint);
+
nsIHTMLAttributes* mAttributes;
};
@@ -439,8 +443,12 @@ public:
NS_IMETHOD AttributeToString(nsIAtom* aAttribute, \
nsHTMLValue& aValue, \
nsString& aResult) const; \
- NS_IMETHOD GetAttributeMappingFunction(nsMapAttributesFunc& aMapFunc) const;
-
+ NS_IMETHOD GetAttributeMappingFunction(nsMapAttributesFunc& aMapFunc) const; \
+ NS_IMETHOD GetStyleHintForAttributeChange( \
+ const nsIContent *aNode, \
+ const nsIAtom* aAttribute, \
+ PRInt32 *aHint) const;
+
#define NS_IMPL_IHTMLCONTENT_USING_GENERIC2(_g) \
NS_IMETHOD Compact() { \
return _g.Compact(); \
@@ -487,7 +495,11 @@ public:
NS_IMETHOD AttributeToString(nsIAtom* aAttribute, \
nsHTMLValue& aValue, \
nsString& aResult) const; \
- NS_IMETHOD GetAttributeMappingFunction(nsMapAttributesFunc& aMapFunc) const;
+ NS_IMETHOD GetAttributeMappingFunction(nsMapAttributesFunc& aMapFunc) const; \
+ NS_IMETHOD GetStyleHintForAttributeChange( \
+ const nsIContent *aNode, \
+ const nsIAtom* aAttribute, \
+ PRInt32 *aHint) const;
/**
* This macro implements the portion of query interface that is
diff --git a/mozilla/layout/html/content/src/nsHTMLAnchorElement.cpp b/mozilla/layout/html/content/src/nsHTMLAnchorElement.cpp
index 1792a166577..792f687e6ff 100644
--- a/mozilla/layout/html/content/src/nsHTMLAnchorElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLAnchorElement.cpp
@@ -317,3 +317,13 @@ nsHTMLAnchorElement::HandleDOMEvent(nsIPresContext& aPresContext,
}
return ret;
}
+
+NS_IMETHODIMP
+nsHTMLAnchorElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLAppletElement.cpp b/mozilla/layout/html/content/src/nsHTMLAppletElement.cpp
index 8f0027e92ce..c26629113ee 100644
--- a/mozilla/layout/html/content/src/nsHTMLAppletElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLAppletElement.cpp
@@ -219,3 +219,13 @@ nsHTMLAppletElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLAppletElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLAreaElement.cpp b/mozilla/layout/html/content/src/nsHTMLAreaElement.cpp
index 2fd08612699..20af92083dd 100644
--- a/mozilla/layout/html/content/src/nsHTMLAreaElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLAreaElement.cpp
@@ -187,3 +187,13 @@ nsHTMLAreaElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLAreaElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLBRElement.cpp b/mozilla/layout/html/content/src/nsHTMLBRElement.cpp
index 4fbaccfd0a3..646f61e6840 100644
--- a/mozilla/layout/html/content/src/nsHTMLBRElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLBRElement.cpp
@@ -195,3 +195,13 @@ nsHTMLBRElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLBRElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLBaseElement.cpp b/mozilla/layout/html/content/src/nsHTMLBaseElement.cpp
index 3ab74115ef9..33efdc7495d 100644
--- a/mozilla/layout/html/content/src/nsHTMLBaseElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLBaseElement.cpp
@@ -169,3 +169,13 @@ nsHTMLBaseElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLBaseElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLBaseFontElement.cpp b/mozilla/layout/html/content/src/nsHTMLBaseFontElement.cpp
index 99104a30726..eee0d2ffcf8 100644
--- a/mozilla/layout/html/content/src/nsHTMLBaseFontElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLBaseFontElement.cpp
@@ -176,3 +176,13 @@ nsHTMLBaseFontElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLBaseFontElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp b/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp
index 8ee79407724..283e185c5fe 100644
--- a/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp
@@ -727,4 +727,12 @@ nsHTMLBodyElement::GetInlineStyleRule(nsIStyleRule*& aResult)
return NS_OK;
}
-
+NS_IMETHODIMP
+nsHTMLBodyElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLButtonElement.cpp b/mozilla/layout/html/content/src/nsHTMLButtonElement.cpp
index cf44d6bcade..0368427d072 100644
--- a/mozilla/layout/html/content/src/nsHTMLButtonElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLButtonElement.cpp
@@ -416,3 +416,13 @@ nsHTMLButtonElement::SetForm(nsIDOMHTMLFormElement* aForm)
}
return result;
}
+
+NS_IMETHODIMP
+nsHTMLButtonElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLDListElement.cpp b/mozilla/layout/html/content/src/nsHTMLDListElement.cpp
index 4c79197fd13..5c16cd1359f 100644
--- a/mozilla/layout/html/content/src/nsHTMLDListElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLDListElement.cpp
@@ -182,3 +182,13 @@ nsHTMLDListElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLDListElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLDelElement.cpp b/mozilla/layout/html/content/src/nsHTMLDelElement.cpp
index 14ea29bd667..51ee57e2db6 100644
--- a/mozilla/layout/html/content/src/nsHTMLDelElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLDelElement.cpp
@@ -172,3 +172,13 @@ nsHTMLDelElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLDelElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLDirectoryElement.cpp b/mozilla/layout/html/content/src/nsHTMLDirectoryElement.cpp
index 89666f7f70d..87c4a044d0a 100644
--- a/mozilla/layout/html/content/src/nsHTMLDirectoryElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLDirectoryElement.cpp
@@ -208,3 +208,13 @@ nsHTMLDirectoryElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLDirectoryElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLDivElement.cpp b/mozilla/layout/html/content/src/nsHTMLDivElement.cpp
index a6c83cfc6c2..6cd258fdc65 100644
--- a/mozilla/layout/html/content/src/nsHTMLDivElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLDivElement.cpp
@@ -202,3 +202,13 @@ nsHTMLDivElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLDivElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLEmbedElement.cpp b/mozilla/layout/html/content/src/nsHTMLEmbedElement.cpp
index 3ad2f3319e9..3d62cb64567 100644
--- a/mozilla/layout/html/content/src/nsHTMLEmbedElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLEmbedElement.cpp
@@ -188,3 +188,13 @@ nsHTMLEmbedElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLEmbedElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLFieldSetElement.cpp b/mozilla/layout/html/content/src/nsHTMLFieldSetElement.cpp
index 047abe1a3eb..feb8be720e2 100644
--- a/mozilla/layout/html/content/src/nsHTMLFieldSetElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLFieldSetElement.cpp
@@ -266,3 +266,13 @@ nsHTMLFieldSetElement::SetWidget(nsIWidget* aWidget)
NS_ASSERTION(0, "Fieldset has no widget");
return NS_FORM_NOTOK;
}
+
+NS_IMETHODIMP
+nsHTMLFieldSetElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLFontElement.cpp b/mozilla/layout/html/content/src/nsHTMLFontElement.cpp
index f2b491ec48d..5fd0c92a8d3 100644
--- a/mozilla/layout/html/content/src/nsHTMLFontElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLFontElement.cpp
@@ -331,3 +331,13 @@ nsHTMLFontElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLFontElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLFormElement.cpp b/mozilla/layout/html/content/src/nsHTMLFormElement.cpp
index acc53baf035..449ca0c3675 100644
--- a/mozilla/layout/html/content/src/nsHTMLFormElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLFormElement.cpp
@@ -595,3 +595,12 @@ nsFormControlList::NamedItem(const nsString& aName, nsIDOMNode** aReturn)
return result;
}
+NS_IMETHODIMP
+nsHTMLFormElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLFrameElement.cpp b/mozilla/layout/html/content/src/nsHTMLFrameElement.cpp
index 115891431a1..f6b72e0f688 100644
--- a/mozilla/layout/html/content/src/nsHTMLFrameElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLFrameElement.cpp
@@ -222,3 +222,12 @@ nsHTMLFrameElement::HandleDOMEvent(nsIPresContext& aPresContext,
aFlags, aEventStatus);
}
+NS_IMETHODIMP
+nsHTMLFrameElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLFrameSetElement.cpp b/mozilla/layout/html/content/src/nsHTMLFrameSetElement.cpp
index 8eef2f4052e..06a1a0e5a42 100644
--- a/mozilla/layout/html/content/src/nsHTMLFrameSetElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLFrameSetElement.cpp
@@ -186,3 +186,13 @@ nsHTMLFrameSetElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLFrameSetElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLHRElement.cpp b/mozilla/layout/html/content/src/nsHTMLHRElement.cpp
index 90537b81251..9994299266d 100644
--- a/mozilla/layout/html/content/src/nsHTMLHRElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLHRElement.cpp
@@ -256,3 +256,13 @@ nsHTMLHRElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLHRElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLHeadElement.cpp b/mozilla/layout/html/content/src/nsHTMLHeadElement.cpp
index 98882f7d63d..3da9e0212cc 100644
--- a/mozilla/layout/html/content/src/nsHTMLHeadElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLHeadElement.cpp
@@ -166,3 +166,13 @@ nsHTMLHeadElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLHeadElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLHeadingElement.cpp b/mozilla/layout/html/content/src/nsHTMLHeadingElement.cpp
index 5ccba30680e..2e05fc63da7 100644
--- a/mozilla/layout/html/content/src/nsHTMLHeadingElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLHeadingElement.cpp
@@ -187,3 +187,13 @@ nsHTMLHeadingElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLHeadingElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLHtmlElement.cpp b/mozilla/layout/html/content/src/nsHTMLHtmlElement.cpp
index 59846bec0e6..2b1d0c433cc 100644
--- a/mozilla/layout/html/content/src/nsHTMLHtmlElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLHtmlElement.cpp
@@ -175,3 +175,13 @@ nsHTMLHtmlElement::HandleDOMEvent(nsIPresContext& aPresContext,
aEventStatus = nsEventStatus_eIgnore;
return NS_OK;
}
+
+NS_IMETHODIMP
+nsHTMLHtmlElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLIFrameElement.cpp b/mozilla/layout/html/content/src/nsHTMLIFrameElement.cpp
index ffec1781dab..d2208dbb5a6 100644
--- a/mozilla/layout/html/content/src/nsHTMLIFrameElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLIFrameElement.cpp
@@ -280,3 +280,13 @@ nsHTMLIFrameElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLIFrameElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLImageElement.cpp b/mozilla/layout/html/content/src/nsHTMLImageElement.cpp
index ef558f19d3a..d2bc0f2dcbf 100644
--- a/mozilla/layout/html/content/src/nsHTMLImageElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLImageElement.cpp
@@ -349,3 +349,12 @@ nsHTMLImageElement::Finalize(JSContext *aContext)
mInner.Finalize(aContext);
}
+NS_IMETHODIMP
+nsHTMLImageElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLInputElement.cpp b/mozilla/layout/html/content/src/nsHTMLInputElement.cpp
index 3b739f5e8ef..504f7715eca 100644
--- a/mozilla/layout/html/content/src/nsHTMLInputElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLInputElement.cpp
@@ -672,3 +672,13 @@ nsHTMLInputElement::SetWidget(nsIWidget* aWidget)
}
return NS_OK;
}
+
+NS_IMETHODIMP
+nsHTMLInputElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLInsElement.cpp b/mozilla/layout/html/content/src/nsHTMLInsElement.cpp
index eebdc0a801a..8c7d9638c63 100644
--- a/mozilla/layout/html/content/src/nsHTMLInsElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLInsElement.cpp
@@ -172,3 +172,13 @@ nsHTMLInsElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLInsElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLIsIndexElement.cpp b/mozilla/layout/html/content/src/nsHTMLIsIndexElement.cpp
index 40d534029ce..2dad270bee7 100644
--- a/mozilla/layout/html/content/src/nsHTMLIsIndexElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLIsIndexElement.cpp
@@ -178,3 +178,13 @@ nsHTMLIsIndexElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLIsIndexElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLLIElement.cpp b/mozilla/layout/html/content/src/nsHTMLLIElement.cpp
index 1a0012501ce..06b16561a8b 100644
--- a/mozilla/layout/html/content/src/nsHTMLLIElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLLIElement.cpp
@@ -206,3 +206,13 @@ nsHTMLLIElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLLIElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLLabelElement.cpp b/mozilla/layout/html/content/src/nsHTMLLabelElement.cpp
index e81933e8e03..eb947829614 100644
--- a/mozilla/layout/html/content/src/nsHTMLLabelElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLLabelElement.cpp
@@ -270,3 +270,12 @@ nsHTMLLabelElement::HandleDOMEvent(nsIPresContext& aPresContext,
aFlags, aEventStatus);
}
+NS_IMETHODIMP
+nsHTMLLabelElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLLayerElement.cpp b/mozilla/layout/html/content/src/nsHTMLLayerElement.cpp
index 48eec44fa94..48e4a555fe8 100644
--- a/mozilla/layout/html/content/src/nsHTMLLayerElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLLayerElement.cpp
@@ -285,3 +285,13 @@ nsHTMLLayerElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLLayerElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLLegendElement.cpp b/mozilla/layout/html/content/src/nsHTMLLegendElement.cpp
index dce5167bc91..95f7c3a48b0 100644
--- a/mozilla/layout/html/content/src/nsHTMLLegendElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLLegendElement.cpp
@@ -214,3 +214,13 @@ nsHTMLLegendElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLLegendElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLLinkElement.cpp b/mozilla/layout/html/content/src/nsHTMLLinkElement.cpp
index 855af6bf0c2..b5b208f7fe3 100644
--- a/mozilla/layout/html/content/src/nsHTMLLinkElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLLinkElement.cpp
@@ -190,3 +190,13 @@ nsHTMLLinkElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLLinkElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLMapElement.cpp b/mozilla/layout/html/content/src/nsHTMLMapElement.cpp
index 5b42f5b8466..27d9b826634 100644
--- a/mozilla/layout/html/content/src/nsHTMLMapElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLMapElement.cpp
@@ -178,3 +178,13 @@ nsHTMLMapElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLMapElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLMenuElement.cpp b/mozilla/layout/html/content/src/nsHTMLMenuElement.cpp
index 478d00ac2a4..061d049cefa 100644
--- a/mozilla/layout/html/content/src/nsHTMLMenuElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLMenuElement.cpp
@@ -207,3 +207,13 @@ nsHTMLMenuElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLMenuElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLMetaElement.cpp b/mozilla/layout/html/content/src/nsHTMLMetaElement.cpp
index 0a7205eae4c..28cf9f24035 100644
--- a/mozilla/layout/html/content/src/nsHTMLMetaElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLMetaElement.cpp
@@ -175,3 +175,13 @@ nsHTMLMetaElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLMetaElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLModElement.cpp b/mozilla/layout/html/content/src/nsHTMLModElement.cpp
index e882c10c996..aa629361dee 100644
--- a/mozilla/layout/html/content/src/nsHTMLModElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLModElement.cpp
@@ -172,3 +172,13 @@ nsHTMLModElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLModElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLOListElement.cpp b/mozilla/layout/html/content/src/nsHTMLOListElement.cpp
index 5f4a5fdb623..57184dc7c5c 100644
--- a/mozilla/layout/html/content/src/nsHTMLOListElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLOListElement.cpp
@@ -234,3 +234,13 @@ nsHTMLOListElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLOListElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLObjectElement.cpp b/mozilla/layout/html/content/src/nsHTMLObjectElement.cpp
index 8853255ac39..ec1816dfcc7 100644
--- a/mozilla/layout/html/content/src/nsHTMLObjectElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLObjectElement.cpp
@@ -244,3 +244,13 @@ nsHTMLObjectElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLObjectElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLOptGroupElement.cpp b/mozilla/layout/html/content/src/nsHTMLOptGroupElement.cpp
index c52a662455e..b5761a3ee64 100644
--- a/mozilla/layout/html/content/src/nsHTMLOptGroupElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLOptGroupElement.cpp
@@ -172,3 +172,13 @@ nsHTMLOptGroupElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLOptGroupElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLOptionElement.cpp b/mozilla/layout/html/content/src/nsHTMLOptionElement.cpp
index b3a1ed1402c..33351765258 100644
--- a/mozilla/layout/html/content/src/nsHTMLOptionElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLOptionElement.cpp
@@ -265,3 +265,12 @@ nsHTMLOptionElement::GetText(nsString& aText)
return result;
}
+NS_IMETHODIMP
+nsHTMLOptionElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLParagraphElement.cpp b/mozilla/layout/html/content/src/nsHTMLParagraphElement.cpp
index 8d6596013a2..0a2c71fed84 100644
--- a/mozilla/layout/html/content/src/nsHTMLParagraphElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLParagraphElement.cpp
@@ -195,3 +195,13 @@ nsHTMLParagraphElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLParagraphElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLParamElement.cpp b/mozilla/layout/html/content/src/nsHTMLParamElement.cpp
index a67815d68df..005141fffa4 100644
--- a/mozilla/layout/html/content/src/nsHTMLParamElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLParamElement.cpp
@@ -178,3 +178,13 @@ nsHTMLParamElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLParamElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLPreElement.cpp b/mozilla/layout/html/content/src/nsHTMLPreElement.cpp
index 81d9266d910..d612ab81a50 100644
--- a/mozilla/layout/html/content/src/nsHTMLPreElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLPreElement.cpp
@@ -223,3 +223,13 @@ nsHTMLPreElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLPreElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLQuoteElement.cpp b/mozilla/layout/html/content/src/nsHTMLQuoteElement.cpp
index aaf400796fc..4d337abdb7b 100644
--- a/mozilla/layout/html/content/src/nsHTMLQuoteElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLQuoteElement.cpp
@@ -169,3 +169,13 @@ nsHTMLQuoteElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLQuoteElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLScriptElement.cpp b/mozilla/layout/html/content/src/nsHTMLScriptElement.cpp
index 04e0202051a..6ea4bdd85ea 100644
--- a/mozilla/layout/html/content/src/nsHTMLScriptElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLScriptElement.cpp
@@ -230,3 +230,13 @@ nsHTMLScriptElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLScriptElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLSelectElement.cpp b/mozilla/layout/html/content/src/nsHTMLSelectElement.cpp
index b17091ab603..6f0e1a6b61b 100644
--- a/mozilla/layout/html/content/src/nsHTMLSelectElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLSelectElement.cpp
@@ -644,3 +644,13 @@ nsOptionList::Clear()
}
mElements.Clear();
}
+
+NS_IMETHODIMP
+nsHTMLSelectElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLSpacerElement.cpp b/mozilla/layout/html/content/src/nsHTMLSpacerElement.cpp
index 095eecdfcc4..28cd8d05d81 100644
--- a/mozilla/layout/html/content/src/nsHTMLSpacerElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLSpacerElement.cpp
@@ -218,3 +218,13 @@ nsHTMLSpacerElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLSpacerElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLSpanElement.cpp b/mozilla/layout/html/content/src/nsHTMLSpanElement.cpp
index a1a62dce89e..b040cc82903 100644
--- a/mozilla/layout/html/content/src/nsHTMLSpanElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLSpanElement.cpp
@@ -155,3 +155,13 @@ nsHTMLSpanElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLSpanElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLStyleElement.cpp b/mozilla/layout/html/content/src/nsHTMLStyleElement.cpp
index d31c7908d73..51b3679ceff 100644
--- a/mozilla/layout/html/content/src/nsHTMLStyleElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLStyleElement.cpp
@@ -174,3 +174,13 @@ nsHTMLStyleElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLStyleElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLTableCaptionElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableCaptionElement.cpp
index 3aa9720ffbe..9eabe81da2f 100644
--- a/mozilla/layout/html/content/src/nsHTMLTableCaptionElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLTableCaptionElement.cpp
@@ -212,3 +212,13 @@ nsHTMLTableCaptionElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTableCaptionElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp
index 327b2689082..62677a84b53 100644
--- a/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp
@@ -409,3 +409,23 @@ nsHTMLTableCellElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTableCellElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else if (nsHTMLAtoms::abbr != aAttribute &&
+ nsHTMLAtoms::axis != aAttribute &&
+ nsHTMLAtoms::headers != aAttribute &&
+ nsHTMLAtoms::scope != aAttribute)
+ {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLTableColElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableColElement.cpp
index 94948fa5644..7f00ce09dbc 100644
--- a/mozilla/layout/html/content/src/nsHTMLTableColElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLTableColElement.cpp
@@ -314,3 +314,19 @@ NS_METHOD nsHTMLTableColElement::GetSpanValue(PRInt32* aSpan)
}
return NS_OK;
}
+
+NS_IMETHODIMP
+nsHTMLTableColElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLTableColGroupElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableColGroupElement.cpp
index 4ae97c05906..10a83248059 100644
--- a/mozilla/layout/html/content/src/nsHTMLTableColGroupElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLTableColGroupElement.cpp
@@ -289,3 +289,19 @@ nsHTMLTableColGroupElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTableColGroupElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLTableElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableElement.cpp
index 81fc3931295..0664eaff7a2 100644
--- a/mozilla/layout/html/content/src/nsHTMLTableElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLTableElement.cpp
@@ -1217,4 +1217,19 @@ nsHTMLTableElement::HandleDOMEvent(nsIPresContext& aPresContext,
aFlags, aEventStatus);
}
-
+NS_IMETHODIMP
+nsHTMLTableElement::GetStyleHintForAttributeChange(
+ const nsIContent* aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else if (nsHTMLAtoms::summary != aAttribute)
+ {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLTableRowElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableRowElement.cpp
index aa4c3ca0e4f..9c1e3e1e139 100644
--- a/mozilla/layout/html/content/src/nsHTMLTableRowElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLTableRowElement.cpp
@@ -344,3 +344,19 @@ nsHTMLTableRowElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTableRowElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLTableSectionElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableSectionElement.cpp
index e8ad6a53b42..d6fabecf80f 100644
--- a/mozilla/layout/html/content/src/nsHTMLTableSectionElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLTableSectionElement.cpp
@@ -296,3 +296,19 @@ nsHTMLTableSectionElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTableSectionElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ if (PR_TRUE == nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode,
+ aAttribute, aHint)) {
+ // Do nothing
+ }
+ else {
+ *aHint = NS_STYLE_HINT_REFLOW;
+ }
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLTextAreaElement.cpp b/mozilla/layout/html/content/src/nsHTMLTextAreaElement.cpp
index 0978798a8e1..bbd4fab5770 100644
--- a/mozilla/layout/html/content/src/nsHTMLTextAreaElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLTextAreaElement.cpp
@@ -445,3 +445,12 @@ nsHTMLTextAreaElement::SetForm(nsIDOMHTMLFormElement* aForm)
return result;
}
+NS_IMETHODIMP
+nsHTMLTextAreaElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLTitleElement.cpp b/mozilla/layout/html/content/src/nsHTMLTitleElement.cpp
index 2a80181251e..0b61c430761 100644
--- a/mozilla/layout/html/content/src/nsHTMLTitleElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLTitleElement.cpp
@@ -168,3 +168,13 @@ nsHTMLTitleElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLTitleElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLUListElement.cpp b/mozilla/layout/html/content/src/nsHTMLUListElement.cpp
index 2508683d235..1dc43ac7af0 100644
--- a/mozilla/layout/html/content/src/nsHTMLUListElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLUListElement.cpp
@@ -212,3 +212,13 @@ nsHTMLUListElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLUListElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file
diff --git a/mozilla/layout/html/content/src/nsHTMLWBRElement.cpp b/mozilla/layout/html/content/src/nsHTMLWBRElement.cpp
index 15cb407f6a0..e6eced971a7 100644
--- a/mozilla/layout/html/content/src/nsHTMLWBRElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLWBRElement.cpp
@@ -165,3 +165,13 @@ nsHTMLWBRElement::HandleDOMEvent(nsIPresContext& aPresContext,
return mInner.HandleDOMEvent(aPresContext, aEvent, aDOMEvent,
aFlags, aEventStatus);
}
+
+NS_IMETHODIMP
+nsHTMLWBRElement::GetStyleHintForAttributeChange(
+ const nsIContent * aNode,
+ const nsIAtom* aAttribute,
+ PRInt32 *aHint) const
+{
+ nsGenericHTMLElement::SetStyleHintForCommonAttributes(aNode, aAttribute, aHint);
+ return NS_OK;
+}
\ No newline at end of file