Bug 1373888 - part2 : remove the timer which was used for b2g.
The timer was added for the b2g issue, now we can remove it.
MozReview-Commit-ID: BNjIghImCzC
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -4160,64 +4160,29 @@ HTMLMediaElement::WakeLockBoolWrapper::o
return *this;
}
mValue = val;
UpdateWakeLock();
return *this;
}
-HTMLMediaElement::WakeLockBoolWrapper::~WakeLockBoolWrapper()
-{
- if (mTimer) {
- mTimer->Cancel();
- }
-}
-
void
HTMLMediaElement::WakeLockBoolWrapper::UpdateWakeLock()
{
MOZ_ASSERT(NS_IsMainThread());
-
- if (!mOuter) {
- return;
- }
+ MOZ_ASSERT(mOuter);
bool playing = !mValue;
if (playing) {
- if (mTimer) {
- mTimer->Cancel();
- mTimer = nullptr;
- }
mOuter->WakeLockCreate();
- } else if (!mTimer) {
- // Don't release the wake lock immediately; instead, release it after a
- // grace period.
- int timeout = Preferences::GetInt("media.wakelock_timeout", 2000);
- mTimer = do_CreateInstance("@mozilla.org/timer;1");
- if (mTimer) {
- mTimer->SetTarget(mOuter->MainThreadEventTarget());
- mTimer->InitWithNamedFuncCallback(
- TimerCallback,
- this,
- timeout,
- nsITimer::TYPE_ONE_SHOT,
- "dom::HTMLMediaElement::WakeLockBoolWrapper::UpdateWakeLock");
- }
- }
-}
-
-void
-HTMLMediaElement::WakeLockBoolWrapper::TimerCallback(nsITimer* aTimer,
- void* aClosure)
-{
- WakeLockBoolWrapper* wakeLock = static_cast<WakeLockBoolWrapper*>(aClosure);
- wakeLock->mOuter->WakeLockRelease();
- wakeLock->mTimer = nullptr;
+ } else {
+ mOuter->WakeLockRelease();
+ }
}
void
HTMLMediaElement::WakeLockCreate()
{
if (!mWakeLock) {
RefPtr<power::PowerManagerService> pmService =
power::PowerManagerService::GetInstance();
--- a/dom/html/HTMLMediaElement.h
+++ b/dom/html/HTMLMediaElement.h
@@ -816,34 +816,31 @@ protected:
class WakeLockBoolWrapper {
public:
explicit WakeLockBoolWrapper(bool val = false)
: mValue(val)
, mOuter(nullptr)
{}
- ~WakeLockBoolWrapper();
+ ~WakeLockBoolWrapper() {};
void SetOuter(HTMLMediaElement* outer) { mOuter = outer; }
MOZ_IMPLICIT operator bool() const { return mValue; }
WakeLockBoolWrapper& operator=(bool val);
bool operator !() const { return !mValue; }
- static void TimerCallback(nsITimer* aTimer, void* aClosure);
-
private:
void UpdateWakeLock();
bool mValue;
HTMLMediaElement* mOuter;
- nsCOMPtr<nsITimer> mTimer;
};
// Holds references to the DOM wrappers for the MediaStreams that we're
// writing to.
struct OutputMediaStream {
OutputMediaStream();
~OutputMediaStream();
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -344,19 +344,16 @@ pref("media.throttle-factor", 2);
// readahead_limit if the download is fast. This pref toggles the "and the
// download is fast" check off, so that we can always throttle the download
// once the readaheadd limit is reached even on a slow network.
pref("media.throttle-regardless-of-download-rate", false);
// Master HTML5 media volume scale.
pref("media.volume_scale", "1.0");
-// Timeout for wakelock release
-pref("media.wakelock_timeout", 2000);
-
// Whether we should play videos opened in a "video document", i.e. videos
// opened as top-level documents, as opposed to inside a media element.
pref("media.play-stand-alone", true);
pref("media.hardware-video-decoding.enabled", true);
pref("media.hardware-video-decoding.force-enabled", false);
#ifdef MOZ_FMP4