From 9730aa1e2143b2bce9395dd716024ee499947427 Mon Sep 17 00:00:00 2001 From: "waterson%netscape.com" Date: Tue, 18 Apr 2000 04:34:20 +0000 Subject: [PATCH] Back out changes my changes to nsILinkHandler because of performance problems. git-svn-id: svn://10.0.0.236/trunk@66246 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/content/html/style/src/nsCSSStyleSheet.cpp | 4 ++-- .../content/html/style/src/nsHTMLStyleSheet.cpp | 4 ++-- mozilla/docshell/base/nsWebShell.cpp | 14 +++++--------- mozilla/layout/html/style/src/nsCSSStyleSheet.cpp | 4 ++-- mozilla/layout/html/style/src/nsHTMLStyleSheet.cpp | 4 ++-- mozilla/layout/style/nsCSSStyleSheet.cpp | 4 ++-- mozilla/layout/style/nsHTMLStyleSheet.cpp | 4 ++-- mozilla/webshell/public/nsILinkHandler.h | 4 ++-- mozilla/webshell/src/nsWebShell.cpp | 14 +++++--------- 9 files changed, 24 insertions(+), 32 deletions(-) diff --git a/mozilla/content/html/style/src/nsCSSStyleSheet.cpp b/mozilla/content/html/style/src/nsCSSStyleSheet.cpp index 605ef607aa1..c30fbc6dcc7 100644 --- a/mozilla/content/html/style/src/nsCSSStyleSheet.cpp +++ b/mozilla/content/html/style/src/nsCSSStyleSheet.cpp @@ -2741,8 +2741,8 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext, } } - nsCOMPtr linkURI; - (void) NS_NewURI(getter_AddRefs(linkURI), href, baseURI, CSSStyleSheetInner::gIOService); + nsAutoString linkURI; + (void) NS_MakeAbsoluteURI(linkURI, href, baseURI, CSSStyleSheetInner::gIOService); linkHandler->GetLinkState(linkURI, linkState); } diff --git a/mozilla/content/html/style/src/nsHTMLStyleSheet.cpp b/mozilla/content/html/style/src/nsHTMLStyleSheet.cpp index d2a0b87974b..7f5793f9de1 100644 --- a/mozilla/content/html/style/src/nsHTMLStyleSheet.cpp +++ b/mozilla/content/html/style/src/nsHTMLStyleSheet.cpp @@ -864,8 +864,8 @@ HTMLStyleSheetImpl::RulesMatching(nsIPresContext* aPresContext, nsCOMPtr baseURI; htmlContent->GetBaseURL(*getter_AddRefs(baseURI)); - nsCOMPtr linkURI; - (void) NS_NewURI(getter_AddRefs(linkURI), href, baseURI); + nsAutoString linkURI; + (void) NS_MakeAbsoluteURI(linkURI, href, baseURI); nsLinkState state; if (NS_OK == linkHandler->GetLinkState(linkURI, state)) { diff --git a/mozilla/docshell/base/nsWebShell.cpp b/mozilla/docshell/base/nsWebShell.cpp index 16a1ff93a72..d1dd5be323a 100644 --- a/mozilla/docshell/base/nsWebShell.cpp +++ b/mozilla/docshell/base/nsWebShell.cpp @@ -258,7 +258,7 @@ public: NS_IMETHOD OnOverLink(nsIContent* aContent, const PRUnichar* aURLSpec, const PRUnichar* aTargetSpec); - NS_IMETHOD GetLinkState(nsIURI* aLinkURI, nsLinkState& aState); + NS_IMETHOD GetLinkState(const nsString& aLinkURI, nsLinkState& aState); // nsIProgressEventSink NS_DECL_NSIPROGRESSEVENTSINK @@ -1409,12 +1409,8 @@ nsWebShell::OnOverLink(nsIContent* aContent, } NS_IMETHODIMP -nsWebShell::GetLinkState(nsIURI* aLinkURI, nsLinkState& aState) +nsWebShell::GetLinkState(const nsString& aLinkURI, nsLinkState& aState) { - NS_PRECONDITION(aLinkURI != nsnull, "null ptr"); - if (! aLinkURI) - return NS_ERROR_NULL_POINTER; - aState = eLinkState_Unvisited; nsresult rv; @@ -1422,11 +1418,11 @@ nsWebShell::GetLinkState(nsIURI* aLinkURI, nsLinkState& aState) EnsureGlobalHistory(); if (mGlobalHistory) { - nsXPIDLCString url; - aLinkURI->GetSpec(getter_Copies(url)); + nsCAutoString url; + url.AssignWithConversion(aLinkURI.GetUnicode()); PRInt64 lastVisitDate; - rv = mGlobalHistory->GetLastVisitDate(url, &lastVisitDate); + rv = mGlobalHistory->GetLastVisitDate(url.GetBuffer(), &lastVisitDate); if (NS_FAILED(rv)) return rv; // a last-visit-date of zero means we've never seen it before; so diff --git a/mozilla/layout/html/style/src/nsCSSStyleSheet.cpp b/mozilla/layout/html/style/src/nsCSSStyleSheet.cpp index 605ef607aa1..c30fbc6dcc7 100644 --- a/mozilla/layout/html/style/src/nsCSSStyleSheet.cpp +++ b/mozilla/layout/html/style/src/nsCSSStyleSheet.cpp @@ -2741,8 +2741,8 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext, } } - nsCOMPtr linkURI; - (void) NS_NewURI(getter_AddRefs(linkURI), href, baseURI, CSSStyleSheetInner::gIOService); + nsAutoString linkURI; + (void) NS_MakeAbsoluteURI(linkURI, href, baseURI, CSSStyleSheetInner::gIOService); linkHandler->GetLinkState(linkURI, linkState); } diff --git a/mozilla/layout/html/style/src/nsHTMLStyleSheet.cpp b/mozilla/layout/html/style/src/nsHTMLStyleSheet.cpp index d2a0b87974b..7f5793f9de1 100644 --- a/mozilla/layout/html/style/src/nsHTMLStyleSheet.cpp +++ b/mozilla/layout/html/style/src/nsHTMLStyleSheet.cpp @@ -864,8 +864,8 @@ HTMLStyleSheetImpl::RulesMatching(nsIPresContext* aPresContext, nsCOMPtr baseURI; htmlContent->GetBaseURL(*getter_AddRefs(baseURI)); - nsCOMPtr linkURI; - (void) NS_NewURI(getter_AddRefs(linkURI), href, baseURI); + nsAutoString linkURI; + (void) NS_MakeAbsoluteURI(linkURI, href, baseURI); nsLinkState state; if (NS_OK == linkHandler->GetLinkState(linkURI, state)) { diff --git a/mozilla/layout/style/nsCSSStyleSheet.cpp b/mozilla/layout/style/nsCSSStyleSheet.cpp index 605ef607aa1..c30fbc6dcc7 100644 --- a/mozilla/layout/style/nsCSSStyleSheet.cpp +++ b/mozilla/layout/style/nsCSSStyleSheet.cpp @@ -2741,8 +2741,8 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext, } } - nsCOMPtr linkURI; - (void) NS_NewURI(getter_AddRefs(linkURI), href, baseURI, CSSStyleSheetInner::gIOService); + nsAutoString linkURI; + (void) NS_MakeAbsoluteURI(linkURI, href, baseURI, CSSStyleSheetInner::gIOService); linkHandler->GetLinkState(linkURI, linkState); } diff --git a/mozilla/layout/style/nsHTMLStyleSheet.cpp b/mozilla/layout/style/nsHTMLStyleSheet.cpp index d2a0b87974b..7f5793f9de1 100644 --- a/mozilla/layout/style/nsHTMLStyleSheet.cpp +++ b/mozilla/layout/style/nsHTMLStyleSheet.cpp @@ -864,8 +864,8 @@ HTMLStyleSheetImpl::RulesMatching(nsIPresContext* aPresContext, nsCOMPtr baseURI; htmlContent->GetBaseURL(*getter_AddRefs(baseURI)); - nsCOMPtr linkURI; - (void) NS_NewURI(getter_AddRefs(linkURI), href, baseURI); + nsAutoString linkURI; + (void) NS_MakeAbsoluteURI(linkURI, href, baseURI); nsLinkState state; if (NS_OK == linkHandler->GetLinkState(linkURI, state)) { diff --git a/mozilla/webshell/public/nsILinkHandler.h b/mozilla/webshell/public/nsILinkHandler.h index 8ae8240460f..31a2f49ee78 100644 --- a/mozilla/webshell/public/nsILinkHandler.h +++ b/mozilla/webshell/public/nsILinkHandler.h @@ -27,7 +27,7 @@ class nsIInputStream; class nsIContent; -class nsIURI; +class nsString; struct nsGUIEvent; // Interface ID for nsILinkHandler @@ -83,7 +83,7 @@ public: /** * Get the state of a link to a given absolute URL */ - NS_IMETHOD GetLinkState(nsIURI* aLinkURI, nsLinkState& aState) = 0; + NS_IMETHOD GetLinkState(const nsString& aLinkURI, nsLinkState& aState) = 0; }; #endif /* nsILinkHandler_h___ */ diff --git a/mozilla/webshell/src/nsWebShell.cpp b/mozilla/webshell/src/nsWebShell.cpp index 16a1ff93a72..d1dd5be323a 100644 --- a/mozilla/webshell/src/nsWebShell.cpp +++ b/mozilla/webshell/src/nsWebShell.cpp @@ -258,7 +258,7 @@ public: NS_IMETHOD OnOverLink(nsIContent* aContent, const PRUnichar* aURLSpec, const PRUnichar* aTargetSpec); - NS_IMETHOD GetLinkState(nsIURI* aLinkURI, nsLinkState& aState); + NS_IMETHOD GetLinkState(const nsString& aLinkURI, nsLinkState& aState); // nsIProgressEventSink NS_DECL_NSIPROGRESSEVENTSINK @@ -1409,12 +1409,8 @@ nsWebShell::OnOverLink(nsIContent* aContent, } NS_IMETHODIMP -nsWebShell::GetLinkState(nsIURI* aLinkURI, nsLinkState& aState) +nsWebShell::GetLinkState(const nsString& aLinkURI, nsLinkState& aState) { - NS_PRECONDITION(aLinkURI != nsnull, "null ptr"); - if (! aLinkURI) - return NS_ERROR_NULL_POINTER; - aState = eLinkState_Unvisited; nsresult rv; @@ -1422,11 +1418,11 @@ nsWebShell::GetLinkState(nsIURI* aLinkURI, nsLinkState& aState) EnsureGlobalHistory(); if (mGlobalHistory) { - nsXPIDLCString url; - aLinkURI->GetSpec(getter_Copies(url)); + nsCAutoString url; + url.AssignWithConversion(aLinkURI.GetUnicode()); PRInt64 lastVisitDate; - rv = mGlobalHistory->GetLastVisitDate(url, &lastVisitDate); + rv = mGlobalHistory->GetLastVisitDate(url.GetBuffer(), &lastVisitDate); if (NS_FAILED(rv)) return rv; // a last-visit-date of zero means we've never seen it before; so