<div class="gmail_quote">On Wed, Sep 9, 2009 at 10:01 PM, Robert O'Callahan <span dir="ltr"><<a href="mailto:robert@ocallahan.org">robert@ocallahan.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On Thu, Sep 10, 2009 at 4:57 PM, Darin Fisher <span dir="ltr"><<a href="mailto:darin@chromium.org" target="_blank">darin@chromium.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">

<div class="gmail_quote"><div>On Wed, Sep 9, 2009 at 9:43 PM, Robert O'Callahan <span dir="ltr"><<a href="mailto:robert@ocallahan.org" target="_blank">robert@ocallahan.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">


<div>On Thu, Sep 10, 2009 at 4:37 PM, Darin Fisher <span dir="ltr"><<a href="mailto:darin@chromium.org" target="_blank">darin@chromium.org</a>></span> wrote:<br></div><div class="gmail_quote"><div>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div><div></div> Imagine if you script a plugin inside the transaction, and before returning, the plugin scripts another window,<br></div></blockquote><div> </div></div><div>I'm curious, how common is that anyway? Can we just tell plugins not to do that, and abort any plugin that tries?<br>



</div></div><div><div></div><div><br></div></div></blockquote><div><br></div></div><div>I don't know.  Are you saying that a plugin should not be able to invoke a function that may trigger showModalDialog?  The code that calls showModalDialog may be far removed / unrelated to the plugin script.  It may just be an unfortunate side effect of invoking a method on a DOM window.</div>

<br></div></blockquote><div> </div></div></div></div>No, I'm saying when a script in window A calls into a plugin, the plugin should not be allowed to synchronously call back out to script in window B. I realize that is currently "allowed" (i.e. not forbidden by anything in NPAPI), but do plugins actually do it in practice?<div>
<div></div><div class="h5"><br clear="all"></div></div></blockquote><div><br></div><div><br></div><div>Yes, this is something that we have observed real plugins doing.  It is easy for a plugin to have references to multiple windows.  They also like to script the page in response to random NPP_ calls, like NPP_HandleEvent and NPP_SetWindow, which perhaps is not too surprising.  NPP_HandleEvent generally corresponds to input processing and painting for windowless plugins, and NPP_SetWindow corresponds to a resize event.</div>
<div><br></div><div>-Darin</div></div>