| Index: cc/output/output_surface.h
|
| diff --git a/cc/output/output_surface.h b/cc/output/output_surface.h
|
| index 9611ef4406e0fd18514c89a585d40f9f898085f2..ea68fa0f0dbacbc55ab89b389795425005c9015e 100644
|
| --- a/cc/output/output_surface.h
|
| +++ b/cc/output/output_surface.h
|
| @@ -11,6 +11,7 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/memory/weak_ptr.h"
|
| +#include "base/threading/thread_checker.h"
|
| #include "cc/base/cc_export.h"
|
| #include "cc/output/context_provider.h"
|
| #include "cc/output/overlay_candidate_validator.h"
|
| @@ -112,9 +113,14 @@ class CC_EXPORT OutputSurface {
|
|
|
| // Called by the compositor on the compositor thread. This is a place where
|
| // thread-specific data for the output surface can be initialized, since from
|
| - // this point on the output surface will only be used on the compositor
|
| - // thread.
|
| + // this point to when DetachFromClient() is called the output surface will
|
| + // only be used on the compositor thread.
|
| virtual bool BindToClient(OutputSurfaceClient* client);
|
| + // Called by the compositor on the compositor thread. This is a place where
|
| + // thread-specific data for the output surface can be uninitialized.
|
| + virtual void DetachFromClient();
|
| +
|
| + bool CalledOnValidClientThread();
|
|
|
| virtual void EnsureBackbuffer();
|
| virtual void DiscardBackbuffer();
|
| @@ -193,6 +199,7 @@ class CC_EXPORT OutputSurface {
|
|
|
| private:
|
| bool external_stencil_test_enabled_;
|
| + base::ThreadChecker client_thread_checker_;
|
|
|
| base::WeakPtrFactory<OutputSurface> weak_ptr_factory_;
|
|
|
|
|