You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Carl-Eric Menzel (JIRA)" <ji...@apache.org> on 2016/12/06 13:22:58 UTC

[jira] [Resolved] (WICKET-6289) Autolinking adds onclick attribute to tags

     [ https://issues.apache.org/jira/browse/WICKET-6289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carl-Eric Menzel resolved WICKET-6289.
--------------------------------------
       Resolution: Fixed
    Fix Version/s: 8.0.0-M3
                   7.6.0
                   6.26

pull requests are merged for 6, 7 and 8

> Autolinking adds onclick attribute to <img> tags
> ------------------------------------------------
>
>                 Key: WICKET-6289
>                 URL: https://issues.apache.org/jira/browse/WICKET-6289
>             Project: Wicket
>          Issue Type: Bug
>    Affects Versions: 7.4.0, 8.0.0-M2, 6.25.0, 1.5.17
>            Reporter: Carl-Eric Menzel
>            Assignee: Carl-Eric Menzel
>             Fix For: 6.26, 7.6.0, 8.0.0-M3
>
>
> When the autolinker can't find the target of a src or href attribute, it falls back to a default autocomponent, that supposedly leaves the tag unchanged. Quoting AutolinkResolver:
> {code}
> if (autoComponent == null)
> {
> 	// resolving didn't have the desired result or there was no delegate
> 	// found; fallback on the default resolving which is a simple
> 	// component that leaves the tag unchanged
> 	autoComponent = new AutolinkExternalLink(componentId, pathInfo.reference);
> }
> {code}
> ...except that AutolinkExternalLink is an ExternalLink which is an AbstractLink which does change the original tag. Namely, when applied to something that is not <a> it adds an onclick attribute. This leads to something like the following:
> {code}
> <img src="does-not-exist.png" onclick="window.location.href=&#039;does-not-exist.png&#039;;return false;"/>
> {code}
> ...which is clearly nonsensical. This can happen when the referenced image is not in the classpath - it could either be missing, or it could be in the webapp root somewhere, which can be the case for some legacy applications. (This is how I came across this.)
> A simple fix appears to be to use a plain WebMarkupContainer in place of this particular AutolinkExternalLink. All tests pass when I do that.
> This affects all versions from 1.5 on upward. I'll prepare a pull request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)