[ 
https://issues.apache.org/jira/browse/SHINDIG-410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12611876#action_12611876
 ] 

John Hjelmstad commented on SHINDIG-410:
----------------------------------------

Re-tested on IE6, Safari3, FF2, FF3, Opera9. All seem to work fine. Submitting 
the patch... I'd be happy to write up some gadgets.rpc documentation in an 
external doc page soon. Please don't hesitate to let me know if anyone finds 
quirks associated with this patch -- this stuff is notoriously difficult to 
test reliably.

> Refactor gadgets.rpc for cleaner handling of transport types
> ------------------------------------------------------------
>
>                 Key: SHINDIG-410
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-410
>             Project: Shindig
>          Issue Type: Improvement
>          Components: Features (Javascript)
>         Environment: All
>            Reporter: John Hjelmstad
>            Assignee: John Hjelmstad
>         Attachments: rpc.refactor.patch
>
>
> [repurposing this bug as refactoring-only]
> Joey Schorr and I have created the attached patch to features/rpc/rpc.js, 
> which refactors rpc.js in various ways but changes no semantics. The goal is 
> to make reading of the code more straightforward, and especially to clearly 
> separate code paths that have to do with the various message passing 
> transport mechanisms (frameElement, IFPC, WPM/DPM). This makes it easier to 
> add new transports. It may also, in the future, enable us to serve only one 
> transport class appropriate to a given browser on the server side, minimizing 
> response size, but for now is just cleanup.
> Details:
> * Created constants for the default callback and callback service IDs
> * Added extensive documentation on each transport mechanism in the selection 
> method getRelayChannel()
> * Created setupChannel(), setupFrame(), and callX() methods for 
> transport-specific functionality.
>   - setupChannel() performs global initialization of the transport
>   - setupFrame() adds any setup associated with setting authToken on a frame
>   - callX() methods perform actual message passing
> The attached patch (rpc.refactor.patch) is derived from an earlier, larger 
> one that also included a new transport mechanism for IE only. That 
> functionality will be moved to a new JIRA issue with a separate patch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to