DIRECT LISTENER:

LISTENER IN CHILD FRAME:

                                         Chrome               Firefox             Safari               IE9             Conclusion
 Event listener on element in frame
   window.open
     immediate                       -   inner                inner               inner                inner           inner!
     setTimeout
       function                      -   inner                inner               inner                inner           inner!
       window.open                   -   inner                inner               inner                fail            inner
     parent.setTimeout
       function                      -   outer                inner               inner                inner           inner?
       window.open                   -   outer                inner               outer                fail            ...
   parent.open
     immediate                       -   inner                inner               inner                inner           inner!
     setTimeout
       function                      -   inner                inner               inner                inner           inner!
       parent.function               -   inner                outer               outer                outer           outer?
       parent.open                   -   inner                outer               inner                fail            ...
     parent.setTimeout
       function                      -   outer                inner               inner                inner           inner?
       parent.open                   -   outer                outer               outer                fail            outer

 Event listener on element in outer page
   window.open
     immediate                       -   outer                outer               outer                outer           outer!
     setTimeout
       function                      -   inner                inner               inner                inner           inner!
       window.open                   -   inner                inner               inner                fail            inner
     parent.setTimeout
       function                      -   outer                inner               inner                inner           inner?
       window.open                   -   outer                inner               outer                fail            ...
   parent.open
     immediate                       -   outer                outer               outer                outer           outer!
     setTimeout
       function                      -   inner                inner               inner                inner           inner!
       parent.function               -   inner                outer               outer                outer           outer?
       parent.open                   -   inner                outer               inner                fail            ...
     parent.setTimeout
       function                      -   outer                inner               inner                inner           inner?
       parent.open                   -   outer                outer               outer                fail            outer

 Event listener is script in inner frame attached to element in outer page
   window.open
     immediate                       -   outer                outer               outer                fail            outer
     setTimeout
       function                      -   inner                inner               inner                fail            inner
       window.open                   -   inner                inner               inner                fail            inner
     parent.setTimeout
       function                      -   outer                inner               inner                fail            ...
       window.open                   -   outer                inner               outer                fail            ...
   parent.open
     immediate                       -   outer                outer               outer                fail            outer
     setTimeout
       function                      -   inner                inner               inner                fail            inner
       parent.function               -   inner                outer               outer                fail            ...
       parent.open                   -   inner                outer               inner                fail            ...
     parent.setTimeout
       function                      -   outer                inner               inner                fail            ...
       parent.open                   -   outer                outer               outer                fail            outer


CHROME:

 event handlers set the entry script settings object based on the
 element they fired on

 setTimeout adds an entry script settings object based on the global
 it was called on


FIREFOX:

 event handlers set the entry script settings object based on the
 element they fired on

 setTimeout adds an entry script settings object based on the object
 passed to it: if it's a script, then it's that script's settings
 object, otherwise, it's the settings object of the global from which
 the object comes


SAFARI:

 event handlers set the entry script settings object based on the
 element they fired on

 setTimeout adds an entry script settings object based on the object
 passed to it: if it's a script, then it's that script's settings
 object, otherwise, it's the settings object of the global from which
 the setTimeout comes


IE9:

 event handlers set the entry script settings object based on the
 element they fired on

 setTimeout adds an entry script settings object based on the object
 passed to it: if it's a script, then it's that script's settings
 object, otherwise, the timeout doesn't fire


CONCLUSION:

 event handlers set the entry script settings object based on the
 element they fired on

 setTimeout() adds an entry script settings object based on the object
 passed to it: if it's a script, then it's that script's settings
 object, otherwise it's the settings object of the global object
 relating to object passed to setTimeout.