blob: 2da479b6d8694d899db756190a5caef5619c4a1e [file] [log] [blame]
// 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.
#ifndef CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_CHROMEOS_DATA_H_
#define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_CHROMEOS_DATA_H_
#include "base/files/file_path.h"
#include "base/values.h"
namespace web_app {
struct WebAppChromeOsData {
WebAppChromeOsData();
WebAppChromeOsData(const WebAppChromeOsData&);
~WebAppChromeOsData();
base::Value AsDebugValue() const;
// By default an app is shown everywhere.
bool show_in_launcher = true;
bool show_in_search = true;
bool show_in_management = true;
// By default the app is not disabled. Disabling the app means having a
// blocked logo on top of the app icon, and the user can't launch the app.
bool is_disabled = false;
// True if the app was installed by the device OEM and should be shown
// in an OEM folder in the app launcher. This could also be stored as a Source
// on the WebApp, which would require refactoring PreinstalledWebAppManager to
// manage multiple Sources for a single app.
bool oem_installed = false;
bool handles_file_open_intents = show_in_launcher;
// Experimental field to specify the file path of the dedicated app profile
// within which the app should launch. The value is serialized in Pickle
// format.
absl::optional<base::FilePath> app_profile_path;
};
bool operator==(const WebAppChromeOsData& chromeos_data1,
const WebAppChromeOsData& chromeos_data2);
bool operator!=(const WebAppChromeOsData& chromeos_data1,
const WebAppChromeOsData& chromeos_data2);
} // namespace web_app
#endif // CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_CHROMEOS_DATA_H_