Use SQLite for persistence and generate Rust protobuf bindings at build time. Add Docker image support for containerized deployment. Co-Authored-By: codex <[email protected]>
99 lines
3.4 KiB
Protocol Buffer
99 lines
3.4 KiB
Protocol Buffer
// Copyright 2019 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// If you change or add any fields in this file, update
|
|
// components/sync/protocol/proto_visitors.h and potentially
|
|
// components/sync/protocol/proto_enum_conversions.{h, cc}.
|
|
|
|
syntax = "proto2";
|
|
|
|
option go_package = "./sync_pb";
|
|
|
|
option java_multiple_files = true;
|
|
option java_package = "org.chromium.components.sync.protocol";
|
|
|
|
option optimize_for = LITE_RUNTIME;
|
|
|
|
package sync_pb;
|
|
|
|
// Sync & local data: Information about web app icon.
|
|
message WebAppIconInfo {
|
|
enum Purpose {
|
|
UNSPECIFIED = 0;
|
|
// Suitable for any purpose.
|
|
ANY = 1;
|
|
// Designed for masking.
|
|
MASKABLE = 2;
|
|
// Suitable for monochrome purposes.
|
|
MONOCHROME = 3;
|
|
}
|
|
|
|
// The size of the square app icon, in raw pixels.
|
|
optional int32 size_in_px = 1;
|
|
// The URL of the app icon.
|
|
optional string url = 2;
|
|
// The purpose or context in which the icon should be used.
|
|
optional Purpose purpose = 3;
|
|
}
|
|
|
|
// WebApp data. This is a synced part of
|
|
// chrome/browser/web_applications/proto/web_app.proto data.
|
|
message WebAppSpecifics {
|
|
// This enum should be a subset of the DisplayMode enum in
|
|
// chrome/browser/web_applications/proto/web_app.proto and
|
|
// third_party/blink/public/mojom/manifest/display_mode.mojom
|
|
enum UserDisplayMode {
|
|
UNSPECIFIED = 0;
|
|
BROWSER = 1;
|
|
// MINIMAL_UI is never serialized.
|
|
STANDALONE = 3;
|
|
// FULLSCREEN is never serialized.
|
|
// WINDOW_CONTROLS_OVERLAY is never serialized.
|
|
TABBED = 6;
|
|
// BORDERLESS is never serialized.
|
|
// PICTURE_IN_PICTURE is never serialized.
|
|
}
|
|
|
|
optional string start_url = 1;
|
|
optional string name = 2;
|
|
|
|
// User-selected display setting, which may be used if no platform-specific
|
|
// setting is available (eg. on Windows, Mac, and Linux). If absent,
|
|
// user_display_mode_cros may be used as fallback (if populated). On pre-M122
|
|
// devices this field is used by all platforms (ie. ChromeOS, Windows, Mac,
|
|
// Linux) and always replaces any locally-stored value, with
|
|
// absent/unspecified falling back to standalone.
|
|
optional UserDisplayMode user_display_mode_default = 3;
|
|
reserved "user_display_mode_non_cros";
|
|
reserved "user_display_mode";
|
|
|
|
optional uint32 theme_color = 4;
|
|
optional string scope = 5;
|
|
repeated WebAppIconInfo icon_infos = 6;
|
|
|
|
// Used to store the page number that the app is displayed on in
|
|
// chrome://apps.
|
|
optional string user_page_ordinal = 7;
|
|
// Used to store the in-page ranking for ordering apps in its given
|
|
// |user_page_ordinal| page.
|
|
optional string user_launch_ordinal = 8;
|
|
|
|
// Used to store id specified in the manifest. This is a path that is relative
|
|
// to the start_url, similar to how the id field is parsed in
|
|
// https://www.w3.org/TR/appmanifest/#id-member, except this field does not
|
|
// include a scheme or origin. This is only the path after the origin,
|
|
// excluding the first "/".
|
|
// Note: If this field is not set, then the manifest_id is generated using the
|
|
// start_url in GenerateManifestIdFromStartUrlOnly. This is different than if
|
|
// this is set to "", which means the manifest_id will be set to the origin of
|
|
// the start_url.
|
|
optional string relative_manifest_id = 9;
|
|
|
|
// User-selected display setting for ChromeOS.
|
|
// If absent, user_display_mode_default may be used as fallback (if
|
|
// populated).
|
|
// Introduced in M122.
|
|
optional UserDisplayMode user_display_mode_cros = 10;
|
|
}
|