Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(834)

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 537053002: Implement ManifestManager to handle manifest in content/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@manifest_fetcher
Patch Set: with tests Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698