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 |