OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/files/file_path.h" | 11 #include "base/files/file_path.h" |
12 #include "base/gtest_prod_util.h" | 12 #include "base/gtest_prod_util.h" |
13 #include "base/id_map.h" | 13 #include "base/id_map.h" |
14 #include "base/memory/weak_ptr.h" | 14 #include "base/memory/weak_ptr.h" |
15 #include "base/observer_list.h" | 15 #include "base/observer_list.h" |
16 #include "base/process/process_handle.h" | 16 #include "base/process/process_handle.h" |
17 #include "content/public/common/javascript_message_type.h" | 17 #include "content/public/common/javascript_message_type.h" |
18 #include "content/public/common/referrer.h" | 18 #include "content/public/common/referrer.h" |
19 #include "content/public/renderer/render_frame.h" | 19 #include "content/public/renderer/render_frame.h" |
20 #include "content/renderer/media/webmediaplayer_delegate.h" | 20 #include "content/renderer/media/webmediaplayer_delegate.h" |
21 #include "content/renderer/renderer_webcookiejar_impl.h" | 21 #include "content/renderer/renderer_webcookiejar_impl.h" |
22 #include "ipc/ipc_message.h" | 22 #include "ipc/ipc_message.h" |
23 #include "third_party/WebKit/public/web/WebDataSource.h" | 23 #include "third_party/WebKit/public/web/WebDataSource.h" |
24 #include "third_party/WebKit/public/web/WebFrameClient.h" | 24 #include "third_party/WebKit/public/web/WebFrameClient.h" |
25 #include "third_party/WebKit/public/web/WebHistoryCommitType.h" | 25 #include "third_party/WebKit/public/web/WebHistoryCommitType.h" |
26 #include "ui/gfx/range/range.h" | 26 #include "ui/gfx/range/range.h" |
27 | 27 |
| 28 #if defined(OS_ANDROID) |
| 29 #include "content/renderer/media/android/renderer_media_player_manager.h" |
| 30 #endif |
| 31 |
28 class TransportDIB; | 32 class TransportDIB; |
29 struct FrameMsg_BuffersSwapped_Params; | 33 struct FrameMsg_BuffersSwapped_Params; |
30 struct FrameMsg_CompositorFrameSwapped_Params; | 34 struct FrameMsg_CompositorFrameSwapped_Params; |
31 struct FrameMsg_Navigate_Params; | 35 struct FrameMsg_Navigate_Params; |
32 | 36 |
33 namespace blink { | 37 namespace blink { |
34 class WebGeolocationClient; | 38 class WebGeolocationClient; |
35 class WebInputEvent; | 39 class WebInputEvent; |
36 class WebMouseEvent; | 40 class WebMouseEvent; |
37 class WebContentDecryptionModule; | 41 class WebContentDecryptionModule; |
(...skipping 18 matching lines...) Expand all Loading... |
56 class MediaStreamClient; | 60 class MediaStreamClient; |
57 class NotificationProvider; | 61 class NotificationProvider; |
58 class PepperPluginInstanceImpl; | 62 class PepperPluginInstanceImpl; |
59 class RendererPpapiHost; | 63 class RendererPpapiHost; |
60 class RenderFrameObserver; | 64 class RenderFrameObserver; |
61 class RenderViewImpl; | 65 class RenderViewImpl; |
62 class RenderWidget; | 66 class RenderWidget; |
63 class RenderWidgetFullscreenPepper; | 67 class RenderWidgetFullscreenPepper; |
64 struct CustomContextMenuContext; | 68 struct CustomContextMenuContext; |
65 | 69 |
| 70 #if defined(OS_ANDROID) |
| 71 class RendererMediaPlayerManager; |
| 72 #endif |
| 73 |
66 class CONTENT_EXPORT RenderFrameImpl | 74 class CONTENT_EXPORT RenderFrameImpl |
67 : public RenderFrame, | 75 : public RenderFrame, |
68 NON_EXPORTED_BASE(public blink::WebFrameClient), | 76 NON_EXPORTED_BASE(public blink::WebFrameClient), |
69 NON_EXPORTED_BASE(public WebMediaPlayerDelegate) { | 77 NON_EXPORTED_BASE(public WebMediaPlayerDelegate) { |
70 public: | 78 public: |
71 // Creates a new RenderFrame. |render_view| is the RenderView object that this | 79 // Creates a new RenderFrame. |render_view| is the RenderView object that this |
72 // frame belongs to. | 80 // frame belongs to. |
73 // Callers *must* call |SetWebFrame| immediately after creation. | 81 // Callers *must* call |SetWebFrame| immediately after creation. |
74 // TODO(creis): We should structure this so that |SetWebFrame| isn't needed. | 82 // TODO(creis): We should structure this so that |SetWebFrame| isn't needed. |
75 static RenderFrameImpl* Create(RenderViewImpl* render_view, int32 routing_id); | 83 static RenderFrameImpl* Create(RenderViewImpl* render_view, int32 routing_id); |
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 bool InitializeMediaStreamClient(); | 499 bool InitializeMediaStreamClient(); |
492 | 500 |
493 blink::WebMediaPlayer* CreateWebMediaPlayerForMediaStream( | 501 blink::WebMediaPlayer* CreateWebMediaPlayerForMediaStream( |
494 const blink::WebURL& url, | 502 const blink::WebURL& url, |
495 blink::WebMediaPlayerClient* client); | 503 blink::WebMediaPlayerClient* client); |
496 | 504 |
497 #if defined(OS_ANDROID) | 505 #if defined(OS_ANDROID) |
498 blink::WebMediaPlayer* CreateAndroidWebMediaPlayer( | 506 blink::WebMediaPlayer* CreateAndroidWebMediaPlayer( |
499 const blink::WebURL& url, | 507 const blink::WebURL& url, |
500 blink::WebMediaPlayerClient* client); | 508 blink::WebMediaPlayerClient* client); |
| 509 |
| 510 RendererMediaPlayerManager* GetMediaPlayerManager(); |
501 #endif | 511 #endif |
502 | 512 |
503 // Stores the WebLocalFrame we are associated with. | 513 // Stores the WebLocalFrame we are associated with. |
504 blink::WebLocalFrame* frame_; | 514 blink::WebLocalFrame* frame_; |
505 | 515 |
506 base::WeakPtr<RenderViewImpl> render_view_; | 516 base::WeakPtr<RenderViewImpl> render_view_; |
507 int routing_id_; | 517 int routing_id_; |
508 bool is_swapped_out_; | 518 bool is_swapped_out_; |
509 bool is_detaching_; | 519 bool is_detaching_; |
510 | 520 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
556 // along with the RenderFrame automatically. This is why we just store weak | 566 // along with the RenderFrame automatically. This is why we just store weak |
557 // references. | 567 // references. |
558 | 568 |
559 // Holds a reference to the service which provides desktop notifications. | 569 // Holds a reference to the service which provides desktop notifications. |
560 NotificationProvider* notification_provider_; | 570 NotificationProvider* notification_provider_; |
561 | 571 |
562 // MediaStreamClient attached to this frame; lazily initialized. | 572 // MediaStreamClient attached to this frame; lazily initialized. |
563 MediaStreamClient* media_stream_client_; | 573 MediaStreamClient* media_stream_client_; |
564 blink::WebUserMediaClient* web_user_media_client_; | 574 blink::WebUserMediaClient* web_user_media_client_; |
565 | 575 |
| 576 #if defined(OS_ANDROID) |
| 577 // Manages all media players in this render frame for communicating with the |
| 578 // real media player and CDM objects in the browser process. It's okay to use |
| 579 // raw pointers since it's a RenderFrameObserver. |
| 580 RendererMediaPlayerManager* media_player_manager_; |
| 581 #endif |
| 582 |
566 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; | 583 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; |
567 | 584 |
568 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); | 585 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); |
569 }; | 586 }; |
570 | 587 |
571 } // namespace content | 588 } // namespace content |
572 | 589 |
573 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 590 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
OLD | NEW |