From 3d1c2bc802f521018cf4d47d0b6d09c4be9f8a87 Mon Sep 17 00:00:00 2001 From: "tbogard%aol.net" Date: Fri, 31 Mar 2000 02:47:04 +0000 Subject: [PATCH] The OverLink handler no longer caches the current over and target link to ensure we aren't called for the same link more than once. The lower level is assuring we aren't execpt in on case where a popup is up and then you move over links. This is a small case. Since string copies were actually showing up on some profiles I'm removing this caching of the string for some small amount of performance and bloat benefit as well as code cleanup. --- docshell/base/nsWebShell.cpp | 28 ++++------------------------ webshell/src/nsWebShell.cpp | 28 ++++------------------------ 2 files changed, 8 insertions(+), 48 deletions(-) diff --git a/docshell/base/nsWebShell.cpp b/docshell/base/nsWebShell.cpp index 29a6b31e2472..3d5b4c17f872 100644 --- a/docshell/base/nsWebShell.cpp +++ b/docshell/base/nsWebShell.cpp @@ -379,8 +379,6 @@ protected: nsISessionHistory * mSHist; nsRect mBounds; - nsString mOverURL; - nsString mOverTarget; PRPackedBool mIsInSHist; PRPackedBool mFailedToLoadHistoryService; @@ -2229,30 +2227,12 @@ nsWebShell::OnOverLink(nsIContent* aContent, const PRUnichar* aURLSpec, const PRUnichar* aTargetSpec) { - if (!mOverURL.Equals(aURLSpec) || !mOverTarget.Equals(aTargetSpec)) { -#ifdef NOISY_LINKS - fputs("Was '", stdout); - fputs(mOverURL, stdout); - fputs("' '", stdout); - fputs(mOverTarget, stdout); - fputs("'\n", stdout); - fputs("Over link '", stdout); - fputs(aURLSpec, stdout); - fputs("' '", stdout); - fputs(aTargetSpec, stdout); - fputs("'\n", stdout); -#endif /* NS_DEBUG */ + nsCOMPtr browserChrome(do_GetInterface(mTreeOwner)); - mOverURL = aURLSpec; - mOverTarget = aTargetSpec; - - - nsCOMPtr browserChrome(do_GetInterface(mTreeOwner)); - - if (browserChrome) + if(browserChrome) browserChrome->SetOverLink(aURLSpec); - } - return NS_OK; + + return NS_OK; } NS_IMETHODIMP diff --git a/webshell/src/nsWebShell.cpp b/webshell/src/nsWebShell.cpp index 29a6b31e2472..3d5b4c17f872 100644 --- a/webshell/src/nsWebShell.cpp +++ b/webshell/src/nsWebShell.cpp @@ -379,8 +379,6 @@ protected: nsISessionHistory * mSHist; nsRect mBounds; - nsString mOverURL; - nsString mOverTarget; PRPackedBool mIsInSHist; PRPackedBool mFailedToLoadHistoryService; @@ -2229,30 +2227,12 @@ nsWebShell::OnOverLink(nsIContent* aContent, const PRUnichar* aURLSpec, const PRUnichar* aTargetSpec) { - if (!mOverURL.Equals(aURLSpec) || !mOverTarget.Equals(aTargetSpec)) { -#ifdef NOISY_LINKS - fputs("Was '", stdout); - fputs(mOverURL, stdout); - fputs("' '", stdout); - fputs(mOverTarget, stdout); - fputs("'\n", stdout); - fputs("Over link '", stdout); - fputs(aURLSpec, stdout); - fputs("' '", stdout); - fputs(aTargetSpec, stdout); - fputs("'\n", stdout); -#endif /* NS_DEBUG */ + nsCOMPtr browserChrome(do_GetInterface(mTreeOwner)); - mOverURL = aURLSpec; - mOverTarget = aTargetSpec; - - - nsCOMPtr browserChrome(do_GetInterface(mTreeOwner)); - - if (browserChrome) + if(browserChrome) browserChrome->SetOverLink(aURLSpec); - } - return NS_OK; + + return NS_OK; } NS_IMETHODIMP