- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Fri, 26 Oct 2007 09:35:15 -0700
- To: David Woolley <forums@david-woolley.me.uk>
- CC: "www-style@w3.org" <www-style@w3.org>
David Woolley wrote: > > Andrew Fedoniouk wrote: >> >> >> Ian Hickson wrote: >>> On Thu, 25 Oct 2007, Daniel Glazman wrote: >>> >>>> BTW, this raises an interesting question. Suppose we have >>>> >>>> binding: url(a) url(b); >>>> >>>> and resource a is unparsable. What's the computed value of 'binding' ? >>>> >>> >>> The computed value is, as far as I can tell, fully defined in the >>> draft and does not depend on the resource itself (it can be computed >>> without hitting the network). >>> >>> Let me know if you believe there is a hole in the spec that I have >>> missed, so I can fix it. >>> >>> Cheers, >>> >> Probably it is out of topic but I'll try.... >> >> Will it be possible to specify something like this in CSS: >> >> #some-id >> { >> bind: url(javascript:MyBehavior); > > I very much hope not, as one of the advantages of CSS is that it does > not have the power of a general programming language and is therefore > much less likely to provide access to security holes, and, at least in > principle, easier to analyze mechanically. Beg my pardon but why do you think that this line bind: url(javascript:MyBehavior); is less safe than say: bind: url(http://...MyBehavior.xul); -> MyBehavior.js ? CSS per se is not executing this line. It is JS statement and so is a business of existing JS environment to execute it. I mean that solution does not introduce any new security holes in principle. > > Incidentally, I wasn't aware that the javascript: scheme had been > officially approved. It's a major cause of javascript only pages, when > people use it in href rather than onclick. It also causes much > confusion, with the result that there are huge numbers of javascript > program fragments which start with the label javascript: which is never > the target of any goto. > I too who prefer 'bind' to accept just strings (not urls) but bind: url(...); may help to bring peace here. As it is more universal then it can be used for different kind of bindings - e.g. for htc or xul. The only thing I am asking is that all implementation shall include some form of 'local' binding mechanism: bind: url(javascript:MyBehavior); or just: bind: "MyBehavior"; This will allow to bind DOM elements with functions defined in script. -- Andrew Fedoniouk. http://terrainformatica.com
Received on Friday, 26 October 2007 16:36:53 UTC