#include "third_party/blink/renderer/modules/screen_orientation/screen_orientation_controller.h"
#include <memory>
#include <tuple>
#include "base/memory/raw_ptr.h"
#include "mojo/public/cpp/bindings/associated_remote.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/web/web_local_frame.h"
#include "third_party/blink/renderer/core/frame/frame_test_helpers.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/web_frame_widget_impl.h"
#include "third_party/blink/renderer/core/frame/web_local_frame_impl.h"
#include "third_party/blink/renderer/core/testing/page_test_base.h"
#include "third_party/blink/renderer/modules/screen_orientation/screen_orientation.h"
#include "third_party/blink/renderer/modules/screen_orientation/web_lock_orientation_callback.h"
#include "third_party/blink/renderer/platform/mojo/heap_mojo_associated_remote.h"
#include "third_party/blink/renderer/platform/testing/unit_test_helpers.h"
#include "third_party/blink/renderer/platform/testing/url_test_helpers.h"
#include "third_party/blink/renderer/platform/wtf/hash_map.h"
namespace blink {
LockOrientationCallback;
LockResult;
class MockLockOrientationCallback : public blink::WebLockOrientationCallback { … };
class ScreenOrientationControllerTest : public PageTestBase { … };
TEST_F(ScreenOrientationControllerTest, CancelPending_Unlocking) { … }
TEST_F(ScreenOrientationControllerTest, CancelPending_DoubleLock) { … }
TEST_F(ScreenOrientationControllerTest, LockRequest_Error) { … }
TEST_F(ScreenOrientationControllerTest, LockRequest_Success) { … }
TEST_F(ScreenOrientationControllerTest, RaceScenario) { … }
class ScreenInfoWebFrameWidget : public frame_test_helpers::TestWebFrameWidget { … };
TEST_F(ScreenOrientationControllerTest, PageVisibilityCrash) { … }
TEST_F(ScreenOrientationControllerTest,
OrientationChangePropagationToGrandchild) { … }
}