From 203c71adbda91fb6778675c8aa56aa30ade12126 Mon Sep 17 00:00:00 2001 From: "pollmann%netscape.com" Date: Thu, 22 Jul 1999 18:47:23 +0000 Subject: [PATCH] Bug 10301: Check base target for image maps git-svn-id: svn://10.0.0.236/trunk@40679 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/layout/generic/nsImageMap.cpp | 10 ++++++++++ mozilla/layout/html/base/src/nsImageMap.cpp | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/mozilla/layout/generic/nsImageMap.cpp b/mozilla/layout/generic/nsImageMap.cpp index ee39cff45d5..a6255be67cc 100644 --- a/mozilla/layout/generic/nsImageMap.cpp +++ b/mozilla/layout/generic/nsImageMap.cpp @@ -41,6 +41,8 @@ static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); #include "nsIDocument.h" #include "nsINameSpaceManager.h" #include "nsHTMLAtoms.h" +#include "nsIHTMLContent.h" +#include "nsHTMLIIDs.h" class Area { public: @@ -880,6 +882,14 @@ nsImageMap::IsInside(nscoord aX, nscoord aY, NS_RELEASE(baseUri); #endif // NECKO aTarget = area->mTarget; + if (mMap && (aTarget.Length() == 0)) { + nsIHTMLContent* content = nsnull; + nsresult result = mMap->QueryInterface(kIHTMLContentIID, (void**)&content); + if ((NS_OK == result) && content) { + content->GetBaseTarget(aTarget); + NS_RELEASE(content); + } + } aAltText = area->mAltText; *aSuppress = area->mSuppressFeedback; return PR_TRUE; diff --git a/mozilla/layout/html/base/src/nsImageMap.cpp b/mozilla/layout/html/base/src/nsImageMap.cpp index ee39cff45d5..a6255be67cc 100644 --- a/mozilla/layout/html/base/src/nsImageMap.cpp +++ b/mozilla/layout/html/base/src/nsImageMap.cpp @@ -41,6 +41,8 @@ static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); #include "nsIDocument.h" #include "nsINameSpaceManager.h" #include "nsHTMLAtoms.h" +#include "nsIHTMLContent.h" +#include "nsHTMLIIDs.h" class Area { public: @@ -880,6 +882,14 @@ nsImageMap::IsInside(nscoord aX, nscoord aY, NS_RELEASE(baseUri); #endif // NECKO aTarget = area->mTarget; + if (mMap && (aTarget.Length() == 0)) { + nsIHTMLContent* content = nsnull; + nsresult result = mMap->QueryInterface(kIHTMLContentIID, (void**)&content); + if ((NS_OK == result) && content) { + content->GetBaseTarget(aTarget); + NS_RELEASE(content); + } + } aAltText = area->mAltText; *aSuppress = area->mSuppressFeedback; return PR_TRUE;