Closed Bug 375696 Opened 17 years ago Closed 17 years ago

Referenced SVG link with target="_top" not redirecting parent doc

Categories

(Core :: SVG, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: codedread, Assigned: longsonr)

References

()

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a4pre) Gecko/20070328 Minefield/3.0a4pre
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a4pre) Gecko/20070328 Minefield/3.0a4pre

See http://www.codedread.com/test-link.xhtml and the referenced SVG file (http://www.codedread.com/buttons.svg).

I know jwatt recently did some re-work on SVG implementation of the a element, but I've lost track of whether this supposed to be fixed or not.  The SVG:a element has target="_top" so shouldn't it redirect the entire browser page to the link?  Instead, it nests the page inside the SVG frame.  In Fx2, I was using frame-busting scripts to handle this:  if(top != self) {...}, but looking forward to a day when I don't have to.

It works as I expect in Opera.  

WICD Core (http://www.w3.org/TR/2006/WD-WICD-20061122/#hyperlinking) says that "Link activation behavior for hyperlinks within a child object is defined by the child object's relevant language specification".  The SVG link section http://www.w3.org/TR/SVG11/linking.html#AElementTargetAttribute says "For more information on targets, refer to the appropriate HTML or XHTML specifications".  The HTML spec http://www.w3.org/TR/REC-html40/types.html#type-frame-target defines _top as "the full, original window".

Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Error in bug description:  the SVG file used is http://www.codedread.com/button.svg
Attached patch patch (obsolete) — Splinter Review
Assignee: general → longsonr
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Attachment #260011 - Flags: review?(jwatt)
(In reply to comment #0)
This should work in Fx2 (although not in 1.5 IIRC). It regressed with the new a element implementation.
Robert, my apologies - I must have been using the frame-busting scripts in Fx 1.0 and 1.5 then.  I probably never did anything for Fx 2.0 because the other browsers were still relatively large percentages when this was fixed (though that is starting to change now).
Keywords: regression
Comment on attachment 260011 [details] [diff] [review]
patch

Oops. Silly of me to break things. Anyway, this'll do for now. r=jwatt
Attachment #260011 - Flags: review?(jwatt) → review+
Attachment #260011 - Flags: superreview?(tor)
As tor points out, GetLinkTarget is supposed to return the base target if it exists and a target isn't specified on the element itself. We're still taking about this, but however this patch should be adjusted, the documenting text for GetLinkTarget should be updated to make that clear:

http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/content/base/src/nsGenericElement.h&rev=3.246&mark=1019-1022#1014
I was going to mention this (after digging into the HTML side and discovering what that was about).  But SVG doesn't have a <base> element...
No, it doesn't, but there's compound documents and http://www.w3.org/TR/xmlbase/ to consider. Anyway, I'm personally happy to have this patch as it is and have another bug opened to consider link base(s).
Thanks for the link to xml:base, and the SVG spec does indeed mention this (http://www.w3.org/TR/SVG11/struct.html#XMLBaseAttribute) - however, looking it over, the spec doesn't mention a target attribute (i.e. XML Base is only dealing with the base URI).

I thought about CDF - but it doesn't seem to be explicitly covered here http://www.w3.org/TR/WICD/#hyperlinking, probably something to raise with the CDF WG.  How should resolving relative URIs and link targets be handled in a compound document?

<html>
<head><base target="..." .../></head>
<svg><a ..../></svg>
</html>

Does it mean that the inner svg:a should use the parent document's base target if one isn't specified on the svg:a element directly?  Similar question for relative URIs.

I agree this should be opened as another bug once it's resolved with the CDF WG.
Attached patch updated patchSplinter Review
Take html base target into account.
Attachment #260011 - Attachment is obsolete: true
Attachment #260125 - Flags: superreview?(tor)
Attachment #260011 - Flags: superreview?(tor)
Attached file testcase
Attachment #260125 - Flags: superreview?(tor) → superreview+
checked in.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Flags: in-testsuite?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: