Chromium Code Reviews| Index: extensions/renderer/wake_event_page.cc |
| diff --git a/extensions/renderer/wake_event_page.cc b/extensions/renderer/wake_event_page.cc |
| index fcf15f6006e711bfced8dfaa82a4f03615a906bb..221b3a1284df46fb66ece8028087307d9808ee5d 100644 |
| --- a/extensions/renderer/wake_event_page.cc |
| +++ b/extensions/renderer/wake_event_page.cc |
| @@ -13,6 +13,7 @@ |
| #include "base/lazy_instance.h" |
| #include "base/logging.h" |
| #include "base/macros.h" |
| +#include "base/memory/ptr_util.h" |
| #include "content/public/child/worker_thread.h" |
| #include "content/public/renderer/render_thread.h" |
| #include "extensions/common/extension_messages.h" |
| @@ -160,10 +161,10 @@ void WakeEventPage::MakeRequest(const std::string& extension_id, |
| static base::AtomicSequenceNumber sequence_number; |
| int request_id = sequence_number.GetNext(); |
| { |
| - std::unique_ptr<RequestData> request_data( |
| - new RequestData(content::WorkerThread::GetCurrentId(), on_response)); |
| + std::unique_ptr<RequestData> request_data = base::MakeUnique<RequestData>( |
| + content::WorkerThread::GetCurrentId(), on_response); |
| base::AutoLock lock(requests_lock_); |
| - requests_.set(request_id, std::move(request_data)); |
| + requests_[request_id] = std::move(request_data); |
|
Devlin
2016/12/28 23:34:32
optional nit: maybe just construct here?
Avi (use Gerrit)
2016/12/29 00:36:30
Done.
|
| } |
| message_filter_->Send( |
| new ExtensionHostMsg_WakeEventPage(request_id, extension_id)); |
| @@ -183,7 +184,9 @@ void WakeEventPage::OnWakeEventPageResponse(int request_id, bool success) { |
| std::unique_ptr<RequestData> request_data; |
| { |
| base::AutoLock lock(requests_lock_); |
| - request_data = requests_.take(request_id); |
|
Avi (use Gerrit)
2016/12/28 22:51:19
FYI, this seems to have been a bug. It removes the
Devlin
2016/12/28 23:34:32
Ah, that is bad. It almost certainly should have
|
| + auto it = requests_.find(request_id); |
| + request_data = std::move(it->second); |
| + requests_.erase(it); |
| } |
| CHECK(request_data) << "No request with ID " << request_id; |
|
Devlin
2016/12/28 23:34:32
Maybe move this to be:
CHECK(it != requests_.end()
Avi (use Gerrit)
2016/12/29 00:36:30
Done.
|
| if (request_data->thread_id == 0) { |