summaryrefslogtreecommitdiffstats
path: root/android_webview/browser/parent_output_surface.h
diff options
context:
space:
mode:
authorboliu <boliu@chromium.org>2016-01-08 16:07:26 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-09 00:08:42 +0000
commit0ed4f6567c1b77cea282fac1773dfbaa2ac0c939 (patch)
tree8599606df511c089ae47b7ab52fd4dafbeb0a750 /android_webview/browser/parent_output_surface.h
parent770a614de349b5ec5dc0c20308ff745e215e1d8c (diff)
downloadchromium_src-0ed4f6567c1b77cea282fac1773dfbaa2ac0c939.zip
chromium_src-0ed4f6567c1b77cea282fac1773dfbaa2ac0c939.tar.gz
chromium_src-0ed4f6567c1b77cea282fac1773dfbaa2ac0c939.tar.bz2
Implement external stencil for Android WebView
Add an OutputSurface::ApplyExternalStencil method. Android WebView implements this method on the render thread and applies the stencil parameters read in functor, through the command buffer client. BUG=574570 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1564703005 Cr-Commit-Position: refs/heads/master@{#368468}
Diffstat (limited to 'android_webview/browser/parent_output_surface.h')
-rw-r--r--android_webview/browser/parent_output_surface.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/android_webview/browser/parent_output_surface.h b/android_webview/browser/parent_output_surface.h
index 0467f2a..f69598e 100644
--- a/android_webview/browser/parent_output_surface.h
+++ b/android_webview/browser/parent_output_surface.h
@@ -5,6 +5,7 @@
#ifndef ANDROID_WEBVIEW_BROWSER_PARENT_OUTPUT_SURFACE_H_
#define ANDROID_WEBVIEW_BROWSER_PARENT_OUTPUT_SURFACE_H_
+#include "android_webview/browser/scoped_app_gl_state_restore.h"
#include "base/macros.h"
#include "cc/output/output_surface.h"
@@ -22,9 +23,13 @@ class ParentOutputSurface : NON_EXPORTED_BASE(public cc::OutputSurface) {
float scale_factor,
bool has_alpha) override;
void SwapBuffers(cc::CompositorFrame* frame) override;
- using cc::OutputSurface::SetExternalStencilTest;
+ void ApplyExternalStencil() override;
+
+ void SetGLState(const ScopedAppGLStateRestore& gl_state);
private:
+ StencilState stencil_state_;
+
DISALLOW_COPY_AND_ASSIGN(ParentOutputSurface);
};