| // 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/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); |
| }; |