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

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

Issue 1023783004: [DevTools] Move DevToolsAgent to RenderFrameImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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 585 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 widget_params.routing_id, widget_params.surface_id, 596 widget_params.routing_id, widget_params.surface_id,
597 widget_params.hidden, render_frame->render_view_->screen_info(), 597 widget_params.hidden, render_frame->render_view_->screen_info(),
598 compositor_deps, web_frame); 598 compositor_deps, web_frame);
599 // TODO(kenrb): Observing shouldn't be necessary when we sort out 599 // TODO(kenrb): Observing shouldn't be necessary when we sort out
600 // WasShown and WasHidden, separating page-level visibility from 600 // WasShown and WasHidden, separating page-level visibility from
601 // frame-level visibility. 601 // frame-level visibility.
602 render_frame->render_widget_->RegisterRenderFrame(render_frame); 602 render_frame->render_widget_->RegisterRenderFrame(render_frame);
603 } 603 }
604 604
605 render_frame->Initialize(); 605 render_frame->Initialize();
606 // TODO(dgozman): this should actually be in RenderFrameImpl::Initialize,
607 // but we have to somehow differentiate local frame root there.
608 if (proxy_routing_id == MSG_ROUTING_NONE)
nasko 2015/03/24 16:17:07 While this might work, it is a very fragile way to
Charlie Reis 2015/03/24 17:25:13 +1 For comparison, we have a IsCrossProcessSubfra
609 render_frame->CreateDevToolsAgent();
606 } 610 }
607 611
608 // static 612 // static
609 RenderFrame* RenderFrame::FromWebFrame(blink::WebFrame* web_frame) { 613 RenderFrame* RenderFrame::FromWebFrame(blink::WebFrame* web_frame) {
610 return RenderFrameImpl::FromWebFrame(web_frame); 614 return RenderFrameImpl::FromWebFrame(web_frame);
611 } 615 }
612 616
613 // static 617 // static
614 RenderFrameImpl* RenderFrameImpl::FromWebFrame(blink::WebFrame* web_frame) { 618 RenderFrameImpl* RenderFrameImpl::FromWebFrame(blink::WebFrame* web_frame) {
615 FrameMap::iterator iter = g_frame_map.Get().find(web_frame); 619 FrameMap::iterator iter = g_frame_map.Get().find(web_frame);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 midi_dispatcher_(NULL), 663 midi_dispatcher_(NULL),
660 #if defined(OS_ANDROID) 664 #if defined(OS_ANDROID)
661 media_player_manager_(NULL), 665 media_player_manager_(NULL),
662 #endif 666 #endif
663 #if defined(ENABLE_BROWSER_CDMS) 667 #if defined(ENABLE_BROWSER_CDMS)
664 cdm_manager_(NULL), 668 cdm_manager_(NULL),
665 #endif 669 #endif
666 #if defined(VIDEO_HOLE) 670 #if defined(VIDEO_HOLE)
667 contains_media_player_(false), 671 contains_media_player_(false),
668 #endif 672 #endif
673 devtools_agent_(nullptr),
669 geolocation_dispatcher_(NULL), 674 geolocation_dispatcher_(NULL),
670 push_messaging_dispatcher_(NULL), 675 push_messaging_dispatcher_(NULL),
671 presentation_dispatcher_(NULL), 676 presentation_dispatcher_(NULL),
672 screen_orientation_dispatcher_(NULL), 677 screen_orientation_dispatcher_(NULL),
673 manifest_manager_(NULL), 678 manifest_manager_(NULL),
674 accessibility_mode_(AccessibilityModeOff), 679 accessibility_mode_(AccessibilityModeOff),
675 renderer_accessibility_(NULL), 680 renderer_accessibility_(NULL),
676 weak_factory_(this) { 681 weak_factory_(this) {
677 std::pair<RoutingIDFrameMap::iterator, bool> result = 682 std::pair<RoutingIDFrameMap::iterator, bool> result =
678 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); 683 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this));
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 new SharedWorkerRepository(this); 734 new SharedWorkerRepository(this);
730 735
731 if (!frame_->parent()) 736 if (!frame_->parent())
732 new ImageLoadingHelper(this); 737 new ImageLoadingHelper(this);
733 738
734 // We delay calling this until we have the WebFrame so that any observer or 739 // We delay calling this until we have the WebFrame so that any observer or
735 // embedder can call GetWebFrame on any RenderFrame. 740 // embedder can call GetWebFrame on any RenderFrame.
736 GetContentClient()->renderer()->RenderFrameCreated(this); 741 GetContentClient()->renderer()->RenderFrameCreated(this);
737 } 742 }
738 743
744 void RenderFrameImpl::CreateDevToolsAgent() {
745 // We should only create DevToolsAgent for local frame roots.
746 devtools_agent_ = new DevToolsAgent(this);
747 }
748
739 RenderWidget* RenderFrameImpl::GetRenderWidget() { 749 RenderWidget* RenderFrameImpl::GetRenderWidget() {
740 return render_view_.get(); 750 return render_view_.get();
741 } 751 }
742 752
743 #if defined(ENABLE_PLUGINS) 753 #if defined(ENABLE_PLUGINS)
744 void RenderFrameImpl::PepperPluginCreated(RendererPpapiHost* host) { 754 void RenderFrameImpl::PepperPluginCreated(RendererPpapiHost* host) {
745 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, 755 FOR_EACH_OBSERVER(RenderFrameObserver, observers_,
746 DidCreatePepperPlugin(host)); 756 DidCreatePepperPlugin(host));
747 if (host->GetPluginName() == kFlashPluginName) { 757 if (host->GetPluginName() == kFlashPluginName) {
748 RenderThread::Get()->RecordAction( 758 RenderThread::Get()->RecordAction(
(...skipping 2465 matching lines...) Expand 10 before | Expand all | Expand 10 after
3214 3224
3215 void RenderFrameImpl::didFinishResourceLoad(blink::WebLocalFrame* frame, 3225 void RenderFrameImpl::didFinishResourceLoad(blink::WebLocalFrame* frame,
3216 unsigned identifier) { 3226 unsigned identifier) {
3217 DCHECK(!frame_ || frame_ == frame); 3227 DCHECK(!frame_ || frame_ == frame);
3218 InternalDocumentStateData* internal_data = 3228 InternalDocumentStateData* internal_data =
3219 InternalDocumentStateData::FromDataSource(frame->dataSource()); 3229 InternalDocumentStateData::FromDataSource(frame->dataSource());
3220 if (!internal_data->use_error_page()) 3230 if (!internal_data->use_error_page())
3221 return; 3231 return;
3222 3232
3223 // Do not show error page when DevTools is attached. 3233 // Do not show error page when DevTools is attached.
3224 if (render_view_->devtools_agent_ && 3234 // TODO(dgozman): here we should really check DevToolsAgent of local frame
3225 render_view_->devtools_agent_->IsAttached()) { 3235 // root. How?
3236 if (devtools_agent_ && devtools_agent_->IsAttached())
3226 return; 3237 return;
3227 }
3228 3238
3229 // Display error page, if appropriate. 3239 // Display error page, if appropriate.
3230 std::string error_domain = "http"; 3240 std::string error_domain = "http";
3231 int http_status_code = internal_data->http_status_code(); 3241 int http_status_code = internal_data->http_status_code();
3232 if (GetContentClient()->renderer()->HasErrorPage( 3242 if (GetContentClient()->renderer()->HasErrorPage(
3233 http_status_code, &error_domain)) { 3243 http_status_code, &error_domain)) {
3234 WebURLError error; 3244 WebURLError error;
3235 error.unreachableURL = frame->document().url(); 3245 error.unreachableURL = frame->document().url();
3236 error.domain = WebString::fromUTF8(error_domain); 3246 error.domain = WebString::fromUTF8(error_domain);
3237 error.reason = http_status_code; 3247 error.reason = http_status_code;
(...skipping 1303 matching lines...) Expand 10 before | Expand all | Expand 10 after
4541 4551
4542 #if defined(ENABLE_BROWSER_CDMS) 4552 #if defined(ENABLE_BROWSER_CDMS)
4543 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 4553 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
4544 if (!cdm_manager_) 4554 if (!cdm_manager_)
4545 cdm_manager_ = new RendererCdmManager(this); 4555 cdm_manager_ = new RendererCdmManager(this);
4546 return cdm_manager_; 4556 return cdm_manager_;
4547 } 4557 }
4548 #endif // defined(ENABLE_BROWSER_CDMS) 4558 #endif // defined(ENABLE_BROWSER_CDMS)
4549 4559
4550 } // namespace content 4560 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698