Commit 8a9ec94f authored by Scott Graham's avatar Scott Graham

Revert of https://crrev.com/290125, causing browser crashes due to race

TBR=vrk@chromium.org
BUG=404767
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/503183002

Cr-Commit-Position: refs/heads/master@{#291798}
parent fad0d450
......@@ -3,20 +3,14 @@
// found in the LICENSE file.
#include "content/browser/renderer_host/media/peer_connection_tracker_host.h"
#include "base/power_monitor/power_monitor.h"
#include "content/browser/media/webrtc_internals.h"
#include "content/common/media/peer_connection_tracker_messages.h"
#include "content/public/browser/render_process_host.h"
namespace content {
PeerConnectionTrackerHost::PeerConnectionTrackerHost(int render_process_id)
: BrowserMessageFilter(PeerConnectionTrackerMsgStart),
render_process_id_(render_process_id) {
base::PowerMonitor* power_monitor = base::PowerMonitor::Get();
if (power_monitor)
power_monitor->AddObserver(this);
}
render_process_id_(render_process_id) {}
bool PeerConnectionTrackerHost::OnMessageReceived(const IPC::Message& message) {
bool handled = true;
......@@ -42,9 +36,6 @@ void PeerConnectionTrackerHost::OverrideThreadForMessage(
}
PeerConnectionTrackerHost::~PeerConnectionTrackerHost() {
base::PowerMonitor* power_monitor = base::PowerMonitor::Get();
if (power_monitor)
power_monitor->RemoveObserver(this);
}
void PeerConnectionTrackerHost::OnAddPeerConnection(
......@@ -91,11 +82,4 @@ void PeerConnectionTrackerHost::OnGetUserMedia(
video_constraints);
}
void PeerConnectionTrackerHost::OnSuspend() {
content::RenderProcessHost* host =
content::RenderProcessHost::FromID(render_process_id_);
if (host)
host->Send(new PeerConnectionTracker_OnSuspend());
}
} // namespace content
......@@ -5,7 +5,6 @@
#ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_PEER_CONNECTION_TRACKER_HOST_H_
#define CONTENT_BROWSER_RENDERER_HOST_MEDIA_PEER_CONNECTION_TRACKER_HOST_H_
#include "base/power_monitor/power_observer.h"
#include "content/public/browser/browser_message_filter.h"
struct PeerConnectionInfo;
......@@ -17,11 +16,9 @@ class ListValue;
namespace content {
// This class is the host for PeerConnectionTracker in the browser process
// managed by RenderProcessHostImpl. It receives PeerConnection events from
// PeerConnectionTracker as IPC messages that it forwards to WebRTCInternals.
// It also forwards browser process events to PeerConnectionTracker via IPC.
class PeerConnectionTrackerHost : public BrowserMessageFilter,
public base::PowerObserver {
// managed by RenderProcessHostImpl. It passes IPC messages between
// WebRTCInternals and PeerConnectionTracker.
class PeerConnectionTrackerHost : public BrowserMessageFilter {
public:
PeerConnectionTrackerHost(int render_process_id);
......@@ -30,9 +27,6 @@ class PeerConnectionTrackerHost : public BrowserMessageFilter,
virtual void OverrideThreadForMessage(const IPC::Message& message,
BrowserThread::ID* thread) OVERRIDE;
// base::PowerObserver override.
virtual void OnSuspend() OVERRIDE;
protected:
virtual ~PeerConnectionTrackerHost();
......
......@@ -40,4 +40,3 @@ IPC_MESSAGE_CONTROL5(PeerConnectionTrackerHost_GetUserMedia,
// Messages sent to PeerConnectionTracker.
IPC_MESSAGE_CONTROL0(PeerConnectionTracker_GetAllStats)
IPC_MESSAGE_CONTROL0(PeerConnectionTracker_OnSuspend)
......@@ -278,7 +278,6 @@ bool PeerConnectionTracker::OnControlMessageReceived(
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(PeerConnectionTracker, message)
IPC_MESSAGE_HANDLER(PeerConnectionTracker_GetAllStats, OnGetAllStats)
IPC_MESSAGE_HANDLER(PeerConnectionTracker_OnSuspend, OnSuspend)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
......@@ -298,13 +297,6 @@ void PeerConnectionTracker::OnGetAllStats() {
}
}
void PeerConnectionTracker::OnSuspend() {
for (PeerConnectionIdMap::iterator it = peer_connection_id_map_.begin();
it != peer_connection_id_map_.end(); ++it) {
it->first->stop();
}
}
void PeerConnectionTracker::RegisterPeerConnection(
RTCPeerConnectionHandler* pc_handler,
const webrtc::PeerConnectionInterface::RTCConfiguration& config,
......
......@@ -161,9 +161,6 @@ class CONTENT_EXPORT PeerConnectionTracker : public RenderProcessObserver {
// IPC Message handler for getting all stats.
void OnGetAllStats();
// Called when the browser process reports a suspend event from the OS.
void OnSuspend();
void SendPeerConnectionUpdate(RTCPeerConnectionHandler* pc_handler,
const std::string& callback_type,
const std::string& value);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment