| Index: gpu/command_buffer/service/texture_manager.cc
|
| diff --git a/gpu/command_buffer/service/texture_manager.cc b/gpu/command_buffer/service/texture_manager.cc
|
| index 54b2eafdcde9d4cdf75ca64988c4df0ee714b332..d5b765420e7b741a8fce2e4c39346e9ceefb64d1 100644
|
| --- a/gpu/command_buffer/service/texture_manager.cc
|
| +++ b/gpu/command_buffer/service/texture_manager.cc
|
| @@ -27,6 +27,7 @@
|
| #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
|
| #include "gpu/command_buffer/service/mailbox_manager.h"
|
| #include "gpu/command_buffer/service/memory_tracking.h"
|
| +#include "gpu/command_buffer/service/progress_reporter.h"
|
| #include "ui/gl/gl_context.h"
|
| #include "ui/gl/gl_implementation.h"
|
| #include "ui/gl/gl_state_restorer.h"
|
| @@ -359,11 +360,19 @@ TextureManager::~TextureManager() {
|
| this);
|
| }
|
|
|
| -void TextureManager::Destroy(bool have_context) {
|
| +void TextureManager::Destroy(bool have_context,
|
| + ProgressReporter* progress_reporter) {
|
| have_context_ = have_context;
|
| - textures_.clear();
|
| +
|
| + while (!textures_.empty()) {
|
| + textures_.erase(textures_.begin());
|
| + if (progress_reporter)
|
| + progress_reporter->ReportProgress();
|
| + }
|
| for (int ii = 0; ii < kNumDefaultTextures; ++ii) {
|
| default_textures_[ii] = NULL;
|
| + if (progress_reporter)
|
| + progress_reporter->ReportProgress();
|
| }
|
|
|
| if (have_context) {
|
|
|