Bug 1285802 - Always add listener when orientation locked. r?sebastian draft
authorjwu <topwu.tw@gmail.com>
Tue, 27 Dec 2016 11:23:01 +0800
changeset 453979 7b793ba479071563efb3a35bb9def96a908b186d
parent 453923 1747e26ee37ba134c34b77b8e9099ab0e2cf2fd9
child 540575 d3b239fb50433a4ce639b7be6e03ca0ff995deab
push id39786
push userbmo:topwu.tw@gmail.com
push dateTue, 27 Dec 2016 03:24:52 +0000
reviewerssebastian
bugs1285802
milestone53.0a1
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
dom/base/ScreenOrientation.cpp
--- 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;