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

[DartPackage="mojo_services"]
module mojo;

import "gpu/public/interfaces/command_buffer.mojom";
import "gpu/public/interfaces/viewport_parameter_listener.mojom";

// A ContextProvider can be used to provide new command buffers related to a
// particular context, for instance configured to draw to a particular display.
interface ContextProvider {
  // This initializes a new command buffer for this provider when available,
  // closing connections to the previously created command buffer (if any).
  //
  // This call may not return for an extended period of time if a command
  // buffer cannot be produced immediately, for example if it is associated
  // with a view that is offscreen.
  //
  // If a viewport_parameter_listener is provided it will notified be when
  // vsync parameters change for this context.
  //
  // The returned handle will be null if no command buffer can be created for
  // this request, for example if another request is made on the same provider
  // before a previous call returns.
  Create(ViewportParameterListener? viewport_parameter_listener)
      => (CommandBuffer? gles2_client);
};
