chromium/components/power_bookmarks/core/proto/power_bookmark_meta.proto

// 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.

syntax = "proto2";

option java_multiple_files = true;
option java_package = "org.chromium.components.power_bookmarks";

option optimize_for = LITE_RUNTIME;

package power_bookmarks;

import "components/power_bookmarks/core/proto/shopping_specifics.proto";

// Used to query specific bookmark verticals.
enum PowerBookmarkType {
  UNKNOWN = 0;
  SHOPPING = 1;
}

// This message is used to store the extra information associated with a
// bookmark. This information is stored with and synced with bookmarks.
// DEPRECATED: Use power_bookmark_specifics.proto instead.
message PowerBookmarkMeta {
  // Generic properties

  // This is the main image that will be shown in the UI.
  optional Image lead_image = 1;

  // Fallback images are made available for future edits or if the lead is
  // unavailable.
  repeated Image fallback_images = 2;

  repeated Tag tags = 3;

  // Vertical specifics
  // How to add a new vertical:
  // 1. Add a new proto with the required data.
  // 2. Include that proto at the top of the file.
  // 3. Add a new option field below.

  // Shopping-specific data populated when a user bookmarks a product-page.
  optional ShoppingSpecifics shopping_specifics = 6;

  // Deprecated fields

  // TODO(wylieb): Remove this field once the migration code has baked.
  oneof type_specifics {
    ShoppingSpecifics old_shopping_specifics = 5;
  }

  // Previously used values, don't reuse.
  reserved 4;

  message Tag {
    // The name of the tag as displayed to the user.
    optional string display_name = 1;
  }

  message Image {
    // The URL of the image.
    optional string url = 1;
  }
}