tree 5378ac4c33b7892627491cd0b180083a248c23bd
parent 4271adb2c44bd2c2e1ed632a060f3a9500fab28f
author Tim Barham <tim.barham@microsoft.com> 1438148406 +1000
committer Tim Barham <tim.barham@microsoft.com> 1438148406 +1000

CB-9426 Fix exception when using device orientation plugin on browser platform.

The plugin's plugin.xml defines a general <js-module> with the name 'compass'. It defines another <js-module> for the browser platform (that merges with the general module) with the same name. Modules with the same name is not allowed, so Cordova throws an exception at runtime when trying to define the browser version of the module.

Since the only difference in the browser version of the module is to fake up deviceorientation events, I've deleted the browser version and added that logic to the general module, with the following change: rather than starting a new event timer everytime watchHeading() is called (which could happen multiple times resulting in multiple superfluous timers), we have a single event timer going as long as there are active watchers.
