chromium/chrome/browser/web_applications/proto/web_app_tab_strip.proto

// Copyright 2022 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";

import "content/browser/background_fetch/background_fetch.proto";
import "chrome/browser/web_applications/proto/web_app_url_pattern.proto";

option optimize_for = LITE_RUNTIME;

package web_app.proto;

message HomeTabParams {
  repeated content.proto.ImageResource icons = 1;
  repeated UrlPattern scope_patterns = 2;
}

message NewTabButtonParams {
  optional string url = 1;
}

// A proto representing the "tab_strip" manifest field.
// This mirrors ManifestTabStrip in:
// third_party/blink/public/mojom/manifest/manifest.mojom
message TabStrip {
  enum Visibility {
    AUTO = 0;
    ABSENT = 1;
  }

  reserved 1;
  reserved "new_tab_button_visibility";
  optional NewTabButtonParams new_tab_button_params = 2;

  oneof home_tab {
    Visibility home_tab_visibility = 3;
    HomeTabParams home_tab_params = 4;
  }
}