Roll WebRTC 9013:9030, Libjingle 9009:9029
[chromium-blink-merge.git] / chromecast / renderer / cast_render_process_observer.h
blob479026c5717a284a1f2d0175ba2ecce7b56a63bf
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROMECAST_RENDERER_CAST_RENDER_PROCESS_OBSERVER_H_
6 #define CHROMECAST_RENDERER_CAST_RENDER_PROCESS_OBSERVER_H_
8 #include <vector>
10 #include "base/macros.h"
11 #include "base/memory/ref_counted.h"
12 #include "content/public/renderer/render_process_observer.h"
14 namespace IPC {
15 class MessageFilter;
18 namespace chromecast {
19 class CapabilitiesMessageFilter;
20 namespace media {
21 class CmaMessageFilterProxy;
24 namespace shell {
26 class CastRenderProcessObserver : public content::RenderProcessObserver {
27 public:
28 CastRenderProcessObserver(
29 const std::vector<scoped_refptr<IPC::MessageFilter>>&
30 platform_message_filters);
31 ~CastRenderProcessObserver() override;
33 private:
34 // content::RenderProcessObserver implementation:
35 void OnRenderProcessShutdown() override;
37 void CreateCustomFilters();
39 #if !defined(OS_ANDROID)
40 scoped_refptr<media::CmaMessageFilterProxy> cma_message_filter_proxy_;
41 #endif // !defined(OS_ANDROID)
42 scoped_refptr<CapabilitiesMessageFilter> capabilities_message_filter_;
43 std::vector<scoped_refptr<IPC::MessageFilter>> platform_message_filters_;
45 DISALLOW_COPY_AND_ASSIGN(CastRenderProcessObserver);
48 } // namespace shell
49 } // namespace chromecast
51 #endif // CHROMECAST_RENDERER_CAST_RENDER_PROCESS_OBSERVER_H_