diff --git a/mozilla/content/xul/content/src/nsXULElement.cpp b/mozilla/content/xul/content/src/nsXULElement.cpp index 2d2d7dcceb6..f86833a8776 100644 --- a/mozilla/content/xul/content/src/nsXULElement.cpp +++ b/mozilla/content/xul/content/src/nsXULElement.cpp @@ -2619,13 +2619,19 @@ RDFElementImpl::GetID(nsIAtom*& aResult) const NS_IMETHODIMP RDFElementImpl::GetClasses(nsVoidArray& aArray) const { - return NS_OK; + nsresult rv = NS_ERROR_NULL_POINTER; + if (mAttributes != nsnull) + rv = mAttributes->GetClasses(aArray); + return rv; } NS_IMETHODIMP RDFElementImpl::HasClass(nsIAtom* aClass) const { - return NS_OK; + nsresult rv = NS_ERROR_NULL_POINTER; + if (mAttributes != nsnull) + rv = mAttributes->HasClass(aClass); + return rv; } NS_IMETHODIMP diff --git a/mozilla/content/xul/document/src/nsXULDocument.cpp b/mozilla/content/xul/document/src/nsXULDocument.cpp index 217bab56ee2..5d3e6902b1c 100644 --- a/mozilla/content/xul/document/src/nsXULDocument.cpp +++ b/mozilla/content/xul/document/src/nsXULDocument.cpp @@ -69,6 +69,7 @@ #include "nsIURL.h" #include "nsIURLGroup.h" #include "nsIWebShell.h" +#include "nsIStyleContext.h" #include "nsIXULContentSink.h" #include "nsIDOMXULElement.h" #include "nsIXULParentDocument.h" @@ -3151,7 +3152,29 @@ XULDocumentImpl::StartLayout(void) // Resize-reflow this time nsCOMPtr cx; shell->GetPresContext(getter_AddRefs(cx)); - nsRect r; + + if (cx) { + nsCOMPtr container; + cx->GetContainer(getter_AddRefs(container)); + if (container) { + nsCOMPtr webShell; + webShell = do_QueryInterface(container); + if (webShell) { + nsCOMPtr styleContext; + if (NS_SUCCEEDED(cx->ResolveStyleContextFor(mRootContent, nsnull, + PR_FALSE, + getter_AddRefs(styleContext)))) { + + const nsStyleDisplay* disp = (const nsStyleDisplay*) + styleContext->GetStyleData(eStyleStruct_Display); + + webShell->SetScrolling(disp->mOverflow); + } + } + } + } + + nsRect r; cx->GetVisibleArea(r); shell->InitialReflow(r.width, r.height); diff --git a/mozilla/rdf/content/src/nsRDFElement.cpp b/mozilla/rdf/content/src/nsRDFElement.cpp index 2d2d7dcceb6..f86833a8776 100644 --- a/mozilla/rdf/content/src/nsRDFElement.cpp +++ b/mozilla/rdf/content/src/nsRDFElement.cpp @@ -2619,13 +2619,19 @@ RDFElementImpl::GetID(nsIAtom*& aResult) const NS_IMETHODIMP RDFElementImpl::GetClasses(nsVoidArray& aArray) const { - return NS_OK; + nsresult rv = NS_ERROR_NULL_POINTER; + if (mAttributes != nsnull) + rv = mAttributes->GetClasses(aArray); + return rv; } NS_IMETHODIMP RDFElementImpl::HasClass(nsIAtom* aClass) const { - return NS_OK; + nsresult rv = NS_ERROR_NULL_POINTER; + if (mAttributes != nsnull) + rv = mAttributes->HasClass(aClass); + return rv; } NS_IMETHODIMP diff --git a/mozilla/rdf/content/src/nsXULDocument.cpp b/mozilla/rdf/content/src/nsXULDocument.cpp index 217bab56ee2..5d3e6902b1c 100644 --- a/mozilla/rdf/content/src/nsXULDocument.cpp +++ b/mozilla/rdf/content/src/nsXULDocument.cpp @@ -69,6 +69,7 @@ #include "nsIURL.h" #include "nsIURLGroup.h" #include "nsIWebShell.h" +#include "nsIStyleContext.h" #include "nsIXULContentSink.h" #include "nsIDOMXULElement.h" #include "nsIXULParentDocument.h" @@ -3151,7 +3152,29 @@ XULDocumentImpl::StartLayout(void) // Resize-reflow this time nsCOMPtr cx; shell->GetPresContext(getter_AddRefs(cx)); - nsRect r; + + if (cx) { + nsCOMPtr container; + cx->GetContainer(getter_AddRefs(container)); + if (container) { + nsCOMPtr webShell; + webShell = do_QueryInterface(container); + if (webShell) { + nsCOMPtr styleContext; + if (NS_SUCCEEDED(cx->ResolveStyleContextFor(mRootContent, nsnull, + PR_FALSE, + getter_AddRefs(styleContext)))) { + + const nsStyleDisplay* disp = (const nsStyleDisplay*) + styleContext->GetStyleData(eStyleStruct_Display); + + webShell->SetScrolling(disp->mOverflow); + } + } + } + } + + nsRect r; cx->GetVisibleArea(r); shell->InitialReflow(r.width, r.height); diff --git a/mozilla/rdf/content/src/nsXULElement.cpp b/mozilla/rdf/content/src/nsXULElement.cpp index 2d2d7dcceb6..f86833a8776 100644 --- a/mozilla/rdf/content/src/nsXULElement.cpp +++ b/mozilla/rdf/content/src/nsXULElement.cpp @@ -2619,13 +2619,19 @@ RDFElementImpl::GetID(nsIAtom*& aResult) const NS_IMETHODIMP RDFElementImpl::GetClasses(nsVoidArray& aArray) const { - return NS_OK; + nsresult rv = NS_ERROR_NULL_POINTER; + if (mAttributes != nsnull) + rv = mAttributes->GetClasses(aArray); + return rv; } NS_IMETHODIMP RDFElementImpl::HasClass(nsIAtom* aClass) const { - return NS_OK; + nsresult rv = NS_ERROR_NULL_POINTER; + if (mAttributes != nsnull) + rv = mAttributes->HasClass(aClass); + return rv; } NS_IMETHODIMP