From f66be91ae76e1d96eb1eb4cbc9458c3657c34cfd Mon Sep 17 00:00:00 2001 From: "attinasi%netscape.com" Date: Fri, 11 Feb 2000 01:24:05 +0000 Subject: [PATCH] added default argument to FindNonTransparentBackground to tell it to start at the context's parent (for QuirkMode emulation). r=karnaze b=8524 git-svn-id: svn://10.0.0.236/trunk@60396 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/content/html/style/src/nsStyleUtil.cpp | 8 +++++--- mozilla/content/shared/src/nsStyleUtil.cpp | 8 +++++--- mozilla/layout/html/style/public/nsStyleUtil.h | 3 ++- mozilla/layout/html/style/src/nsStyleUtil.cpp | 8 +++++--- mozilla/layout/style/nsStyleUtil.cpp | 8 +++++--- 5 files changed, 22 insertions(+), 13 deletions(-) diff --git a/mozilla/content/html/style/src/nsStyleUtil.cpp b/mozilla/content/html/style/src/nsStyleUtil.cpp index eb65f97c6e8..3d4b041e68a 100644 --- a/mozilla/content/html/style/src/nsStyleUtil.cpp +++ b/mozilla/content/html/style/src/nsStyleUtil.cpp @@ -185,11 +185,13 @@ nsStyleUtil::ConstrainFontWeight(PRInt32 aWeight) } -const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* aContext) +const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* aContext, + PRBool aStartAtParent /*= PR_FALSE*/) { const nsStyleColor* result = nsnull; - nsIStyleContext* context = aContext; - + nsIStyleContext* context = aStartAtParent ? aContext->GetParent() : aContext; + NS_ASSERTION( context != nsnull, "Cannot find NonTransparentBackground in a null context" ); + NS_IF_ADDREF(context); // balance ending release while (nsnull != context) { result = (const nsStyleColor*)context->GetStyleData(eStyleStruct_Color); diff --git a/mozilla/content/shared/src/nsStyleUtil.cpp b/mozilla/content/shared/src/nsStyleUtil.cpp index eb65f97c6e8..3d4b041e68a 100644 --- a/mozilla/content/shared/src/nsStyleUtil.cpp +++ b/mozilla/content/shared/src/nsStyleUtil.cpp @@ -185,11 +185,13 @@ nsStyleUtil::ConstrainFontWeight(PRInt32 aWeight) } -const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* aContext) +const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* aContext, + PRBool aStartAtParent /*= PR_FALSE*/) { const nsStyleColor* result = nsnull; - nsIStyleContext* context = aContext; - + nsIStyleContext* context = aStartAtParent ? aContext->GetParent() : aContext; + NS_ASSERTION( context != nsnull, "Cannot find NonTransparentBackground in a null context" ); + NS_IF_ADDREF(context); // balance ending release while (nsnull != context) { result = (const nsStyleColor*)context->GetStyleData(eStyleStruct_Color); diff --git a/mozilla/layout/html/style/public/nsStyleUtil.h b/mozilla/layout/html/style/public/nsStyleUtil.h index d7370e4c297..f20dd701627 100644 --- a/mozilla/layout/html/style/public/nsStyleUtil.h +++ b/mozilla/layout/html/style/public/nsStyleUtil.h @@ -43,7 +43,8 @@ public: static PRInt32 ConstrainFontWeight(PRInt32 aWeight); - static const nsStyleColor* FindNonTransparentBackground(nsIStyleContext* aContext); + static const nsStyleColor* FindNonTransparentBackground(nsIStyleContext* aContext, + PRBool aStartAtParent = PR_FALSE); }; diff --git a/mozilla/layout/html/style/src/nsStyleUtil.cpp b/mozilla/layout/html/style/src/nsStyleUtil.cpp index eb65f97c6e8..3d4b041e68a 100644 --- a/mozilla/layout/html/style/src/nsStyleUtil.cpp +++ b/mozilla/layout/html/style/src/nsStyleUtil.cpp @@ -185,11 +185,13 @@ nsStyleUtil::ConstrainFontWeight(PRInt32 aWeight) } -const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* aContext) +const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* aContext, + PRBool aStartAtParent /*= PR_FALSE*/) { const nsStyleColor* result = nsnull; - nsIStyleContext* context = aContext; - + nsIStyleContext* context = aStartAtParent ? aContext->GetParent() : aContext; + NS_ASSERTION( context != nsnull, "Cannot find NonTransparentBackground in a null context" ); + NS_IF_ADDREF(context); // balance ending release while (nsnull != context) { result = (const nsStyleColor*)context->GetStyleData(eStyleStruct_Color); diff --git a/mozilla/layout/style/nsStyleUtil.cpp b/mozilla/layout/style/nsStyleUtil.cpp index eb65f97c6e8..3d4b041e68a 100644 --- a/mozilla/layout/style/nsStyleUtil.cpp +++ b/mozilla/layout/style/nsStyleUtil.cpp @@ -185,11 +185,13 @@ nsStyleUtil::ConstrainFontWeight(PRInt32 aWeight) } -const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* aContext) +const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* aContext, + PRBool aStartAtParent /*= PR_FALSE*/) { const nsStyleColor* result = nsnull; - nsIStyleContext* context = aContext; - + nsIStyleContext* context = aStartAtParent ? aContext->GetParent() : aContext; + NS_ASSERTION( context != nsnull, "Cannot find NonTransparentBackground in a null context" ); + NS_IF_ADDREF(context); // balance ending release while (nsnull != context) { result = (const nsStyleColor*)context->GetStyleData(eStyleStruct_Color);