On Monday, January 5, 2015 2:52:55 PM UTC+1, Andrea Marchesini wrote:
> Hi all,
> 
> I just landed RequestSync API, an API for b2g only that allows apps to 
> schedule tasks.
> 
> Here the webIDL:
> 
> https://hg.mozilla.org/integration/mozilla-inbound/file/f60d4ad64070/dom/webidl/RequestSyncScheduler.webidl
> 
> 
> A simple example is this:
> 
> 
>     navigator.sync.register('foobar', { minInterval: 2,
>                                          oneShot: true,
>                                          data: 42,
>                                          wifiOnly: false,
>                                          wakeUpPage: location.href }).then(
>     function() {
>       ok(true, "navigator.sync.register() oneShot done");
>       ...
>     }, genericError);
> 
> 
>   navigator.mozSetMessageHandler('request-sync', function(e) {
>       ok(true, "One event has been received!");
>       is (e.task, "foobar");
>       ...
>   });
> 
> 
> The params are:
> 
> 1. minInterval - in seconds. It can happen that this operation will be 
> scheduled with a bigger interval.
> 
> 2. oneShot - true/false, similar to setInterval/setTimeout.
> 
> 3. data: whatever you want to pass to the message handler.
> 
> 4. wifiOnly: if true, the task will not scheduled if wifi is not active
> 
> 5. wakeUpPage: the page that will receive the system message.
> 
> 
> 
> We also have a 'setting' API accessible only if the app has the 
> 'requestsync-manager' permission.
> 
> This is the webIDL:
> 
> https://hg.mozilla.org/integration/mozilla-inbound/file/f60d4ad64070/dom/webidl/RequestSyncManager.webidl
> 
> 
> With this API the settings app can overwrite the policy and the minInterval 
> of any task of any app:
> 
> 
>   navigator.syncManager.registrations().then(
>     function(results) {
>       ...
>       results[0].setPolicy("wifiOnly", 123 /* minInterval */);
>     });
> 
> 
> More documentation (not up-to-date yet): https://etherpad.mozilla.org/syncAPI
> 
> 
> b

YES! YES! YES! Ok, this literally made my day. I was planning on working on it 
myself this week.

Anyway, is this built on top of mozAlarms? Because that is totally unreliable 
to fire events at exactly the same time I scheduled it. It's anywhere from 0s 
to 2 minutes late when the CPU is asleep.
_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g

Reply via email to