diff --git a/mozilla/content/html/style/src/nsIInspectorCSSUtils.h b/mozilla/content/html/style/src/nsIInspectorCSSUtils.h index ced92b64dc9..878d5181b0d 100644 --- a/mozilla/content/html/style/src/nsIInspectorCSSUtils.h +++ b/mozilla/content/html/style/src/nsIInspectorCSSUtils.h @@ -81,6 +81,11 @@ public: // Hooks to methods that need layout atoms (static vars in layout) NS_IMETHOD GetStyleContextForFrame(nsIFrame* aFrame, nsIStyleContext** aStyleContext) = 0; + + // Hooks to ::GetStyleData(nsCOMPtr, const nsStyleText**) + // and calls nsStyleText->WhiteSpaceIsSignificant(); + NS_IMETHOD IsWhiteSpaceSignificant(nsIStyleContext* aStyleContext, + PRBool *aIsSignificant) = 0; }; #endif /* nsIInspectorCSSUtils_h___ */ diff --git a/mozilla/content/html/style/src/nsInspectorCSSUtils.cpp b/mozilla/content/html/style/src/nsInspectorCSSUtils.cpp index 9a142a40ebb..5bd2c7002f7 100644 --- a/mozilla/content/html/style/src/nsInspectorCSSUtils.cpp +++ b/mozilla/content/html/style/src/nsInspectorCSSUtils.cpp @@ -142,3 +142,18 @@ nsInspectorCSSUtils::GetStyleContextForFrame(nsIFrame* aFrame, } return NS_OK; } + +NS_IMETHODIMP +nsInspectorCSSUtils::IsWhiteSpaceSignificant(nsIStyleContext* aStyleContext, + PRBool *aIsSignificant) +{ + NS_PRECONDITION(aStyleContext, "We'd better have a style context!"); + NS_PRECONDITION(aStyleContext, "We'd better have an out pointer!"); + + const nsStyleText* text = nsnull; + ::GetStyleData(aStyleContext, &text); + NS_ASSERTION(text, "Could not get a style struct!"); + + *aIsSignificant = text->WhiteSpaceIsSignificant(); + return NS_OK; +} diff --git a/mozilla/content/html/style/src/nsInspectorCSSUtils.h b/mozilla/content/html/style/src/nsInspectorCSSUtils.h index cb1762cf618..cd62b5e09db 100644 --- a/mozilla/content/html/style/src/nsInspectorCSSUtils.h +++ b/mozilla/content/html/style/src/nsInspectorCSSUtils.h @@ -59,6 +59,8 @@ public: NS_IMETHOD AdjustRectForMargins(nsIFrame* aFrame, nsRect& aRect); NS_IMETHOD GetStyleContextForFrame(nsIFrame* aFrame, nsIStyleContext** aStyleContext); + NS_IMETHOD IsWhiteSpaceSignificant(nsIStyleContext* aStyleContext, + PRBool *aIsSignificant); }; #endif /* nsInspectorCSSUtils_h___ */ diff --git a/mozilla/extensions/inspector/base/src/inDOMUtils.cpp b/mozilla/extensions/inspector/base/src/inDOMUtils.cpp index d13d55520e0..a0f74f117bd 100644 --- a/mozilla/extensions/inspector/base/src/inDOMUtils.cpp +++ b/mozilla/extensions/inspector/base/src/inDOMUtils.cpp @@ -154,11 +154,10 @@ inDOMUtils::IsIgnorableWhitespace(nsIDOMCharacterData *aDataNode, getter_AddRefs(styleContext)); if (styleContext) { - const nsStyleText* text = nsnull; - ::GetStyleData(styleContext, &text); - NS_ASSERTION(text, "Could not get a style struct!"); + PRBool significant = PR_FALSE; + mCSSUtils->IsWhiteSpaceSignificant(styleContext, &significant); - *aReturn = !text->WhiteSpaceIsSignificant(); + *aReturn = !significant; } else { // No style context. Let's just assume the default value of diff --git a/mozilla/layout/style/nsIInspectorCSSUtils.h b/mozilla/layout/style/nsIInspectorCSSUtils.h index ced92b64dc9..878d5181b0d 100644 --- a/mozilla/layout/style/nsIInspectorCSSUtils.h +++ b/mozilla/layout/style/nsIInspectorCSSUtils.h @@ -81,6 +81,11 @@ public: // Hooks to methods that need layout atoms (static vars in layout) NS_IMETHOD GetStyleContextForFrame(nsIFrame* aFrame, nsIStyleContext** aStyleContext) = 0; + + // Hooks to ::GetStyleData(nsCOMPtr, const nsStyleText**) + // and calls nsStyleText->WhiteSpaceIsSignificant(); + NS_IMETHOD IsWhiteSpaceSignificant(nsIStyleContext* aStyleContext, + PRBool *aIsSignificant) = 0; }; #endif /* nsIInspectorCSSUtils_h___ */ diff --git a/mozilla/layout/style/nsInspectorCSSUtils.cpp b/mozilla/layout/style/nsInspectorCSSUtils.cpp index 9a142a40ebb..5bd2c7002f7 100644 --- a/mozilla/layout/style/nsInspectorCSSUtils.cpp +++ b/mozilla/layout/style/nsInspectorCSSUtils.cpp @@ -142,3 +142,18 @@ nsInspectorCSSUtils::GetStyleContextForFrame(nsIFrame* aFrame, } return NS_OK; } + +NS_IMETHODIMP +nsInspectorCSSUtils::IsWhiteSpaceSignificant(nsIStyleContext* aStyleContext, + PRBool *aIsSignificant) +{ + NS_PRECONDITION(aStyleContext, "We'd better have a style context!"); + NS_PRECONDITION(aStyleContext, "We'd better have an out pointer!"); + + const nsStyleText* text = nsnull; + ::GetStyleData(aStyleContext, &text); + NS_ASSERTION(text, "Could not get a style struct!"); + + *aIsSignificant = text->WhiteSpaceIsSignificant(); + return NS_OK; +} diff --git a/mozilla/layout/style/nsInspectorCSSUtils.h b/mozilla/layout/style/nsInspectorCSSUtils.h index cb1762cf618..cd62b5e09db 100644 --- a/mozilla/layout/style/nsInspectorCSSUtils.h +++ b/mozilla/layout/style/nsInspectorCSSUtils.h @@ -59,6 +59,8 @@ public: NS_IMETHOD AdjustRectForMargins(nsIFrame* aFrame, nsRect& aRect); NS_IMETHOD GetStyleContextForFrame(nsIFrame* aFrame, nsIStyleContext** aStyleContext); + NS_IMETHOD IsWhiteSpaceSignificant(nsIStyleContext* aStyleContext, + PRBool *aIsSignificant); }; #endif /* nsInspectorCSSUtils_h___ */