OLD | NEW |
---|---|
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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
147 } | 147 } |
148 } | 148 } |
149 | 149 |
150 void WebRequestEventDetails::SetResponseSource(const net::URLRequest* request) { | 150 void WebRequestEventDetails::SetResponseSource(const net::URLRequest* request) { |
151 dict_.SetBoolean(keys::kFromCache, request->was_cached()); | 151 dict_.SetBoolean(keys::kFromCache, request->was_cached()); |
152 const std::string response_ip = request->GetSocketAddress().host(); | 152 const std::string response_ip = request->GetSocketAddress().host(); |
153 if (!response_ip.empty()) | 153 if (!response_ip.empty()) |
154 dict_.SetString(keys::kIpKey, response_ip); | 154 dict_.SetString(keys::kIpKey, response_ip); |
155 } | 155 } |
156 | 156 |
157 void WebRequestEventDetails::SetFrameData( | |
158 const ExtensionApiFrameIdMap::FrameData& frame_data) { | |
159 dict_.SetInteger(keys::kTabIdKey, frame_data.tab_id); | |
160 dict_.SetInteger(keys::kFrameIdKey, frame_data.frame_id); | |
161 dict_.SetInteger(keys::kParentFrameIdKey, frame_data.parent_frame_id); | |
162 } | |
163 | |
157 void WebRequestEventDetails::DetermineFrameDataOnUI() { | 164 void WebRequestEventDetails::DetermineFrameDataOnUI() { |
158 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 165 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
159 content::RenderFrameHost* rfh = | 166 content::RenderFrameHost* rfh = |
160 content::RenderFrameHost::FromID(render_process_id_, render_frame_id_); | 167 content::RenderFrameHost::FromID(render_process_id_, render_frame_id_); |
161 ExtensionApiFrameIdMap::FrameData frame_data = | 168 ExtensionApiFrameIdMap::FrameData frame_data = |
162 ExtensionApiFrameIdMap::Get()->GetFrameData(rfh); | 169 ExtensionApiFrameIdMap::Get()->GetFrameData(rfh); |
163 | 170 SetFrameData(frame_data); |
164 dict_.SetInteger(keys::kTabIdKey, frame_data.tab_id); | |
165 dict_.SetInteger(keys::kFrameIdKey, frame_data.frame_id); | |
166 dict_.SetInteger(keys::kParentFrameIdKey, frame_data.parent_frame_id); | |
167 } | 171 } |
168 | 172 |
169 void WebRequestEventDetails::DetermineFrameDataOnIO( | 173 void WebRequestEventDetails::DetermineFrameDataOnIO( |
170 const DeterminedFrameDataCallback& callback) { | 174 const DeterminedFrameDataCallback& callback) { |
171 std::unique_ptr<WebRequestEventDetails> self(this); | 175 std::unique_ptr<WebRequestEventDetails> self(this); |
172 ExtensionApiFrameIdMap::Get()->GetFrameDataOnIO( | 176 ExtensionApiFrameIdMap::Get()->GetFrameDataOnIO( |
173 render_process_id_, render_frame_id_, | 177 render_process_id_, render_frame_id_, |
174 base::Bind(&WebRequestEventDetails::OnDeterminedFrameData, | 178 base::Bind(&WebRequestEventDetails::OnDeterminedFrameData, |
175 base::Unretained(this), base::Passed(&self), callback)); | 179 base::Unretained(this), base::Passed(&self), callback)); |
176 } | 180 } |
(...skipping 14 matching lines...) Expand all Loading... | |
191 WebRequestEventDetails::GetAndClearDict() { | 195 WebRequestEventDetails::GetAndClearDict() { |
192 std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue); | 196 std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue); |
193 dict_.Swap(result.get()); | 197 dict_.Swap(result.get()); |
194 return result; | 198 return result; |
195 } | 199 } |
196 | 200 |
197 void WebRequestEventDetails::OnDeterminedFrameData( | 201 void WebRequestEventDetails::OnDeterminedFrameData( |
198 std::unique_ptr<WebRequestEventDetails> self, | 202 std::unique_ptr<WebRequestEventDetails> self, |
199 const DeterminedFrameDataCallback& callback, | 203 const DeterminedFrameDataCallback& callback, |
200 const ExtensionApiFrameIdMap::FrameData& frame_data) { | 204 const ExtensionApiFrameIdMap::FrameData& frame_data) { |
201 dict_.SetInteger(keys::kTabIdKey, frame_data.tab_id); | 205 dict_.SetInteger(keys::kTabIdKey, frame_data.tab_id); |
Devlin
2016/09/16 16:17:26
SetFrameData?
clamy
2016/09/19 15:10:03
Done.
| |
202 dict_.SetInteger(keys::kFrameIdKey, frame_data.frame_id); | 206 dict_.SetInteger(keys::kFrameIdKey, frame_data.frame_id); |
203 dict_.SetInteger(keys::kParentFrameIdKey, frame_data.parent_frame_id); | 207 dict_.SetInteger(keys::kParentFrameIdKey, frame_data.parent_frame_id); |
204 callback.Run(std::move(self)); | 208 callback.Run(std::move(self)); |
205 } | 209 } |
206 | 210 |
207 } // namespace extensions | 211 } // namespace extensions |
OLD | NEW |