| 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..f17a4e87d9476e932fa3b8cc7625502c70fff1eb 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,9 @@ 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));
|
| base::AutoLock lock(requests_lock_);
|
| - requests_.set(request_id, std::move(request_data));
|
| + requests_[request_id] = base::MakeUnique<RequestData>(
|
| + content::WorkerThread::GetCurrentId(), on_response);
|
| }
|
| message_filter_->Send(
|
| new ExtensionHostMsg_WakeEventPage(request_id, extension_id));
|
| @@ -183,9 +183,11 @@ 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);
|
| + auto it = requests_.find(request_id);
|
| + CHECK(it != requests_.end()) << "No request with ID " << request_id;
|
| + request_data = std::move(it->second);
|
| + requests_.erase(it);
|
| }
|
| - CHECK(request_data) << "No request with ID " << request_id;
|
| if (request_data->thread_id == 0) {
|
| // Thread ID of 0 means it wasn't called on a worker thread, so safe to
|
| // call immediately.
|
|
|