Created attachment 541930 [details]
The testcase contains various kinds of links. Using Ctrl + Click on HTML links open pages in a new tab. However, this does not work for MathML/SVG links.
The code that handles this isn't part of the core; it's part of the Firefox UI.
In particular, see |function contentAreaClick| in browser/base/content/browser.js
Presumably hrefAndLinkNodeForClickEvent is failing here? In particular, it doesn't seem to stop when it finds an XLink. Looks like the changes in bug 549340 lost realHref and just completely broke this code for XLinks....
looks like my regression, taking.
Yes it's possibly a bug in the while (node) loop, next iteration may overwrite href.
Created attachment 542702 [details] [diff] [review]
As thought, the loop was the culprit.
I added all the examples in the testcase attached to the test for contentAreaClick, and made subtests being able to run on multiple targets.
Comment on attachment 542702 [details] [diff] [review]
The old code found the outermost element with a valid xlink href, seems like we'd want to keep that behavior (rather than returning the innermost, as this patch does).
You want the innermost. Since that code went away Gecko's link handling has changed to take the innermost link when clicking on nested links.
Oh, I thought the transition went the opposite way for some reason.
I can verify that the patch here, not only fixes the Ctrl-click issue for links in the testcases in this bug, but also the additional ones in bug 427990.
The 29 Jun Windows and Linux builds available at http://www.wg9s.com/mozilla/firefox/ do/will include this patch.
I'm going to remove the subtest for mathhref from the test because we are not yet supporting that.
To clarify, MathML 3 allows to add a href attribute to any MathML element, till now we supported XLinks on MathML but not a direct href attribute. This is not a regression, has been fixed just some days ago in central and contentAreaClick never handled it.
I have a patch for that, but being completely unrelated to this regression I'm going to file a bug apart and move the subtest there.
I filed bug 668618 to add support for MathML 3 href links.
Pushed with other stuff to bake, will merge as soon as I have a green run.
subtest removal: http://hg.mozilla.org/projects/places/rev/b64f604824b9
Setting resolution to Verified Fixed on Mozilla/5.0 (Windows NT 6.1; rv:7.0a2) Gecko/20110706 Firefox/7.0a2