Chromium Code Reviews| Index: extensions/browser/guest_view/web_view/web_view_renderer_state.cc |
| diff --git a/extensions/browser/guest_view/web_view/web_view_renderer_state.cc b/extensions/browser/guest_view/web_view/web_view_renderer_state.cc |
| index 9851e617562b2c817cd294a591e543aa689aad37..bda31915f2d4af2c3bebdf5ad267770417126c91 100644 |
| --- a/extensions/browser/guest_view/web_view/web_view_renderer_state.cc |
| +++ b/extensions/browser/guest_view/web_view/web_view_renderer_state.cc |
| @@ -9,6 +9,12 @@ using content::BrowserThread; |
| namespace extensions { |
| +WebViewRendererState::WebViewInfo::WebViewInfo() { |
| +} |
| + |
| +WebViewRendererState::WebViewInfo::~WebViewInfo() { |
| +} |
| + |
| // static |
| WebViewRendererState* WebViewRendererState::GetInstance() { |
| return Singleton<WebViewRendererState>::get(); |
| @@ -103,4 +109,37 @@ bool WebViewRendererState::GetPartitionID(int guest_process_id, |
| return false; |
| } |
| +void WebViewRendererState::AddContentScriptIDs(int embedder_process_id, |
| + int guest_view_instance_id, |
| + std::set<int> script_ids) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + |
| + for (auto& x : web_view_info_map_) { |
|
Fady Samuel
2015/03/31 23:40:12
const auto& render_id_info : web_view_info_map_
Xi Han
2015/04/01 22:14:41
It cannot be const, since we insert ids to the inf
|
| + WebViewInfo& info = x.second; |
|
Fady Samuel
2015/03/31 23:40:12
const WebViewInfo&
Xi Han
2015/04/01 22:14:41
Same as above.
|
| + if (info.embedder_process_id == embedder_process_id && |
| + info.instance_id == guest_view_instance_id) { |
| + for (int id : script_ids) { |
| + info.content_script_ids.insert(id); |
| + } |
| + return; |
| + } |
| + } |
| +} |
| + |
| +void WebViewRendererState::RemoveContentScriptIDs(int embedder_process_id, |
| + int guest_view_instance_id, |
| + std::set<int> script_ids) { |
|
Fady Samuel
2015/03/31 23:40:12
const std::set<int>&
Xi Han
2015/04/01 22:14:41
Done.
|
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + |
| + for (auto& x : web_view_info_map_) { |
| + WebViewInfo& info = x.second; |
| + if (info.embedder_process_id == embedder_process_id && |
| + info.instance_id == guest_view_instance_id) { |
| + for (int id : script_ids) |
| + info.content_script_ids.erase(id); |
| + return; |
| + } |
| + } |
| +} |
| + |
| } // namespace extensions |