Bug 1285802 - Always add listener when orientation locked. r?sebastian
When remove fullscreenchange listener, mFullScreenListener doesn't
assign to nullptr. But the listener only been added when
mFullScreenListener is null.
MozReview-Commit-ID: 1qn72ix7z9Q
--- a/dom/base/ScreenOrientation.cpp
+++ b/dom/base/ScreenOrientation.cpp
@@ -363,18 +363,21 @@ ScreenOrientation::LockDeviceOrientation
return false;
}
if (NS_WARN_IF(!hal::LockScreenOrientation(aOrientation))) {
return false;
}
// We are fullscreen and lock has been accepted.
- if (aIsFullScreen && !mFullScreenListener) {
- mFullScreenListener = new FullScreenEventListener();
+ if (aIsFullScreen) {
+ if (!mFullScreenListener) {
+ mFullScreenListener = new FullScreenEventListener();
+ }
+
aRv = target->AddSystemEventListener(NS_LITERAL_STRING("fullscreenchange"),
mFullScreenListener, /* useCapture = */ true);
if (NS_WARN_IF(aRv.Failed())) {
return false;
}
}
return true;