blob: 9365bdf6f82c289c221e78a86e07e1e61773b465 [file] [log] [blame]
// Copyright 2021 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_WEB_APPLICATIONS_TEST_MOCK_OS_INTEGRATION_MANAGER_H_
#define CHROME_BROWSER_WEB_APPLICATIONS_TEST_MOCK_OS_INTEGRATION_MANAGER_H_
#include <memory>
#include "chrome/browser/web_applications/os_integration/os_integration_manager.h"
#include "chrome/browser/web_applications/web_app_constants.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace web_app {
class WebAppProtocolHandlerManager;
class MockOsIntegrationManager : public OsIntegrationManager {
public:
MockOsIntegrationManager();
explicit MockOsIntegrationManager(
std::unique_ptr<WebAppProtocolHandlerManager> protocol_handler_manager);
~MockOsIntegrationManager() override;
void SetSubsystems(WebAppSyncBridge* sync_bridge,
WebAppRegistrar* registrar,
WebAppUiManager* ui_manager,
WebAppIconManager* icon_manager) override {}
void Start() override {}
// Installation:
MOCK_METHOD(void,
Synchronize,
(const AppId& app_id,
base::OnceClosure callback,
absl::optional<SynchronizeOsOptions> options),
(override));
MOCK_METHOD(void,
CreateShortcuts,
(const AppId& app_id,
bool add_to_desktop,
ShortcutCreationReason reason,
CreateShortcutsCallback callback),
(override));
MOCK_METHOD(void,
RegisterFileHandlers,
(const AppId& app_id, ResultCallback callback),
(override));
MOCK_METHOD(void,
RegisterProtocolHandlers,
(const AppId& app_id, ResultCallback callback),
(override));
MOCK_METHOD(void,
RegisterUrlHandlers,
(const AppId& app_id, ResultCallback callback),
(override));
MOCK_METHOD(void,
RegisterShortcutsMenu,
(const AppId& app_id,
const std::vector<WebAppShortcutsMenuItemInfo>&
shortcuts_menu_item_infos,
const ShortcutsMenuIconBitmaps& shortcuts_menu_icon_bitmaps,
ResultCallback callback),
(override));
MOCK_METHOD(void,
ReadAllShortcutsMenuIconsAndRegisterShortcutsMenu,
(const AppId& app_id, ResultCallback callback),
(override));
MOCK_METHOD(void,
RegisterRunOnOsLogin,
(const AppId& app_id, ResultCallback callback),
(override));
MOCK_METHOD(void,
MacAppShimOnAppInstalledForProfile,
(const AppId& app_id),
(override));
MOCK_METHOD(void, AddAppToQuickLaunchBar, (const AppId& app_id), (override));
MOCK_METHOD(void,
RegisterWebAppOsUninstallation,
(const AppId& app_id, const std::string& name),
(override));
// Uninstallation:
MOCK_METHOD(void,
UninstallAllOsHooks,
(const AppId& app_id, UninstallOsHooksCallback callback),
(override));
MOCK_METHOD(bool,
UnregisterShortcutsMenu,
(const AppId& app_id, ResultCallback callback),
(override));
MOCK_METHOD(void,
UnregisterRunOnOsLogin,
(const AppId& app_id, ResultCallback callback),
(override));
MOCK_METHOD(void,
DeleteShortcuts,
(const AppId& app_id,
const base::FilePath& shortcuts_data_dir,
std::unique_ptr<ShortcutInfo> shortcut_info,
ResultCallback callback),
(override));
MOCK_METHOD(void,
UnregisterFileHandlers,
(const AppId& app_id, ResultCallback callback),
(override));
MOCK_METHOD(void,
UnregisterProtocolHandlers,
(const AppId& app_id, ResultCallback callback),
(override));
MOCK_METHOD(void, UnregisterUrlHandlers, (const AppId& app_id), (override));
MOCK_METHOD(void,
UnregisterWebAppOsUninstallation,
(const AppId& app_id),
(override));
// Update:
MOCK_METHOD(void,
UpdateShortcuts,
(const AppId& app_id,
base::StringPiece old_name,
ResultCallback callback),
(override));
// Utility methods:
MOCK_METHOD(std::unique_ptr<ShortcutInfo>,
BuildShortcutInfo,
(const AppId& app_id),
(override));
};
} // namespace web_app
#endif // CHROME_BROWSER_WEB_APPLICATIONS_TEST_MOCK_OS_INTEGRATION_MANAGER_H_