chromium/components/app_restore/full_restore_utils.cc

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

#include "components/app_restore/full_restore_utils.h"

#include "base/files/file_path.h"
#include "components/app_restore/app_launch_info.h"
#include "components/app_restore/app_restore_info.h"
#include "components/app_restore/desk_template_read_handler.h"
#include "components/app_restore/features.h"
#include "components/app_restore/full_restore_read_handler.h"
#include "components/app_restore/full_restore_save_handler.h"
#include "components/app_restore/window_info.h"

namespace full_restore {

void SaveAppLaunchInfo(
    const base::FilePath& profile_path,
    std::unique_ptr<app_restore::AppLaunchInfo> app_launch_info) {
  if (!app_launch_info)
    return;

  FullRestoreSaveHandler::GetInstance()->SaveAppLaunchInfo(
      profile_path, std::move(app_launch_info));
}

void SaveWindowInfo(const app_restore::WindowInfo& window_info) {
  FullRestoreSaveHandler::GetInstance()->SaveWindowInfo(window_info);
}

void SetActiveProfilePath(const base::FilePath& profile_path) {
  FullRestoreSaveHandler::GetInstance()->SetActiveProfilePath(profile_path);
  FullRestoreReadHandler::GetInstance()->SetActiveProfilePath(profile_path);
}

void SetPrimaryProfilePath(const base::FilePath& profile_path) {
  FullRestoreSaveHandler::GetInstance()->SetPrimaryProfilePath(profile_path);
  FullRestoreReadHandler::GetInstance()->SetPrimaryProfilePath(profile_path);
}

bool HasAppTypeBrowser(const base::FilePath& profile_path) {
  return FullRestoreReadHandler::GetInstance()->HasAppTypeBrowser(profile_path);
}

bool HasBrowser(const base::FilePath& profile_path) {
  return FullRestoreReadHandler::GetInstance()->HasBrowser(profile_path);
}

void AddChromeBrowserLaunchInfoForTesting(const base::FilePath& profile_path) {
  FullRestoreReadHandler::GetInstance()
      ->AddChromeBrowserLaunchInfoForTesting(  // IN-TEST
          profile_path);
}

std::string GetAppId(aura::Window* window) {
  return FullRestoreSaveHandler::GetInstance()->GetAppId(window);
}

void OnLacrosChromeAppWindowAdded(const std::string& app_id,
                                  const std::string& window_id) {
  if (!full_restore::features::IsFullRestoreForLacrosEnabled())
    return;

  FullRestoreSaveHandler::GetInstance()->OnLacrosChromeAppWindowAdded(
      app_id, window_id);
}

void OnLacrosChromeAppWindowRemoved(const std::string& app_id,
                                    const std::string& window_id) {
  if (!full_restore::features::IsFullRestoreForLacrosEnabled())
    return;

  FullRestoreSaveHandler::GetInstance()->OnLacrosChromeAppWindowRemoved(
      app_id, window_id);
}

void SaveRemovingDeskGuid(const base::Uuid& removing_desk_guid) {
  FullRestoreSaveHandler::GetInstance()->SaveRemovingDeskGuid(
      removing_desk_guid);
}

void ResetRemovingDeskGuid() {
  FullRestoreSaveHandler::GetInstance()->SaveRemovingDeskGuid(base::Uuid());
}

}  // namespace full_restore