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

RESOLVED FIXED

Status

()

Core
SVG
RESOLVED FIXED
11 years ago
11 years ago

People

(Reporter: Jeff Schiller, Assigned: Robert Longson)

Tracking

({regression})

unspecified
x86
Windows XP
regression
Points:
---
Bug Flags:
in-testsuite ?

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(2 attachments, 1 obsolete attachment)

1.34 KB, patch
Details | Diff | Splinter Review
475 bytes, application/xhtml+xml
Details
(Reporter)

Description

11 years ago
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.
(Reporter)

Comment 1

11 years ago
Error in bug description:  the SVG file used is http://www.codedread.com/button.svg
(Assignee)

Comment 2

11 years ago
Created attachment 260011 [details] [diff] [review]
patch
Assignee: general → longsonr
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Attachment #260011 - Flags: review?(jwatt)
(Assignee)

Comment 3

11 years ago
(In reply to comment #0)
This should work in Fx2 (although not in 1.5 IIRC). It regressed with the new a element implementation.
(Reporter)

Comment 4

11 years ago
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).

Updated

11 years ago
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+
(Assignee)

Updated

11 years ago
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
(Reporter)

Comment 7

11 years ago
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).
(Reporter)

Comment 9

11 years ago
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.
(Reporter)

Comment 10

11 years ago
CDF mailing list references: http://lists.w3.org/Archives/Public/public-cdf/2007Mar/0015.html
(Assignee)

Comment 11

11 years ago
Created attachment 260125 [details] [diff] [review]
updated patch

Take html base target into account.
Attachment #260011 - Attachment is obsolete: true
Attachment #260125 - Flags: superreview?(tor)
Attachment #260011 - Flags: superreview?(tor)
(Assignee)

Comment 12

11 years ago
Created attachment 260126 [details]
testcase

Updated

11 years ago
Attachment #260125 - Flags: superreview?(tor) → superreview+
(Assignee)

Comment 13

11 years ago
checked in.
Status: ASSIGNED → RESOLVED
Last Resolved: 11 years ago
Resolution: --- → FIXED
Flags: in-testsuite?
You need to log in before you can comment on or make changes to this bug.