Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(455)

Side by Side Diff: extensions/browser/api/web_request/web_request_event_details.cc

Issue 1902873002: Convert //extensions/browser/api from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/browser/api/web_request/web_request_event_details.h" 5 #include "extensions/browser/api/web_request/web_request_event_details.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "content/public/browser/browser_thread.h" 9 #include "content/public/browser/browser_thread.h"
10 #include "content/public/browser/render_frame_host.h" 10 #include "content/public/browser/render_frame_host.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 ParsedDataPresenter parsed_data_presenter(*request); 67 ParsedDataPresenter parsed_data_presenter(*request);
68 RawDataPresenter raw_data_presenter; 68 RawDataPresenter raw_data_presenter;
69 UploadDataPresenter* const presenters[] = { 69 UploadDataPresenter* const presenters[] = {
70 &parsed_data_presenter, // 1: any parseable forms? (Specific to forms.) 70 &parsed_data_presenter, // 1: any parseable forms? (Specific to forms.)
71 &raw_data_presenter // 2: any data at all? (Non-specific.) 71 &raw_data_presenter // 2: any data at all? (Non-specific.)
72 }; 72 };
73 // Keys for the results of the corresponding presenters. 73 // Keys for the results of the corresponding presenters.
74 static const char* const kKeys[] = {keys::kRequestBodyFormDataKey, 74 static const char* const kKeys[] = {keys::kRequestBodyFormDataKey,
75 keys::kRequestBodyRawKey}; 75 keys::kRequestBodyRawKey};
76 76
77 const std::vector<scoped_ptr<net::UploadElementReader>>* readers = 77 const std::vector<std::unique_ptr<net::UploadElementReader>>* readers =
78 upload_data->GetElementReaders(); 78 upload_data->GetElementReaders();
79 bool some_succeeded = false; 79 bool some_succeeded = false;
80 if (readers) { 80 if (readers) {
81 for (size_t i = 0; i < arraysize(presenters); ++i) { 81 for (size_t i = 0; i < arraysize(presenters); ++i) {
82 for (const auto& reader : *readers) 82 for (const auto& reader : *readers)
83 presenters[i]->FeedNext(*reader); 83 presenters[i]->FeedNext(*reader);
84 if (presenters[i]->Succeeded()) { 84 if (presenters[i]->Succeeded()) {
85 request_body->Set(kKeys[i], presenters[i]->Result()); 85 request_body->Set(kKeys[i], presenters[i]->Result());
86 some_succeeded = true; 86 some_succeeded = true;
87 break; 87 break;
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 153 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
154 content::RenderFrameHost* rfh = 154 content::RenderFrameHost* rfh =
155 content::RenderFrameHost::FromID(render_process_id_, render_frame_id_); 155 content::RenderFrameHost::FromID(render_process_id_, render_frame_id_);
156 dict_.SetInteger(keys::kFrameIdKey, ExtensionApiFrameIdMap::GetFrameId(rfh)); 156 dict_.SetInteger(keys::kFrameIdKey, ExtensionApiFrameIdMap::GetFrameId(rfh));
157 dict_.SetInteger(keys::kParentFrameIdKey, 157 dict_.SetInteger(keys::kParentFrameIdKey,
158 ExtensionApiFrameIdMap::GetParentFrameId(rfh)); 158 ExtensionApiFrameIdMap::GetParentFrameId(rfh));
159 } 159 }
160 160
161 void WebRequestEventDetails::DetermineFrameIdOnIO( 161 void WebRequestEventDetails::DetermineFrameIdOnIO(
162 const DeterminedFrameIdCallback& callback) { 162 const DeterminedFrameIdCallback& callback) {
163 scoped_ptr<WebRequestEventDetails> self(this); 163 std::unique_ptr<WebRequestEventDetails> self(this);
164 ExtensionApiFrameIdMap::Get()->GetFrameDataOnIO( 164 ExtensionApiFrameIdMap::Get()->GetFrameDataOnIO(
165 render_process_id_, render_frame_id_, 165 render_process_id_, render_frame_id_,
166 base::Bind(&WebRequestEventDetails::OnDeterminedFrameId, 166 base::Bind(&WebRequestEventDetails::OnDeterminedFrameId,
167 base::Unretained(this), base::Passed(&self), callback)); 167 base::Unretained(this), base::Passed(&self), callback));
168 } 168 }
169 169
170 scoped_ptr<base::DictionaryValue> WebRequestEventDetails::GetFilteredDict( 170 std::unique_ptr<base::DictionaryValue> WebRequestEventDetails::GetFilteredDict(
171 int extra_info_spec) const { 171 int extra_info_spec) const {
172 scoped_ptr<base::DictionaryValue> result = dict_.CreateDeepCopy(); 172 std::unique_ptr<base::DictionaryValue> result = dict_.CreateDeepCopy();
173 if ((extra_info_spec & ExtraInfoSpec::REQUEST_BODY) && request_body_) 173 if ((extra_info_spec & ExtraInfoSpec::REQUEST_BODY) && request_body_)
174 result->Set(keys::kRequestBodyKey, request_body_->CreateDeepCopy()); 174 result->Set(keys::kRequestBodyKey, request_body_->CreateDeepCopy());
175 if ((extra_info_spec & ExtraInfoSpec::REQUEST_HEADERS) && request_headers_) 175 if ((extra_info_spec & ExtraInfoSpec::REQUEST_HEADERS) && request_headers_)
176 result->Set(keys::kRequestHeadersKey, request_headers_->CreateDeepCopy()); 176 result->Set(keys::kRequestHeadersKey, request_headers_->CreateDeepCopy());
177 if ((extra_info_spec & ExtraInfoSpec::RESPONSE_HEADERS) && response_headers_) 177 if ((extra_info_spec & ExtraInfoSpec::RESPONSE_HEADERS) && response_headers_)
178 result->Set(keys::kResponseHeadersKey, response_headers_->CreateDeepCopy()); 178 result->Set(keys::kResponseHeadersKey, response_headers_->CreateDeepCopy());
179 return result; 179 return result;
180 } 180 }
181 181
182 scoped_ptr<base::DictionaryValue> WebRequestEventDetails::GetAndClearDict() { 182 std::unique_ptr<base::DictionaryValue>
183 scoped_ptr<base::DictionaryValue> result(new base::DictionaryValue); 183 WebRequestEventDetails::GetAndClearDict() {
184 std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue);
184 dict_.Swap(result.get()); 185 dict_.Swap(result.get());
185 return result; 186 return result;
186 } 187 }
187 188
188 void WebRequestEventDetails::OnDeterminedFrameId( 189 void WebRequestEventDetails::OnDeterminedFrameId(
189 scoped_ptr<WebRequestEventDetails> self, 190 std::unique_ptr<WebRequestEventDetails> self,
190 const DeterminedFrameIdCallback& callback, 191 const DeterminedFrameIdCallback& callback,
191 const ExtensionApiFrameIdMap::FrameData& frame_data) { 192 const ExtensionApiFrameIdMap::FrameData& frame_data) {
192 dict_.SetInteger(keys::kFrameIdKey, frame_data.frame_id); 193 dict_.SetInteger(keys::kFrameIdKey, frame_data.frame_id);
193 dict_.SetInteger(keys::kParentFrameIdKey, frame_data.parent_frame_id); 194 dict_.SetInteger(keys::kParentFrameIdKey, frame_data.parent_frame_id);
194 callback.Run(std::move(self)); 195 callback.Run(std::move(self));
195 } 196 }
196 197
197 } // namespace extensions 198 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698