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

Unified Diff: content/browser/frame_host/render_frame_host_manager.cc

Issue 1685213002: Propagate window coordinates to out-of-process iframes renderers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@sendscreenrects
Patch Set: fixing ordering in DepictFrameTree Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/render_frame_host_manager.cc
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
index cd1684b769a1b7479a79e30536bf586b6eafeec9..0d15b66723de5446a8c8465260a8541aabb6b49b 100644
--- a/content/browser/frame_host/render_frame_host_manager.cc
+++ b/content/browser/frame_host/render_frame_host_manager.cc
@@ -748,7 +748,7 @@ bool RenderFrameHostManager::DeleteFromPendingList(
}
void RenderFrameHostManager::ResetProxyHosts() {
- for (auto& pair : proxy_hosts_) {
+ for (const auto& pair : proxy_hosts_) {
static_cast<SiteInstanceImpl*>(pair.second->GetSiteInstance())
->RemoveObserver(this);
}
@@ -1011,12 +1011,14 @@ void RenderFrameHostManager::ActiveFrameCountIsZero(
RenderFrameProxyHost* RenderFrameHostManager::CreateRenderFrameProxyHost(
SiteInstance* site_instance,
RenderViewHostImpl* rvh) {
- auto result = proxy_hosts_.add(site_instance->GetId(),
- make_scoped_ptr(new RenderFrameProxyHost(
- site_instance, rvh, frame_tree_node_)));
- CHECK(result.second) << "A proxy already existed for this SiteInstance.";
+ int site_instance_id = site_instance->GetId();
+ CHECK(proxy_hosts_.find(site_instance_id) == proxy_hosts_.end())
+ << "A proxy already existed for this SiteInstance.";
+ RenderFrameProxyHost* proxy_host =
+ new RenderFrameProxyHost(site_instance, rvh, frame_tree_node_);
+ proxy_hosts_[site_instance_id] = make_scoped_ptr(proxy_host);
static_cast<SiteInstanceImpl*>(site_instance)->AddObserver(this);
- return result.first->second;
+ return proxy_host;
}
void RenderFrameHostManager::DeleteRenderFrameProxyHost(
@@ -1756,7 +1758,7 @@ void RenderFrameHostManager::CreateProxiesForChildFrame(FrameTreeNode* child) {
for (const auto& pair : proxy_hosts_) {
// Do not create proxies for subframes in the outer delegate's process,
// since the outer delegate does not need to interact with them.
- if (pair.second == outer_delegate_proxy)
+ if (pair.second.get() == outer_delegate_proxy)
continue;
child->render_manager()->CreateRenderFrameProxy(
@@ -2332,18 +2334,10 @@ RenderFrameProxyHost* RenderFrameHostManager::GetRenderFrameProxyHost(
SiteInstance* instance) const {
auto it = proxy_hosts_.find(instance->GetId());
if (it != proxy_hosts_.end())
- return it->second;
+ return it->second.get();
return nullptr;
}
-std::map<int, RenderFrameProxyHost*>
-RenderFrameHostManager::GetAllProxyHostsForTesting() {
- std::map<int, RenderFrameProxyHost*> result;
- for (const auto& pair : proxy_hosts_)
- result[pair.first] = pair.second;
- return result;
-}
-
void RenderFrameHostManager::CollectOpenerFrameTrees(
std::vector<FrameTree*>* opener_frame_trees,
base::hash_set<FrameTreeNode*>* nodes_with_back_links) {

Powered by Google App Engine
This is Rietveld 408576698