Index: gpu/command_buffer/service/shader_manager.cc |
diff --git a/gpu/command_buffer/service/shader_manager.cc b/gpu/command_buffer/service/shader_manager.cc |
index 94ffe42ce4de5a2d82a0d367b8a191734bcd9fb3..beab27281f25906723cb124d42ca1be9da492d7d 100644 |
--- a/gpu/command_buffer/service/shader_manager.cc |
+++ b/gpu/command_buffer/service/shader_manager.cc |
@@ -10,6 +10,7 @@ |
#include "base/logging.h" |
#include "base/strings/string_util.h" |
+#include "gpu/command_buffer/service/progress_reporter.h" |
namespace gpu { |
namespace gles2 { |
@@ -273,13 +274,16 @@ ShaderManager::~ShaderManager() { |
DCHECK(shaders_.empty()); |
} |
-void ShaderManager::Destroy(bool have_context) { |
+void ShaderManager::Destroy(bool have_context, |
+ ProgressReporter* progress_reporter) { |
+ DCHECK(progress_reporter); |
while (!shaders_.empty()) { |
if (have_context) { |
Shader* shader = shaders_.begin()->second.get(); |
shader->Destroy(); |
} |
shaders_.erase(shaders_.begin()); |
+ progress_reporter->ReportProgress(); |
} |
} |