| Index: android_webview/browser/parent_output_surface.cc
|
| diff --git a/android_webview/browser/parent_output_surface.cc b/android_webview/browser/parent_output_surface.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..12802eb09dd854f8b8697ca968039caa7b9f37b7
|
| --- /dev/null
|
| +++ b/android_webview/browser/parent_output_surface.cc
|
| @@ -0,0 +1,36 @@
|
| +// Copyright 2014 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.
|
| +
|
| +#include "android_webview/browser/parent_output_surface.h"
|
| +
|
| +#include "cc/output/output_surface_client.h"
|
| +#include "gpu/command_buffer/client/gles2_interface.h"
|
| +
|
| +namespace android_webview {
|
| +
|
| +ParentOutputSurface::ParentOutputSurface(
|
| + scoped_refptr<cc::ContextProvider> context_provider)
|
| + : cc::OutputSurface(context_provider) {
|
| + capabilities_.draw_and_swap_full_viewport_every_frame = true;
|
| +}
|
| +
|
| +ParentOutputSurface::~ParentOutputSurface() {
|
| +}
|
| +
|
| +void ParentOutputSurface::SwapBuffers(cc::CompositorFrame* frame) {
|
| + context_provider_->ContextGL()->ShallowFlushCHROMIUM();
|
| + client_->DidSwapBuffers();
|
| +}
|
| +
|
| +void ParentOutputSurface::SetDrawConstraints(const gfx::Size& surface_size,
|
| + const gfx::Rect& clip) {
|
| + DCHECK(client_);
|
| + surface_size_ = surface_size;
|
| + SetNeedsRedrawRect(gfx::Rect(surface_size));
|
| + gfx::Transform identity;
|
| + gfx::Rect empty;
|
| + SetExternalDrawConstraints(identity, empty, clip, true);
|
| +}
|
| +
|
| +} // namespace android_webview
|
|
|