Movatterモバイル変換


[0]ホーム

URL:


Google Git
Sign in
chromium /chromium /src /refs/heads/main /. /ash /test_shell_delegate.h
blob: 027038d3c501a67279d8e943279f963a25a994be [file] [log] [blame] [edit]
// 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 ASH_TEST_SHELL_DELEGATE_H_
#define ASH_TEST_SHELL_DELEGATE_H_
#include<memory>
#include<optional>
#include<string>
#include<utility>
#include"ash/public/cpp/tab_strip_delegate.h"
#include"ash/shell_delegate.h"
#include"base/functional/callback.h"
#include"base/memory/raw_ptr.h"
#include"chromeos/ash/services/multidevice_setup/public/mojom/multidevice_setup.mojom.h"
#include"mojo/public/cpp/bindings/pending_receiver.h"
#include"services/network/test/test_shared_url_loader_factory.h"
#include"url/gurl.h"
classPrefService;
namespace ash{
classUserEducationDelegate;
classWindowState;
classTestShellDelegate:publicShellDelegate{
public:
TestShellDelegate();
TestShellDelegate(constTestShellDelegate&)=delete;
TestShellDelegate&operator=(constTestShellDelegate&)=delete;
~TestShellDelegate()override;
int open_feedback_dialog_call_count()const{
return open_feedback_dialog_call_count_;
}
// Allows tests to override the MultiDeviceSetup binding behavior for this
// TestShellDelegate.
usingMultiDeviceSetupBinder=base::RepeatingCallback<void(
mojo::PendingReceiver<multidevice_setup::mojom::MultiDeviceSetup>)>;
voidSetMultiDeviceSetupBinder(MultiDeviceSetupBinder binder){
multidevice_setup_binder_= std::move(binder);
}
// Allows tests to override the `UserEducationDelegate` creation behavior for
// this `TestShellDelegate`.
usingUserEducationDelegateFactory=
base::RepeatingCallback<std::unique_ptr<UserEducationDelegate>()>;
voidSetUserEducationDelegateFactory(UserEducationDelegateFactory factory){
user_education_delegate_factory_= std::move(factory);
}
// Allows tests to override and mock `SendSpecializedFeatureFeedback`.
// For example:
// base::MockCallback<
// TestShellDelegate::SendSpecializedFeatureFeedbackCallback> cb;
// EXPECT_CALL(cb, Run(_, kProductId, _, _, _));
// shell_delegate.SetSendSpecializedFeatureFeedbackCallback(cb.Get());
usingSendSpecializedFeatureFeedbackCallback=
base::RepeatingCallback<bool(constAccountId& account_id,
int product_id,
std::string description,
std::optional<std::string> image,
std::optional<std::string> image_mime_type)>;
voidSetSendSpecializedFeatureFeedbackCallback(
SendSpecializedFeatureFeedbackCallback cb){
send_specialized_feature_feedback_callback_= std::move(cb);
}
// Overridden from ShellDelegate:
boolCanShowWindowForUser(const aura::Window* window)constoverride;
std::unique_ptr<CaptureModeDelegate>CreateCaptureModeDelegate(
PrefService* local_state)constoverride;
std::unique_ptr<ClipboardHistoryControllerDelegate>
CreateClipboardHistoryControllerDelegate()constoverride;
std::unique_ptr<CoralDelegate>CreateCoralDelegate()constoverride;
std::unique_ptr<GameDashboardDelegate>CreateGameDashboardDelegate()
constoverride;
std::unique_ptr<AcceleratorPrefsDelegate>CreateAcceleratorPrefsDelegate()
constoverride;
AccessibilityDelegate*CreateAccessibilityDelegate()override;
std::unique_ptr<BackGestureContextualNudgeDelegate>
CreateBackGestureContextualNudgeDelegate(
BackGestureContextualNudgeController* controller)override;
std::unique_ptr<MediaNotificationProvider>CreateMediaNotificationProvider()
override;
std::unique_ptr<NearbyShareDelegate>CreateNearbyShareDelegate(
NearbyShareController* controller)constoverride;
std::unique_ptr<SavedDeskDelegate>CreateSavedDeskDelegate()constoverride;
std::unique_ptr<SystemSoundsDelegate>CreateSystemSoundsDelegate()
constoverride;
std::unique_ptr<api::TasksDelegate>CreateTasksDelegate()constoverride;
std::unique_ptr<TabStripDelegate>CreateTabStripDelegate()constoverride;
std::unique_ptr<FocusModeDelegate>CreateFocusModeDelegate()constoverride;
std::unique_ptr<UserEducationDelegate>CreateUserEducationDelegate()
constoverride;
std::unique_ptr<ash::ScannerDelegate>CreateScannerDelegate()constoverride;
scoped_refptr<network::SharedURLLoaderFactory>
GetBrowserProcessUrlLoaderFactory()constoverride;
boolCanGoBack(gfx::NativeWindow window)constoverride;
voidSetTabScrubberEnabled(bool enabled)override;
boolShouldWaitForTouchPressAck(gfx::NativeWindow window)override;
intGetBrowserWebUITabStripHeight()override;
voidOpenMultitaskingSettings()override;
voidBindMultiDeviceSetup(
mojo::PendingReceiver<multidevice_setup::mojom::MultiDeviceSetup>
receiver)override;
boolIsSessionRestoreInProgress()constoverride;
voidSetUpEnvironmentForLockedFullscreen(
constWindowState& window_state)override{}
const GURL&GetLastCommittedURLForWindowIfAny(aura::Window* window)override;
voidForceSkipWarningUserOnClose(
const std::vector<raw_ptr<aura::Window,VectorExperimental>>& windows)
override{}
voidSetCanGoBack(bool can_go_back);
voidSetShouldWaitForTouchAck(bool should_wait_for_touch_ack);
voidSetSessionRestoreInProgress(bool in_progress);
boolIsLoggingRedirectDisabled()constoverride;
base::FilePathGetPrimaryUserDownloadsFolder()constoverride;
voidOpenFeedbackDialog(FeedbackSource source,
const std::string& description_template,
const std::string& category_tag)override;
boolSendSpecializedFeatureFeedback(
constAccountId& account_id,
int product_id,
std::string description,
std::optional<std::string> image,
std::optional<std::string> image_mime_type)override;
voidOpenProfileManager()override{}
voidSetLastCommittedURLForWindow(const GURL& url);
version_info::ChannelGetChannel()override;
std::stringGetVersionString()override;
void set_channel(version_info::Channel channel){ channel_= channel;}
void set_version_string(const std::string&string){
version_string_=string;
}
private:
// True if the current top window can go back.
bool can_go_back_=true;
// True if the tab scrubber is enabled.
bool tab_scrubber_enabled_=true;
// True if when performing back gesture on the top window, we should handle
// the event after the touch ack is received. Please refer to
// |BackGestureEventHandler::should_wait_for_touch_ack_| for detailed
// description.
bool should_wait_for_touch_ack_=false;
// True if window browser sessions are restoring.
bool session_restore_in_progress_=false;
MultiDeviceSetupBinder multidevice_setup_binder_;
UserEducationDelegateFactory user_education_delegate_factory_;
SendSpecializedFeatureFeedbackCallback
send_specialized_feature_feedback_callback_;
scoped_refptr<network::TestSharedURLLoaderFactory> url_loader_factory_;
GURL last_committed_url_;
version_info::Channel channel_= version_info::Channel::UNKNOWN;
std::string version_string_;
int open_feedback_dialog_call_count_=0;
};
}// namespace ash
#endif// ASH_TEST_SHELL_DELEGATE_H_

[8]ページ先頭

©2009-2025 Movatter.jp