> On 2011-08-16 17:24:01, Henry Saputra wrote:
> > http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/core.util.onload/onload.js,
> >  line 47
> > <https://reviews.apache.org/r/1525/diff/1/?file=32902#file32902line47>
> >
> >     Why does the definition registerOnLoadHandler here?
> 
> Dan Dumont wrote:
>     It is redefined to immediately execute any onload callbacks.
>     
>     The sequence of events is:
>     1) Gadget starts loading and registers some onload.
>     2) Gadget fires an async operation that takes an unknown amount of time
>     3) Open Social api is ready and runOnLoadHandlers is called.
>     4) Gadget's async operation is done.  To be safe it uses 
> registerOnLoadHandler to make sure everything is all set (in case the async 
> operation beat the runOnLoadHandlers call)
>     
>     At this point, before the change, the call to registerOnLoadHandler would 
> never result in the callback being executed.
>     This change makes it so once runOnLoadHandlers is called, 
> registerOnLoadHandler executes the callback immediately.
> 
> Henry Saputra wrote:
>     In step 2, the async operation is called outside of the function 
> registered with registerOnLoadHandler?
>     
>     So in step 4, why would the gadget's async handler call 
> registerOnLoadHandler?

This is important with some of the changes in dojo 1.7 where the bootstrap may 
be very small and included in the gadget page but asynchronously load more code 
in.  When the application is ready, it should be able to rely on 
registerOnLoadHandler to provide them a means of executing gadget code safely.

Really, the gadget should be able to do any non-gadget-api async operations 
while the page is loading.  To sync everything back up, the gadget should be 
able to rely on registerOnLoadHandler executing their callbacks that rely on 
gadget-api operations so that we don't introduce race conditions.


- Dan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1525/#review1479
-----------------------------------------------------------


On 2011-08-17 15:18:59, Dan Dumont wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1525/
> -----------------------------------------------------------
> 
> (Updated 2011-08-17 15:18:59)
> 
> 
> Review request for shindig.
> 
> 
> Summary
> -------
> 
> If gadgets.util.registerOnLoadHandler was called after the runOnLoad 
> counterpart was called, the callback would sit in the array... forever alone.
> 
> 
> This addresses bug SHINDIG-1578.
>     https://issues.apache.org/jira/browse/SHINDIG-1578
> 
> 
> Diffs
> -----
> 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/core.util.onload/onload.js
>  1157211 
> 
> Diff: https://reviews.apache.org/r/1525/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Dan
> 
>

Reply via email to