diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2004-03-29 23:04:12 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2004-03-29 23:04:12 +0800 |
commit | 598b2cf528b2b8cc4188fc6d126a8d3a22abad65 (patch) | |
tree | 4c88edbf4c7014196375e8db57b5bd16a6ca3d51 /embed/mozilla/EventContext.cpp | |
parent | ce36f153ce6796e5ebd815bc6bd041cb99c4f580 (diff) | |
download | gsoc2013-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/mozilla/EventContext.cpp')
-rw-r--r-- | embed/mozilla/EventContext.cpp | 19 |
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()) { |