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 #include "content/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
59 #include "content/renderer/devtools/devtools_agent.h" | 59 #include "content/renderer/devtools/devtools_agent.h" |
60 #include "content/renderer/dom_automation_controller.h" | 60 #include "content/renderer/dom_automation_controller.h" |
61 #include "content/renderer/dom_utils.h" | 61 #include "content/renderer/dom_utils.h" |
62 #include "content/renderer/external_popup_menu.h" | 62 #include "content/renderer/external_popup_menu.h" |
63 #include "content/renderer/geolocation_dispatcher.h" | 63 #include "content/renderer/geolocation_dispatcher.h" |
64 #include "content/renderer/history_controller.h" | 64 #include "content/renderer/history_controller.h" |
65 #include "content/renderer/history_serialization.h" | 65 #include "content/renderer/history_serialization.h" |
66 #include "content/renderer/image_loading_helper.h" | 66 #include "content/renderer/image_loading_helper.h" |
67 #include "content/renderer/ime_event_guard.h" | 67 #include "content/renderer/ime_event_guard.h" |
68 #include "content/renderer/internal_document_state_data.h" | 68 #include "content/renderer/internal_document_state_data.h" |
69 #include "content/renderer/manifest/manifest_manager.h" | |
69 #include "content/renderer/media/audio_renderer_mixer_manager.h" | 70 #include "content/renderer/media/audio_renderer_mixer_manager.h" |
70 #include "content/renderer/media/crypto/encrypted_media_player_support_impl.h" | 71 #include "content/renderer/media/crypto/encrypted_media_player_support_impl.h" |
71 #include "content/renderer/media/media_stream_dispatcher.h" | 72 #include "content/renderer/media/media_stream_dispatcher.h" |
72 #include "content/renderer/media/media_stream_renderer_factory.h" | 73 #include "content/renderer/media/media_stream_renderer_factory.h" |
73 #include "content/renderer/media/midi_dispatcher.h" | 74 #include "content/renderer/media/midi_dispatcher.h" |
74 #include "content/renderer/media/render_media_log.h" | 75 #include "content/renderer/media/render_media_log.h" |
75 #include "content/renderer/media/user_media_client_impl.h" | 76 #include "content/renderer/media/user_media_client_impl.h" |
76 #include "content/renderer/media/webcontentdecryptionmodule_impl.h" | 77 #include "content/renderer/media/webcontentdecryptionmodule_impl.h" |
77 #include "content/renderer/media/webmediaplayer_ms.h" | 78 #include "content/renderer/media/webmediaplayer_ms.h" |
78 #include "content/renderer/notification_permission_dispatcher.h" | 79 #include "content/renderer/notification_permission_dispatcher.h" |
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
447 #endif | 448 #endif |
448 #if defined(ENABLE_BROWSER_CDMS) | 449 #if defined(ENABLE_BROWSER_CDMS) |
449 cdm_manager_(NULL), | 450 cdm_manager_(NULL), |
450 #endif | 451 #endif |
451 #if defined(VIDEO_HOLE) | 452 #if defined(VIDEO_HOLE) |
452 contains_media_player_(false), | 453 contains_media_player_(false), |
453 #endif | 454 #endif |
454 geolocation_dispatcher_(NULL), | 455 geolocation_dispatcher_(NULL), |
455 push_messaging_dispatcher_(NULL), | 456 push_messaging_dispatcher_(NULL), |
456 screen_orientation_dispatcher_(NULL), | 457 screen_orientation_dispatcher_(NULL), |
458 manifest_manager_(NULL), | |
457 accessibility_mode_(AccessibilityModeOff), | 459 accessibility_mode_(AccessibilityModeOff), |
458 renderer_accessibility_(NULL), | 460 renderer_accessibility_(NULL), |
459 weak_factory_(this) { | 461 weak_factory_(this) { |
460 std::pair<RoutingIDFrameMap::iterator, bool> result = | 462 std::pair<RoutingIDFrameMap::iterator, bool> result = |
461 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); | 463 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); |
462 CHECK(result.second) << "Inserting a duplicate item."; | 464 CHECK(result.second) << "Inserting a duplicate item."; |
463 | 465 |
464 RenderThread::Get()->AddRoute(routing_id_, this); | 466 RenderThread::Get()->AddRoute(routing_id_, this); |
465 | 467 |
466 render_view_->RegisterRenderFrame(this); | 468 render_view_->RegisterRenderFrame(this); |
467 | 469 |
468 #if defined(OS_ANDROID) | 470 #if defined(OS_ANDROID) |
469 new GinJavaBridgeDispatcher(this); | 471 new GinJavaBridgeDispatcher(this); |
470 #endif | 472 #endif |
471 | 473 |
472 #if defined(ENABLE_NOTIFICATIONS) | 474 #if defined(ENABLE_NOTIFICATIONS) |
473 notification_provider_ = new NotificationProvider(this); | 475 notification_provider_ = new NotificationProvider(this); |
474 #endif | 476 #endif |
477 | |
478 manifest_manager_ = new ManifestManager(this); | |
475 } | 479 } |
476 | 480 |
477 RenderFrameImpl::~RenderFrameImpl() { | 481 RenderFrameImpl::~RenderFrameImpl() { |
478 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); | 482 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); |
479 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); | 483 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); |
480 | 484 |
481 #if defined(VIDEO_HOLE) | 485 #if defined(VIDEO_HOLE) |
482 if (contains_media_player_) | 486 if (contains_media_player_) |
483 render_view_->UnregisterVideoHoleFrame(this); | 487 render_view_->UnregisterVideoHoleFrame(this); |
484 #endif | 488 #endif |
(...skipping 2696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3181 routing_id_, frame_rect, scale_factor)); | 3185 routing_id_, frame_rect, scale_factor)); |
3182 } | 3186 } |
3183 | 3187 |
3184 blink::WebScreenOrientationClient* | 3188 blink::WebScreenOrientationClient* |
3185 RenderFrameImpl::webScreenOrientationClient() { | 3189 RenderFrameImpl::webScreenOrientationClient() { |
3186 if (!screen_orientation_dispatcher_) | 3190 if (!screen_orientation_dispatcher_) |
3187 screen_orientation_dispatcher_ = new ScreenOrientationDispatcher(this); | 3191 screen_orientation_dispatcher_ = new ScreenOrientationDispatcher(this); |
3188 return screen_orientation_dispatcher_; | 3192 return screen_orientation_dispatcher_; |
3189 } | 3193 } |
3190 | 3194 |
3195 void RenderFrameImpl::didChangeManifest(blink::WebLocalFrame* frame) | |
3196 { | |
3197 DCHECK(!frame_ || frame_ == frame); | |
3198 DCHECK(manifest_manager_); | |
3199 | |
3200 manifest_manager_->ManifestChanged(); | |
jochen (gone - plz use gerrit)
2014/09/10 08:02:43
can you add a render frame observer callback inste
mlamouri (slow - plz ping)
2014/09/10 17:06:20
Done.
| |
3201 } | |
3202 | |
3191 void RenderFrameImpl::DidPlay(blink::WebMediaPlayer* player) { | 3203 void RenderFrameImpl::DidPlay(blink::WebMediaPlayer* player) { |
3192 Send(new FrameHostMsg_MediaPlayingNotification( | 3204 Send(new FrameHostMsg_MediaPlayingNotification( |
3193 routing_id_, reinterpret_cast<int64>(player), player->hasVideo(), | 3205 routing_id_, reinterpret_cast<int64>(player), player->hasVideo(), |
3194 player->hasAudio())); | 3206 player->hasAudio())); |
3195 } | 3207 } |
3196 | 3208 |
3197 void RenderFrameImpl::DidPause(blink::WebMediaPlayer* player) { | 3209 void RenderFrameImpl::DidPause(blink::WebMediaPlayer* player) { |
3198 Send(new FrameHostMsg_MediaPausedNotification( | 3210 Send(new FrameHostMsg_MediaPausedNotification( |
3199 routing_id_, reinterpret_cast<int64>(player))); | 3211 routing_id_, reinterpret_cast<int64>(player))); |
3200 } | 3212 } |
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3881 | 3893 |
3882 #if defined(ENABLE_BROWSER_CDMS) | 3894 #if defined(ENABLE_BROWSER_CDMS) |
3883 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 3895 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
3884 if (!cdm_manager_) | 3896 if (!cdm_manager_) |
3885 cdm_manager_ = new RendererCdmManager(this); | 3897 cdm_manager_ = new RendererCdmManager(this); |
3886 return cdm_manager_; | 3898 return cdm_manager_; |
3887 } | 3899 } |
3888 #endif // defined(ENABLE_BROWSER_CDMS) | 3900 #endif // defined(ENABLE_BROWSER_CDMS) |
3889 | 3901 |
3890 } // namespace content | 3902 } // namespace content |
OLD | NEW |