Closed Bug 1041907 Opened 10 years ago Closed 10 years ago

[gonk1.3][SPRD]Music app is in the background and playing, long press home button and kill music , the playing icon on the statusbar doesn't dismiss immediately.

Categories

(Firefox OS Graveyard :: AudioChannel, defect, P2)

ARM
Gonk (Firefox OS)

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jinchao.wang, Unassigned)

Details

[gonk1.3][SPRD]Music app is in the background and playing, long press home button and kill music , the playing icon on the statusbar doesn't dismiss  immediately.Why the mozChromeEvent message with value of audio-channel-changed is sent Delayed.
Severity: normal → major
Priority: -- → P2
hi Fabrice,

May I ask is there any way that gecko can handle this situation? I'm not sure what is the exactly problem,  but I tried flame/buri/tarako/dolphin, only in-process app has this issue.
In status bar, it is listening on "audiochannelchange" event.
In OOP mode, when app is killed in card view, then gecko resource (audiochannel) will be released immediately. However in in-process mode, the resource will not be released immediately. But We can't decided when GC will be triggered to free the resource. Or can app listen other event to stop music when iframe is removed?

Thanks

Sincerely,
Wayne
Flags: needinfo?(fabrice)
Wayne, the system app knows when in process frames are removed, since they are never killed by the LMK. So we can try something like: when the system app removes an inprocess iframe from the DOM, it sends a mozContentEvent to shell.js, and shell.js can trigger a forced GC. Do you think you can write this patch or do you need help?
Flags: needinfo?(fabrice)
also, in the in-proc case, we should be able to listen to the unload() event in the app right? Can we force close the channel here?
(In reply to Fabrice Desré [:fabrice] from comment #3)
> also, in the in-proc case, we should be able to listen to the unload() event
> in the app right? Can we force close the channel here?

Luke did the test but unfortunately the unload event isn't fired even in the in-proc case. :(
just close
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.