| Index: components/history/core/browser/web_history_service.cc
|
| diff --git a/components/history/core/browser/web_history_service.cc b/components/history/core/browser/web_history_service.cc
|
| index f4c43429ec6ffdfe21934b1d8ee4b085ea903b28..e707225b156c03e5f0a913ec091bd27a9a0b0328 100644
|
| --- a/components/history/core/browser/web_history_service.cc
|
| +++ b/components/history/core/browser/web_history_service.cc
|
| @@ -10,9 +10,9 @@
|
| #include "base/command_line.h"
|
| #include "base/json/json_reader.h"
|
| #include "base/json/json_writer.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/metrics/histogram_macros.h"
|
| #include "base/optional.h"
|
| -#include "base/stl_util.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "base/values.h"
|
| @@ -336,10 +336,6 @@ WebHistoryService::WebHistoryService(
|
| }
|
|
|
| WebHistoryService::~WebHistoryService() {
|
| - base::STLDeleteElements(&pending_expire_requests_);
|
| - base::STLDeleteElements(&pending_audio_history_requests_);
|
| - base::STLDeleteElements(&pending_web_and_app_activity_requests_);
|
| - base::STLDeleteElements(&pending_other_forms_of_browsing_history_requests_);
|
| }
|
|
|
| void WebHistoryService::AddObserver(WebHistoryServiceObserver* observer) {
|
| @@ -430,7 +426,7 @@ void WebHistoryService::ExpireHistory(
|
| std::unique_ptr<Request> request(CreateRequest(url, completion_callback));
|
| request->SetPostData(post_data);
|
| Request* request_ptr = request.get();
|
| - pending_expire_requests_.insert(request.release());
|
| + pending_expire_requests_[request_ptr] = std::move(request);
|
| request_ptr->Start();
|
| }
|
|
|
| @@ -457,7 +453,8 @@ void WebHistoryService::GetAudioHistoryEnabled(
|
| GURL url(kHistoryAudioHistoryUrl);
|
| std::unique_ptr<Request> request(CreateRequest(url, completion_callback));
|
| request->Start();
|
| - pending_audio_history_requests_.insert(request.release());
|
| + Request* request_ptr = request.get();
|
| + pending_audio_history_requests_[request_ptr] = std::move(request);
|
| }
|
|
|
| void WebHistoryService::SetAudioHistoryEnabled(
|
| @@ -481,7 +478,8 @@ void WebHistoryService::SetAudioHistoryEnabled(
|
| request->SetPostData(post_data);
|
|
|
| request->Start();
|
| - pending_audio_history_requests_.insert(request.release());
|
| + Request* request_ptr = request.get();
|
| + pending_audio_history_requests_[request_ptr] = std::move(request);
|
| }
|
|
|
| size_t WebHistoryService::GetNumberOfPendingAudioHistoryRequests() {
|
| @@ -498,7 +496,7 @@ void WebHistoryService::QueryWebAndAppActivity(
|
|
|
| GURL url(kQueryWebAndAppActivityUrl);
|
| Request* request = CreateRequest(url, completion_callback);
|
| - pending_web_and_app_activity_requests_.insert(request);
|
| + pending_web_and_app_activity_requests_[request] = base::WrapUnique(request);
|
| request->Start();
|
| }
|
|
|
| @@ -528,7 +526,8 @@ void WebHistoryService::QueryOtherFormsOfBrowsingHistory(
|
| channel, ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET);
|
| request->SetUserAgent(user_agent);
|
|
|
| - pending_other_forms_of_browsing_history_requests_.insert(request);
|
| + pending_other_forms_of_browsing_history_requests_[request] =
|
| + base::WrapUnique(request);
|
|
|
| // Set the request protobuf.
|
| sync_pb::HistoryStatusRequest request_proto;
|
| @@ -554,8 +553,9 @@ void WebHistoryService::ExpireHistoryCompletionCallback(
|
| const WebHistoryService::ExpireWebHistoryCallback& callback,
|
| WebHistoryService::Request* request,
|
| bool success) {
|
| + std::unique_ptr<Request> request_ptr =
|
| + std::move(pending_expire_requests_[request]);
|
| pending_expire_requests_.erase(request);
|
| - std::unique_ptr<Request> request_ptr(request);
|
|
|
| std::unique_ptr<base::DictionaryValue> response_value;
|
| if (success) {
|
| @@ -576,13 +576,14 @@ void WebHistoryService::AudioHistoryCompletionCallback(
|
| const WebHistoryService::AudioWebHistoryCallback& callback,
|
| WebHistoryService::Request* request,
|
| bool success) {
|
| + std::unique_ptr<Request> request_ptr =
|
| + std::move(pending_audio_history_requests_[request]);
|
| pending_audio_history_requests_.erase(request);
|
| - std::unique_ptr<WebHistoryService::Request> request_ptr(request);
|
|
|
| std::unique_ptr<base::DictionaryValue> response_value;
|
| bool enabled_value = false;
|
| if (success) {
|
| - response_value = ReadResponse(request_ptr.get());
|
| + response_value = ReadResponse(request);
|
| if (response_value)
|
| response_value->GetBoolean("history_recording_enabled", &enabled_value);
|
| }
|
| @@ -597,8 +598,9 @@ void WebHistoryService::QueryWebAndAppActivityCompletionCallback(
|
| const WebHistoryService::QueryWebAndAppActivityCallback& callback,
|
| WebHistoryService::Request* request,
|
| bool success) {
|
| + std::unique_ptr<Request> request_ptr =
|
| + std::move(pending_web_and_app_activity_requests_[request]);
|
| pending_web_and_app_activity_requests_.erase(request);
|
| - std::unique_ptr<Request> request_ptr(request);
|
|
|
| std::unique_ptr<base::DictionaryValue> response_value;
|
| bool web_and_app_activity_enabled = false;
|
| @@ -618,8 +620,9 @@ void WebHistoryService::QueryOtherFormsOfBrowsingHistoryCompletionCallback(
|
| const WebHistoryService::QueryOtherFormsOfBrowsingHistoryCallback& callback,
|
| WebHistoryService::Request* request,
|
| bool success) {
|
| + std::unique_ptr<Request> request_ptr =
|
| + std::move(pending_other_forms_of_browsing_history_requests_[request]);
|
| pending_other_forms_of_browsing_history_requests_.erase(request);
|
| - std::unique_ptr<Request> request_ptr(request);
|
|
|
| bool has_other_forms_of_browsing_history = false;
|
| if (success && request->GetResponseCode() == net::HTTP_OK) {
|
|
|