aboutsummaryrefslogtreecommitdiffstats
path: root/embed
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2004-03-29 23:04:12 +0800
committerChristian Persch <chpe@src.gnome.org>2004-03-29 23:04:12 +0800
commit598b2cf528b2b8cc4188fc6d126a8d3a22abad65 (patch)
tree4c88edbf4c7014196375e8db57b5bd16a6ca3d51 /embed
parentce36f153ce6796e5ebd815bc6bd041cb99c4f580 (diff)
downloadgsoc2013-epiphany-598b2cf528b2b8cc4188fc6d126a8d3a22abad65.tar
gsoc2013-epiphany-598b2cf528b2b8cc4188fc6d126a8d3a22abad65.tar.gz
gsoc2013-epiphany-598b2cf528b2b8cc4188fc6d126a8d3a22abad65.tar.bz2
gsoc2013-epiphany-598b2cf528b2b8cc4188fc6d126a8d3a22abad65.tar.lz
gsoc2013-epiphany-598b2cf528b2b8cc4188fc6d126a8d3a22abad65.tar.xz
gsoc2013-epiphany-598b2cf528b2b8cc4188fc6d126a8d3a22abad65.tar.zst
gsoc2013-epiphany-598b2cf528b2b8cc4188fc6d126a8d3a22abad65.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')
-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 230ce7dd3..43ff14e00 100644
--- a/embed/mozilla/EventContext.cpp
+++ b/embed/mozilla/EventContext.cpp
@@ -394,6 +394,7 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
if (tag.EqualsIgnoreCase("a"))
{
nsAutoString tmp;
+ nsAutoString substr;
rv = GatherTextUnder (node, tmp);
if (NS_SUCCEEDED(rv))
@@ -401,25 +402,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())
{