Index: cc/output/output_surface.cc |
diff --git a/cc/output/output_surface.cc b/cc/output/output_surface.cc |
index 056879f49d84ba444142101690da109437208d14..894138034d386feb56f4fbadf7bd6d8574364bd7 100644 |
--- a/cc/output/output_surface.cc |
+++ b/cc/output/output_surface.cc |
@@ -128,12 +128,6 @@ bool OutputSurface::BindToClient(OutputSurfaceClient* client) { |
} |
} |
- if (success && worker_context_provider_.get()) { |
- success = worker_context_provider_->BindToCurrentThread(); |
- if (success) |
- worker_context_provider_->SetupLock(); |
- } |
- |
if (!success) |
client_ = NULL; |
@@ -209,13 +203,15 @@ void OutputSurface::SetWorkerContextShouldAggressivelyFreeResources( |
if (auto* context_provider = worker_context_provider()) { |
ContextProvider::ScopedContextLock scoped_context(context_provider); |
- if (aggressively_free_resources) { |
- context_provider->DeleteCachedResources(); |
- } |
+ if (!context_provider->HasBeenDestroyed()) { |
+ if (aggressively_free_resources) { |
+ context_provider->DeleteCachedResources(); |
+ } |
- if (auto* context_support = context_provider->ContextSupport()) { |
- context_support->SetAggressivelyFreeResources( |
- aggressively_free_resources); |
+ if (auto* context_support = context_provider->ContextSupport()) { |
+ context_support->SetAggressivelyFreeResources( |
+ aggressively_free_resources); |
+ } |
} |
} |
} |