1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_ASH_SHELL_DELEGATE_CHROME_SHELL_DELEGATE_H_
#define CHROME_BROWSER_UI_ASH_SHELL_DELEGATE_CHROME_SHELL_DELEGATE_H_
#include <memory>
#include <string>
#include "ash/public/cpp/tab_strip_delegate.h"
#include "ash/shell_delegate.h"
#include "base/functional/callback_forward.h"
#include "base/memory/raw_ptr.h"
#include "url/gurl.h"
class PrefService;
namespace ash {
class WindowState;
}
class ChromeShellDelegate : public ash::ShellDelegate {
public:
ChromeShellDelegate();
ChromeShellDelegate(const ChromeShellDelegate&) = delete;
ChromeShellDelegate& operator=(const ChromeShellDelegate&) = delete;
~ChromeShellDelegate() override;
// ash::ShellDelegate:
bool CanShowWindowForUser(const aura::Window* window) const override;
std::unique_ptr<ash::CaptureModeDelegate> CreateCaptureModeDelegate(
PrefService* local_state) const override;
std::unique_ptr<ash::ClipboardHistoryControllerDelegate>
CreateClipboardHistoryControllerDelegate() const override;
std::unique_ptr<ash::CoralDelegate> CreateCoralDelegate() const override;
std::unique_ptr<ash::GameDashboardDelegate> CreateGameDashboardDelegate()
const override;
std::unique_ptr<ash::AcceleratorPrefsDelegate>
CreateAcceleratorPrefsDelegate() const override;
ash::AccessibilityDelegate* CreateAccessibilityDelegate() override;
std::unique_ptr<ash::BackGestureContextualNudgeDelegate>
CreateBackGestureContextualNudgeDelegate(
ash::BackGestureContextualNudgeController* controller) override;
std::unique_ptr<ash::MediaNotificationProvider>
CreateMediaNotificationProvider() override;
std::unique_ptr<ash::NearbyShareDelegate> CreateNearbyShareDelegate(
ash::NearbyShareController* controller) const override;
std::unique_ptr<ash::SavedDeskDelegate> CreateSavedDeskDelegate()
const override;
std::unique_ptr<ash::SystemSoundsDelegate> CreateSystemSoundsDelegate()
const override;
std::unique_ptr<ash::TabStripDelegate> CreateTabStripDelegate()
const override;
std::unique_ptr<ash::api::TasksDelegate> CreateTasksDelegate() const override;
std::unique_ptr<ash::FocusModeDelegate> CreateFocusModeDelegate()
const override;
std::unique_ptr<ash::UserEducationDelegate> CreateUserEducationDelegate()
const override;
std::unique_ptr<ash::ScannerDelegate> CreateScannerDelegate() const override;
scoped_refptr<network::SharedURLLoaderFactory>
GetBrowserProcessUrlLoaderFactory() const override;
void OpenKeyboardShortcutHelpPage() const override;
bool CanGoBack(gfx::NativeWindow window) const override;
void SetTabScrubberEnabled(bool enabled) override;
bool AllowDefaultTouchActions(gfx::NativeWindow window) override;
bool ShouldWaitForTouchPressAck(gfx::NativeWindow window) override;
bool IsTabDrag(const ui::OSExchangeData& drop_data) override;
int GetBrowserWebUITabStripHeight() override;
void BindFingerprint(
mojo::PendingReceiver<device::mojom::Fingerprint> receiver) override;
void BindMultiDeviceSetup(
mojo::PendingReceiver<ash::multidevice_setup::mojom::MultiDeviceSetup>
receiver) override;
media_session::MediaSessionService* GetMediaSessionService() override;
bool IsSessionRestoreInProgress() const override;
void SetUpEnvironmentForLockedFullscreen(
const ash::WindowState& window_state) override;
bool IsUiDevToolsStarted() const override;
void StartUiDevTools() override;
void StopUiDevTools() override;
int GetUiDevToolsPort() const override;
bool IsLoggingRedirectDisabled() const override;
base::FilePath GetPrimaryUserDownloadsFolder() const override;
void OpenFeedbackDialog(ShellDelegate::FeedbackSource source,
const std::string& description_template,
const std::string& category_tag) override;
bool SendSpecializedFeatureFeedback(
const AccountId& account_id,
int product_id,
std::string description,
std::optional<std::string> image,
std::optional<std::string> image_mime_type) override;
void OpenProfileManager() override;
static void SetDisableLoggingRedirectForTesting(bool value);
static void ResetDisableLoggingRedirectForTesting();
const GURL& GetLastCommittedURLForWindowIfAny(aura::Window* window) override;
version_info::Channel GetChannel() override;
void ForceSkipWarningUserOnClose(
const std::vector<raw_ptr<aura::Window, VectorExperimental>>& windows)
override;
std::string GetVersionString() override;
void OpenMultitaskingSettings() override;
bool IsNoFirstRunSwitchOn() const override;
};
#endif // CHROME_BROWSER_UI_ASH_SHELL_DELEGATE_CHROME_SHELL_DELEGATE_H_
|