On Thu, Sep 10, 2009 at 12:46 AM, Aaron Boodman <[email protected]> wrote: > > On Thu, Sep 10, 2009 at 12:35 AM, Adam Barth<[email protected]> wrote: >> >> On Thu, Sep 10, 2009 at 12:31 AM, Aaron Boodman <[email protected]> wrote: >>> On Thu, Sep 10, 2009 at 12:22 AM, Adam Barth<[email protected]> wrote: >>>> It's interesting that this code sample uses the string form of >>>> setTimeout to inject script into the main world. Are we sure we want >>>> to change that to compile the string argument in the isolated world? >>> >>> That makes sense to me... what are you concerned about? >> >> This is purely an API design issue. Either choice is fine for >> security. If we change the string form of setTimeout from compiling >> in the main world to compiling in the isolated world, we should give >> folks a clean API for running scripts asynchronously in the main world >> instead of making them use JavaScript URLs or createElement("script"). > > I have no idea which people will want to do more commonly, but to me > it seems like we already have a primitive to execute script in the > main world. There's no need to have a separate primitive to do so > asynchronously when you can just make that by combining with > setTimeout. > >> My question is whether you'd still like me to make that change. > > Yes. > >> (Maybe laziness is tricking me into thinking it might be a good idea >> to leave as-is to enable use cases like in this thread.) > > I think the use case in this thread actually works better if the > script is compiled in the isolated world. > > Current code that is wrong: > > function stuff() { > setTimeout("someElement.click()", timeout); > stuff(); > } > > Obvious fix, but doesn't work today: > > function stuff() { > setTimeout("someElement.click(); stuff();", timeout); > } > > If we made setTimeout compile in the isolated world, the second > snippet would work.
I see, by adding prototype.js to the isolated world. Yeah ok. I'll stop being lazy and make this happen. Adam --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Chromium-extensions" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/chromium-extensions?hl=en -~----------~----~----~----~------~----~------~--~---
