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

module mojo;

import "gpu/interfaces/command_buffer.mojom";
import "gpu/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);
};
