> Given the reason above, we can move the functional part to hal but still provide the interface.
Sounds good.
> Should we care whether the page is invisible or not? I think the app should do the housekeeping by
> itself, acquire lock onload and possibly release the lock when it becomes invisible.
Yes, an app *should* do that. But we can't rely on it.
> For example the Music app might want to keep the audio and cpu on when it is running in the
> background or even when the screen is turned off.
Right, and we should allow that. On the other hand, a reader app (or any other app) should not be able to keep the screen on if it's in the background, right?
> Given the reason above, we can move the functional part to hal but still provide the interface.
Sounds good.
> Should we care whether the page is invisible or not? I think the app should do the housekeeping by
> itself, acquire lock onload and possibly release the lock when it becomes invisible.
Yes, an app *should* do that. But we can't rely on it.
> For example the Music app might want to keep the audio and cpu on when it is running in the
> background or even when the screen is turned off.
Right, and we should allow that. On the other hand, a reader app (or any other app) should not be able to keep the screen on if it's in the background, right?