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

Side by Side Diff: content/renderer/render_thread_impl.cc

Issue 1409693009: Fix leaking of RenderFrames. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/renderer/render_thread_impl.h" 5 #include "content/renderer/render_thread_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <map> 9 #include <map>
10 #include <vector> 10 #include <vector>
(...skipping 1592 matching lines...) Expand 10 before | Expand all | Expand 10 after
1603 // Some messages are handled by delegates. 1603 // Some messages are handled by delegates.
1604 if (appcache_dispatcher_->OnMessageReceived(msg) || 1604 if (appcache_dispatcher_->OnMessageReceived(msg) ||
1605 dom_storage_dispatcher_->OnMessageReceived(msg) || 1605 dom_storage_dispatcher_->OnMessageReceived(msg) ||
1606 embedded_worker_dispatcher_->OnMessageReceived(msg)) { 1606 embedded_worker_dispatcher_->OnMessageReceived(msg)) {
1607 return true; 1607 return true;
1608 } 1608 }
1609 1609
1610 bool handled = true; 1610 bool handled = true;
1611 IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg) 1611 IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg)
1612 IPC_MESSAGE_HANDLER(FrameMsg_NewFrame, OnCreateNewFrame) 1612 IPC_MESSAGE_HANDLER(FrameMsg_NewFrame, OnCreateNewFrame)
1613 IPC_MESSAGE_HANDLER(FrameMsg_DeleteFrame, OnDeleteFrame)
1613 IPC_MESSAGE_HANDLER(FrameMsg_NewFrameProxy, OnCreateNewFrameProxy) 1614 IPC_MESSAGE_HANDLER(FrameMsg_NewFrameProxy, OnCreateNewFrameProxy)
1614 IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForCurrentURL, 1615 IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForCurrentURL,
1615 OnSetZoomLevelForCurrentURL) 1616 OnSetZoomLevelForCurrentURL)
1616 // TODO(port): removed from render_messages_internal.h; 1617 // TODO(port): removed from render_messages_internal.h;
1617 // is there a new non-windows message I should add here? 1618 // is there a new non-windows message I should add here?
1618 IPC_MESSAGE_HANDLER(ViewMsg_New, OnCreateNewView) 1619 IPC_MESSAGE_HANDLER(ViewMsg_New, OnCreateNewView)
1619 IPC_MESSAGE_HANDLER(ViewMsg_NetworkConnectionChanged, 1620 IPC_MESSAGE_HANDLER(ViewMsg_NetworkConnectionChanged,
1620 OnNetworkConnectionChanged) 1621 OnNetworkConnectionChanged)
1621 IPC_MESSAGE_HANDLER(WorkerProcessMsg_CreateWorker, OnCreateNewSharedWorker) 1622 IPC_MESSAGE_HANDLER(WorkerProcessMsg_CreateWorker, OnCreateNewSharedWorker)
1622 IPC_MESSAGE_HANDLER(ViewMsg_TimezoneChange, OnUpdateTimezone) 1623 IPC_MESSAGE_HANDLER(ViewMsg_TimezoneChange, OnUpdateTimezone)
(...skipping 23 matching lines...) Expand all
1646 } 1647 }
1647 1648
1648 void RenderThreadImpl::OnCreateNewFrame(FrameMsg_NewFrame_Params params) { 1649 void RenderThreadImpl::OnCreateNewFrame(FrameMsg_NewFrame_Params params) {
1649 CompositorDependencies* compositor_deps = this; 1650 CompositorDependencies* compositor_deps = this;
1650 RenderFrameImpl::CreateFrame( 1651 RenderFrameImpl::CreateFrame(
1651 params.routing_id, params.proxy_routing_id, params.opener_routing_id, 1652 params.routing_id, params.proxy_routing_id, params.opener_routing_id,
1652 params.parent_routing_id, params.previous_sibling_routing_id, 1653 params.parent_routing_id, params.previous_sibling_routing_id,
1653 params.replication_state, compositor_deps, params.widget_params); 1654 params.replication_state, compositor_deps, params.widget_params);
1654 } 1655 }
1655 1656
1657 void RenderThreadImpl::OnDeleteFrame(int routing_id) {
1658 RenderFrameImpl::DeleteFrame(routing_id);
1659 }
1660
1656 void RenderThreadImpl::OnCreateNewFrameProxy( 1661 void RenderThreadImpl::OnCreateNewFrameProxy(
1657 int routing_id, 1662 int routing_id,
1658 int render_view_routing_id, 1663 int render_view_routing_id,
1659 int opener_routing_id, 1664 int opener_routing_id,
1660 int parent_routing_id, 1665 int parent_routing_id,
1661 const FrameReplicationState& replicated_state) { 1666 const FrameReplicationState& replicated_state) {
1662 RenderFrameProxy::CreateFrameProxy(routing_id, render_view_routing_id, 1667 RenderFrameProxy::CreateFrameProxy(routing_id, render_view_routing_id,
1663 opener_routing_id, parent_routing_id, 1668 opener_routing_id, parent_routing_id,
1664 replicated_state); 1669 replicated_state);
1665 } 1670 }
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
2009 } 2014 }
2010 2015
2011 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { 2016 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() {
2012 size_t erased = 2017 size_t erased =
2013 RenderThreadImpl::current()->pending_render_frame_connects_.erase( 2018 RenderThreadImpl::current()->pending_render_frame_connects_.erase(
2014 routing_id_); 2019 routing_id_);
2015 DCHECK_EQ(1u, erased); 2020 DCHECK_EQ(1u, erased);
2016 } 2021 }
2017 2022
2018 } // namespace content 2023 } // namespace content
OLDNEW
« content/renderer/render_frame_impl.cc ('K') | « content/renderer/render_thread_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698