Comment on attachment 8419908
Implement WakeLockListener on Linux to disable screensaver while video is
playing
>+NS_IMPL_ISUPPORTS1(WakeLockListener, nsIDOMMozWakeLockListener)
Will need to remove the '1' here now.
>+ dbus_pending_call_set_notify(reply, &ReceiveInhibitReply, this,
NULL);
|this| needs to stay alive until the reply is received, and I assume that may
be after the power manager service is deleted.
There are probably several ways to handle this: perhaps add a reference to the
WakeLockListener, and remove in free_user_data; or make the WakeLockListener a
singleton and check that it still exists in ReceiveInhibitReply().
>+ DBusError err;
>+ dbus_error_init(&err);
This should be freed if set, but easier is to just pass nullptr.
>+WakeLockTopic::InhibitScreensaver()
>+{
>+ NS_ASSERTION(!mShouldInhibit, "Screensaver is already inhibited");
>+WakeLockTopic::UninhibitScreensaver()
>+{
>+ if (!mShouldInhibit) {
>+ // Screensaver isn't inhibited. Nothing to do here.
>+ return NS_OK;
Could this instead assert that this path is not reached, as in
InhibitScreensaver()?
>+ nsClassHashtable<nsStringHashKey, WakeLockTopic> mTopics;
Topics are never removed from this hashtable (until shutdown). Is there a
small finite sized set of topics? Please add a comment stating this
assumption.
>+ virtual ~WakeLockListener() MOZ_FINAL;
By moving the MOZ_FINAL to the class definition, this destructor need not be
virtual.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/434476
Title:
screensaver starts while playing HTML5 videos
To manage notifications about this bug go to:
https://bugs.launchpad.net/firefox/+bug/434476/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs