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

module cc.mojom;

import "gpu/ipc/common/mailbox_holder.mojom";
import "ui/gfx/geometry/mojo/geometry.mojom";
import "ui/gfx/mojo/color_space.mojom";

// TODO(samans): Add shared_bitmap. See crbug.com/686221.
// See cc/resources/texture_mailbox.h.
struct TextureMailbox {
  gpu.mojom.MailboxHolder mailbox_holder;
  gfx.mojom.Size size_in_pixels;
  bool is_overlay_candidate;
  bool is_backed_by_surface_texture;
  bool wants_promotion_hint;
  bool secure_output_only;
  bool nearest_neighbor;
  gfx.mojom.ColorSpace color_space;
};
