| 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);
|
| + }
|
| }
|
| }
|
| }
|
|
|