| Index: chrome/browser/extensions/api/developer_private/extension_info_generator.cc
|
| diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
|
| index fd91759ec21c43cfb965ff5b1b490047d011d50b..0d1ddcbd241d7be7f303051e2b7b6f8779eb89e5 100644
|
| --- a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
|
| +++ b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
|
| @@ -508,12 +508,13 @@ void ExtensionInfoGenerator::OnImageLoaded(
|
| --pending_image_loads_;
|
|
|
| if (pending_image_loads_ == 0) { // All done!
|
| - // We assign to a temporary and Reset() so that at the end of the method,
|
| - // any stored refs are destroyed.
|
| + // We assign to a temporary callback and list and reset the stored values so
|
| + // that at the end of the method, any stored refs are destroyed.
|
| + ExtensionInfoList list;
|
| + list.swap(list_);
|
| ExtensionInfosCallback callback = callback_;
|
| callback_.Reset();
|
| - callback.Run(list_);
|
| - list_.clear();
|
| + callback.Run(list); // WARNING: |this| is possibly deleted after this line!
|
| }
|
| }
|
|
|
|
|