chromium/gpu/ipc/common/traits_test_service.mojom

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

module gpu.mojom;

import "gpu/ipc/common/gpu_info.mojom";
import "gpu/ipc/common/gpu_preferences.mojom";
import "gpu/ipc/common/mailbox.mojom";
import "gpu/ipc/common/mailbox_holder.mojom";
import "gpu/ipc/common/sync_token.mojom";

// All functions on this interface echo their arguments to test StructTraits
// serialization and deserialization.
interface TraitsTestService {

  [Sync]
  EchoGpuDevice(GpuDevice g) => (GpuDevice pass);

  [Sync]
  EchoGpuInfo(GpuInfo g) => (GpuInfo pass);

  [Sync]
  EchoMailbox(Mailbox m) => (Mailbox pass);

  [Sync]
  EchoMailboxHolder(MailboxHolder m) => (MailboxHolder pass);

  [Sync]
  EchoSyncToken(SyncToken s) => (SyncToken pass);

  [Sync]
  EchoVideoDecodeAcceleratorSupportedProfile(
    VideoDecodeAcceleratorSupportedProfile v) =>
      (VideoDecodeAcceleratorSupportedProfile pass);

  [Sync]
  EchoVideoDecodeAcceleratorCapabilities(
    VideoDecodeAcceleratorCapabilities v) =>
      (VideoDecodeAcceleratorCapabilities pass);

  [Sync]
  EchoVideoEncodeAcceleratorSupportedProfile(
    VideoEncodeAcceleratorSupportedProfile v) =>
      (VideoEncodeAcceleratorSupportedProfile pass);

  [Sync]
  EchoGpuPreferences(GpuPreferences prefs) => (GpuPreferences pass);
};