Index: cc/output/output_surface.cc |
diff --git a/cc/output/output_surface.cc b/cc/output/output_surface.cc |
index 80def54b805ac67e507f4a7ff2c606e0dbddd9a3..46096d2e3094febd271e31a47c8668fbc1158ea2 100644 |
--- a/cc/output/output_surface.cc |
+++ b/cc/output/output_surface.cc |
@@ -163,7 +163,7 @@ void OutputSurface::ReleaseGL() { |
DCHECK(client_); |
DCHECK(context_provider_); |
client_->ReleaseGL(); |
- ResetContext3d(); |
+ DCHECK(!context_provider_); |
} |
void OutputSurface::SetUpContext3d() { |
@@ -181,6 +181,12 @@ void OutputSurface::SetUpContext3d() { |
base::Unretained(this))); |
} |
+void OutputSurface::ReleaseContextProvider() { |
+ DCHECK(client_); |
+ DCHECK(context_provider_); |
+ ResetContext3d(); |
+} |
+ |
void OutputSurface::ResetContext3d() { |
if (context_provider_.get()) { |
while (!pending_gpu_latency_query_ids_.empty()) { |