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" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 class Rect; | 55 class Rect; |
56 } | 56 } |
57 | 57 |
58 namespace content { | 58 namespace content { |
59 | 59 |
60 class ChildFrameCompositingHelper; | 60 class ChildFrameCompositingHelper; |
61 class GeolocationDispatcher; | 61 class GeolocationDispatcher; |
62 class MediaStreamRendererFactory; | 62 class MediaStreamRendererFactory; |
63 class NotificationProvider; | 63 class NotificationProvider; |
64 class PepperPluginInstanceImpl; | 64 class PepperPluginInstanceImpl; |
| 65 class RendererCdmManager; |
| 66 class RendererMediaPlayerManager; |
65 class RendererPpapiHost; | 67 class RendererPpapiHost; |
66 class RenderFrameObserver; | 68 class RenderFrameObserver; |
67 class RenderViewImpl; | 69 class RenderViewImpl; |
68 class RenderWidget; | 70 class RenderWidget; |
69 class RenderWidgetFullscreenPepper; | 71 class RenderWidgetFullscreenPepper; |
70 struct CustomContextMenuContext; | 72 struct CustomContextMenuContext; |
71 | 73 |
72 #if defined(OS_ANDROID) | |
73 class RendererCdmManager; | |
74 class RendererMediaPlayerManager; | |
75 #endif | |
76 | |
77 class CONTENT_EXPORT RenderFrameImpl | 74 class CONTENT_EXPORT RenderFrameImpl |
78 : public RenderFrame, | 75 : public RenderFrame, |
79 NON_EXPORTED_BASE(public blink::WebFrameClient), | 76 NON_EXPORTED_BASE(public blink::WebFrameClient), |
80 NON_EXPORTED_BASE(public WebMediaPlayerDelegate) { | 77 NON_EXPORTED_BASE(public WebMediaPlayerDelegate) { |
81 public: | 78 public: |
82 // 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 |
83 // frame belongs to. | 80 // frame belongs to. |
84 // Callers *must* call |SetWebFrame| immediately after creation. | 81 // Callers *must* call |SetWebFrame| immediately after creation. |
85 // 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. |
86 static RenderFrameImpl* Create(RenderViewImpl* render_view, int32 routing_id); | 83 static RenderFrameImpl* Create(RenderViewImpl* render_view, int32 routing_id); |
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
535 // Creates a factory object used for creating audio and video renderers. | 532 // Creates a factory object used for creating audio and video renderers. |
536 // The method is virtual so that layouttests can override it. | 533 // The method is virtual so that layouttests can override it. |
537 virtual scoped_ptr<MediaStreamRendererFactory> CreateRendererFactory(); | 534 virtual scoped_ptr<MediaStreamRendererFactory> CreateRendererFactory(); |
538 | 535 |
539 #if defined(OS_ANDROID) | 536 #if defined(OS_ANDROID) |
540 blink::WebMediaPlayer* CreateAndroidWebMediaPlayer( | 537 blink::WebMediaPlayer* CreateAndroidWebMediaPlayer( |
541 const blink::WebURL& url, | 538 const blink::WebURL& url, |
542 blink::WebMediaPlayerClient* client); | 539 blink::WebMediaPlayerClient* client); |
543 | 540 |
544 RendererMediaPlayerManager* GetMediaPlayerManager(); | 541 RendererMediaPlayerManager* GetMediaPlayerManager(); |
| 542 #endif |
| 543 |
| 544 #if defined(ENABLE_BROWSER_CDMS) |
545 RendererCdmManager* GetCdmManager(); | 545 RendererCdmManager* GetCdmManager(); |
546 #endif | 546 #endif |
547 | 547 |
548 // Stores the WebLocalFrame we are associated with. | 548 // Stores the WebLocalFrame we are associated with. |
549 blink::WebLocalFrame* frame_; | 549 blink::WebLocalFrame* frame_; |
550 | 550 |
551 base::WeakPtr<RenderViewImpl> render_view_; | 551 base::WeakPtr<RenderViewImpl> render_view_; |
552 int routing_id_; | 552 int routing_id_; |
553 bool is_swapped_out_; | 553 bool is_swapped_out_; |
554 // RenderFrameProxy exists only when is_swapped_out_ is true. | 554 // RenderFrameProxy exists only when is_swapped_out_ is true. |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 // The next group of objects all implement RenderFrameObserver, so are deleted | 604 // The next group of objects all implement RenderFrameObserver, so are deleted |
605 // along with the RenderFrame automatically. This is why we just store weak | 605 // along with the RenderFrame automatically. This is why we just store weak |
606 // references. | 606 // references. |
607 | 607 |
608 // Holds a reference to the service which provides desktop notifications. | 608 // Holds a reference to the service which provides desktop notifications. |
609 NotificationProvider* notification_provider_; | 609 NotificationProvider* notification_provider_; |
610 | 610 |
611 blink::WebUserMediaClient* web_user_media_client_; | 611 blink::WebUserMediaClient* web_user_media_client_; |
612 | 612 |
613 #if defined(OS_ANDROID) | 613 #if defined(OS_ANDROID) |
614 // These manage all media players and CDMs in this render frame for | 614 // Manages all media players in this render frame for communicating with the |
615 // communicating with the real media player and CDM objects in the browser | 615 // real media player in the browser process. It's okay to use a raw pointer |
616 // process. It's okay to use raw pointers since they are RenderFrameObservers. | 616 // since it's a RenderFrameObserver. |
617 RendererMediaPlayerManager* media_player_manager_; | 617 RendererMediaPlayerManager* media_player_manager_; |
| 618 #endif |
| 619 |
| 620 #if defined(ENABLE_BROWSER_CDMS) |
| 621 // Manage all CDMs in this render frame for communicating with the real CDM in |
| 622 // the browser process. It's okay to use a raw pointer since it's a |
| 623 // RenderFrameObserver. |
618 RendererCdmManager* cdm_manager_; | 624 RendererCdmManager* cdm_manager_; |
619 #endif | 625 #endif |
620 | 626 |
621 // The geolocation dispatcher attached to this view, lazily initialized. | 627 // The geolocation dispatcher attached to this view, lazily initialized. |
622 GeolocationDispatcher* geolocation_dispatcher_; | 628 GeolocationDispatcher* geolocation_dispatcher_; |
623 | 629 |
624 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; | 630 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; |
625 | 631 |
626 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); | 632 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); |
627 }; | 633 }; |
628 | 634 |
629 } // namespace content | 635 } // namespace content |
630 | 636 |
631 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 637 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
OLD | NEW |