aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla/EventContext.cpp
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2004-03-29 23:01:59 +0800
committerChristian Persch <chpe@src.gnome.org>2004-03-29 23:01:59 +0800
commit078b4129c866a866b699aae0f947c43493c69cdc (patch)
treef14af9b35869d2564a753d36b327eba3d5081fd0 /embed/mozilla/EventContext.cpp
parent243568a52f7147ee36570aa32a292200ad51fc0a (diff)
downloadgsoc2013-epiphany-078b4129c866a866b699aae0f947c43493c69cdc.tar
gsoc2013-epiphany-078b4129c866a866b699aae0f947c43493c69cdc.tar.gz
gsoc2013-epiphany-078b4129c866a866b699aae0f947c43493c69cdc.tar.bz2
gsoc2013-epiphany-078b4129c866a866b699aae0f947c43493c69cdc.tar.lz
gsoc2013-epiphany-078b4129c866a866b699aae0f947c43493c69cdc.tar.xz
gsoc2013-epiphany-078b4129c866a866b699aae0f947c43493c69cdc.tar.zst
gsoc2013-epiphany-078b4129c866a866b699aae0f947c43493c69cdc.zip
Don't assume every anchor has a href attribute. Fixes bug #138200.
2004-03-29 Christian Persch <chpe@cvs.gnome.org> * embed/mozilla/EventContext.cpp: Don't assume every anchor has a href attribute. Fixes bug #138200.
Diffstat (limited to 'embed/mozilla/EventContext.cpp')
-rw-r--r--embed/mozilla/EventContext.cpp19
1 files changed, 5 insertions, 14 deletions
diff --git a/embed/mozilla/EventContext.cpp b/embed/mozilla/EventContext.cpp
index 59b3897fb..610f124e5 100644
--- a/embed/mozilla/EventContext.cpp
+++ b/embed/mozilla/EventContext.cpp
@@ -382,6 +382,7 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
if (tag.EqualsIgnoreCase("a"))
{
nsAutoString tmp;
+ nsAutoString substr;
rv = GatherTextUnder (node, tmp);
if (NS_SUCCEEDED(rv))
@@ -389,25 +390,15 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
nsCOMPtr <nsIDOMHTMLAnchorElement> anchor =
do_QueryInterface(node);
- rv = anchor->GetHref (tmp);
- if (NS_FAILED(rv))
- return NS_ERROR_FAILURE;
- nsCOMPtr<nsIURI> uri;
- NS_NewURI (getter_AddRefs (uri), tmp);
- if (!uri) return NS_ERROR_FAILURE;
-
- nsresult rv;
- nsCAutoString scheme;
- rv = uri->GetScheme (scheme);
- if (NS_FAILED (rv)) return NS_ERROR_FAILURE;
-
- if (scheme.EqualsIgnoreCase("mailto"))
+ anchor->GetHref (tmp);
+ substr.Assign (Substring (tmp, 0, 7));
+ if (substr.EqualsIgnoreCase("mailto:"))
{
info->context |= EMBED_CONTEXT_EMAIL_LINK;
const nsAString &address = Substring(tmp, 7, tmp.Length()-7);
SetStringProperty ("email", address);
- }
+ }
if (anchor && !tmp.IsEmpty())
{