1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file.
4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#ifndef ANDROID_WEBVIEW_BROWSER_PARENT_OUTPUT_SURFACE_H_
6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define ANDROID_WEBVIEW_BROWSER_PARENT_OUTPUT_SURFACE_H_
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "cc/output/output_surface.h"
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace android_webview {
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class ParentOutputSurface : NON_EXPORTED_BASE(public cc::OutputSurface) {
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public:
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  explicit ParentOutputSurface(
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      scoped_refptr<cc::ContextProvider> context_provider);
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual ~ParentOutputSurface();
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  // OutputSurface overrides.
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual void Reshape(const gfx::Size& size, float scale_factor) OVERRIDE {}
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual void SwapBuffers(cc::CompositorFrame* frame) OVERRIDE;
21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  using cc::OutputSurface::SetExternalStencilTest;
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  void SetDrawConstraints(const gfx::Size& surface_size, const gfx::Rect& clip);
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) private:
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(ParentOutputSurface);
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)};
28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}  // namespace android_webview
30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif  // ANDROID_WEBVIEW_BROWSER_PARENT_OUTPUT_SURFACE_H_
32