1 // Copyright 2016 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "third_party/blink/renderer/core/fullscreen/scoped_allow_fullscreen.h" 6 7 #include "third_party/blink/renderer/platform/wtf/assertions.h" 8 #include "third_party/blink/renderer/platform/wtf/wtf.h" 9 10 namespace blink { 11 12 base::Optional<ScopedAllowFullscreen::Reason> ScopedAllowFullscreen::reason_; 13 ScopedAllowFullscreen(Reason reason)14ScopedAllowFullscreen::ScopedAllowFullscreen(Reason reason) { 15 DCHECK(IsMainThread()); 16 previous_reason_ = reason_; 17 reason_ = reason; 18 } 19 ~ScopedAllowFullscreen()20ScopedAllowFullscreen::~ScopedAllowFullscreen() { 21 DCHECK(IsMainThread()); 22 reason_ = previous_reason_; 23 } 24 25 // static 26 base::Optional<ScopedAllowFullscreen::Reason> FullscreenAllowedReason()27ScopedAllowFullscreen::FullscreenAllowedReason() { 28 DCHECK(IsMainThread()); 29 return reason_; 30 } 31 32 } // namespace blink 33