chromium/chrome/browser/ui/exclusive_access/keyboard_lock_controller.cc

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/ui/exclusive_access/keyboard_lock_controller.h"

#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/metrics/user_metrics.h"
#include "base/time/default_tick_clock.h"
#include "base/time/time.h"
#include "chrome/browser/ui/exclusive_access/exclusive_access_bubble_hide_callback.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/input/native_web_keyboard_event.h"
#include "content/public/browser/web_contents.h"
#include "ui/events/keycodes/keyboard_codes.h"

TimeTicks;
WebContents;

namespace {

// Amount of time the user must hold ESC to exit full screen.
constexpr base::TimeDelta kHoldEscapeTime =;

// Amount of time to look for ESC key presses to reshow the exit instructions.
constexpr base::TimeDelta kDefaultEscRepeatWindow =;

// Number of times ESC must be pressed within |kDefaultEscRepeatWindow| to
// trigger the exit instructions to be shown again.
constexpr int kEscRepeatCountToTriggerUiReshow =;

// Check whether `event` is a kRawKeyDown type and doesn't have non-stateful
// modifiers (i.e. shift, ctrl etc.).
bool IsUnmodifiedEscKeyDownEvent(const input::NativeWebKeyboardEvent& event) {}

}  // namespace

KeyboardLockController::KeyboardLockController(ExclusiveAccessManager* manager)
    :{}

KeyboardLockController::~KeyboardLockController() = default;

bool KeyboardLockController::HandleUserPressedEscape() {}

void KeyboardLockController::HandleUserHeldEscape() {}

void KeyboardLockController::HandleUserReleasedEscapeEarly() {}

bool KeyboardLockController::RequiresPressAndHoldEscToExit() const {}

void KeyboardLockController::ExitExclusiveAccessToPreviousState() {}

void KeyboardLockController::ExitExclusiveAccessIfNecessary() {}

void KeyboardLockController::NotifyTabExclusiveAccessLost() {}

bool KeyboardLockController::IsKeyboardLockActive() const {}

void KeyboardLockController::RequestKeyboardLock(WebContents* web_contents,
                                                 bool esc_key_locked) {}

bool KeyboardLockController::HandleKeyEvent(
    const input::NativeWebKeyboardEvent& event) {}

void KeyboardLockController::CancelKeyboardLockRequest(WebContents* tab) {}

void KeyboardLockController::LockKeyboard(
    base::WeakPtr<content::WebContents> web_contents,
    bool esc_key_locked) {}

void KeyboardLockController::UnlockKeyboard() {}

void KeyboardLockController::UnlockKeyboardForWebContents(
    base::WeakPtr<content::WebContents> web_contents) {}

void KeyboardLockController::HandleUserHeldEscapeDeprecated() {}

void KeyboardLockController::ReShowExitBubbleIfNeeded() {}