Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Side by Side Diff: android_webview/browser/parent_output_surface.h

Issue 1564703005: Implement external stencil for Android WebView (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase, fix pixel tests Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ANDROID_WEBVIEW_BROWSER_PARENT_OUTPUT_SURFACE_H_ 5 #ifndef ANDROID_WEBVIEW_BROWSER_PARENT_OUTPUT_SURFACE_H_
6 #define ANDROID_WEBVIEW_BROWSER_PARENT_OUTPUT_SURFACE_H_ 6 #define ANDROID_WEBVIEW_BROWSER_PARENT_OUTPUT_SURFACE_H_
7 7
8 #include "android_webview/browser/scoped_app_gl_state_restore.h"
8 #include "base/macros.h" 9 #include "base/macros.h"
9 #include "cc/output/output_surface.h" 10 #include "cc/output/output_surface.h"
10 11
11 namespace android_webview { 12 namespace android_webview {
12 13
13 class ParentOutputSurface : NON_EXPORTED_BASE(public cc::OutputSurface) { 14 class ParentOutputSurface : NON_EXPORTED_BASE(public cc::OutputSurface) {
14 public: 15 public:
15 explicit ParentOutputSurface( 16 explicit ParentOutputSurface(
16 scoped_refptr<cc::ContextProvider> context_provider); 17 scoped_refptr<cc::ContextProvider> context_provider);
17 ~ParentOutputSurface() override; 18 ~ParentOutputSurface() override;
18 19
19 // OutputSurface overrides. 20 // OutputSurface overrides.
20 void DidLoseOutputSurface() override; 21 void DidLoseOutputSurface() override;
21 void Reshape(const gfx::Size& size, 22 void Reshape(const gfx::Size& size,
22 float scale_factor, 23 float scale_factor,
23 bool has_alpha) override; 24 bool has_alpha) override;
24 void SwapBuffers(cc::CompositorFrame* frame) override; 25 void SwapBuffers(cc::CompositorFrame* frame) override;
25 using cc::OutputSurface::SetExternalStencilTest; 26 void ApplyExternalStencil() override;
27
28 void SetGLState(const ScopedAppGLStateRestore& gl_state);
26 29
27 private: 30 private:
31 StencilState stencil_state_;
32
28 DISALLOW_COPY_AND_ASSIGN(ParentOutputSurface); 33 DISALLOW_COPY_AND_ASSIGN(ParentOutputSurface);
29 }; 34 };
30 35
31 } // namespace android_webview 36 } // namespace android_webview
32 37
33 #endif // ANDROID_WEBVIEW_BROWSER_PARENT_OUTPUT_SURFACE_H_ 38 #endif // ANDROID_WEBVIEW_BROWSER_PARENT_OUTPUT_SURFACE_H_
OLDNEW
« no previous file with comments | « android_webview/browser/hardware_renderer.cc ('k') | android_webview/browser/parent_output_surface.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698