[
https://issues.apache.org/jira/browse/CB-1388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shazron Abdullah updated CB-1388:
---------------------------------
Fix Version/s: (was: 2.3.0)
2.4.0
> Add reset() to plugin API and fix callback collisions on all platforms
> ----------------------------------------------------------------------
>
> Key: CB-1388
> URL: https://issues.apache.org/jira/browse/CB-1388
> Project: Apache Cordova
> Issue Type: Bug
> Components: Bada, BlackBerry, CordovaJS, Qt, Tizen, webOS
> Affects Versions: 2.0.0
> Reporter: Braden Shepherdson
> Assignee: Braden Shepherdson
> Fix For: 2.4.0
>
>
> There are three parts to this bug.
> First, platform-specific: we should add a reset() function to the plugin API
> which is called on top-level navigation or refresh, so that plugins can know
> to cancel any long-running requests and reinitialize themselves. This won't
> be relevant to some platforms
> Second, platform-independent: the callback IDs generated on the Javascript
> side should be randomized in some way to prevent collisions after navigation.
> Otherwise a request might get the ID "Service1", and before it has a chance
> to complete we navigate and a new request is made, also receiving "Service1".
> Then the first response comes back and the new Service1 callback is handed
> the old results.
> Third, we should add a test for this to Mobile Spec, if possible. This is a
> tricky thing to reproduce reliably, unfortunately.
> I'll tackle the second and third parts, and Android for the first part. It
> would be great if people who work on other platforms would add the reset()
> logic, or close the platform bugs if the platform is all-Javascript and fully
> reloaded on navigation.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira