#include "chrome/browser/ui/exclusive_access/pointer_lock_controller.h"
#include "base/functional/bind.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/exclusive_access/exclusive_access_context.h"
#include "chrome/browser/ui/exclusive_access/exclusive_access_manager.h"
#include "chrome/browser/ui/exclusive_access/exclusive_access_permission_manager.h"
#include "chrome/browser/ui/exclusive_access/fullscreen_controller.h"
#include "chrome/browser/ui/ui_features.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/render_widget_host.h"
#include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/web_contents.h"
RenderViewHost;
WebContents;
namespace {
constexpr base::TimeDelta kEffectiveUserEscapeDuration = …;
}
PointerLockController::PointerLockController(ExclusiveAccessManager* manager)
: … { … }
PointerLockController::~PointerLockController() = default;
bool PointerLockController::IsPointerLocked() const { … }
bool PointerLockController::IsPointerLockedSilently() const { … }
void PointerLockController::RequestToLockPointer(WebContents* web_contents,
bool user_gesture,
bool last_unlocked_by_target) { … }
void PointerLockController::ExitExclusiveAccessIfNecessary() { … }
void PointerLockController::NotifyTabExclusiveAccessLost() { … }
bool PointerLockController::HandleUserPressedEscape() { … }
void PointerLockController::HandleUserHeldEscape() { … }
void PointerLockController::HandleUserReleasedEscapeEarly() { … }
bool PointerLockController::RequiresPressAndHoldEscToExit() const { … }
void PointerLockController::ExitExclusiveAccessToPreviousState() { … }
void PointerLockController::UnlockPointer() { … }
void PointerLockController::LockPointer(
base::WeakPtr<content::WebContents> web_contents,
bool last_unlocked_by_target) { … }
void PointerLockController::RejectRequestToLockPointer(
base::WeakPtr<content::WebContents> web_contents) { … }
void PointerLockController::OnBubbleHidden(
WebContents* web_contents,
ExclusiveAccessBubbleHideReason reason) { … }
bool PointerLockController::ShouldSuppressBubbleReshowForStateChange() { … }