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

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: fixed comments 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 648 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 midi_dispatcher_(NULL), 659 midi_dispatcher_(NULL),
660 #if defined(OS_ANDROID) 660 #if defined(OS_ANDROID)
661 media_player_manager_(NULL), 661 media_player_manager_(NULL),
662 #endif 662 #endif
663 #if defined(ENABLE_BROWSER_CDMS) 663 #if defined(ENABLE_BROWSER_CDMS)
664 cdm_manager_(NULL), 664 cdm_manager_(NULL),
665 #endif 665 #endif
666 #if defined(VIDEO_HOLE) 666 #if defined(VIDEO_HOLE)
667 contains_media_player_(false), 667 contains_media_player_(false),
668 #endif 668 #endif
669 devtools_agent_(nullptr),
669 geolocation_dispatcher_(NULL), 670 geolocation_dispatcher_(NULL),
670 push_messaging_dispatcher_(NULL), 671 push_messaging_dispatcher_(NULL),
671 presentation_dispatcher_(NULL), 672 presentation_dispatcher_(NULL),
672 screen_orientation_dispatcher_(NULL), 673 screen_orientation_dispatcher_(NULL),
673 manifest_manager_(NULL), 674 manifest_manager_(NULL),
674 accessibility_mode_(AccessibilityModeOff), 675 accessibility_mode_(AccessibilityModeOff),
675 renderer_accessibility_(NULL), 676 renderer_accessibility_(NULL),
676 weak_factory_(this) { 677 weak_factory_(this) {
677 std::pair<RoutingIDFrameMap::iterator, bool> result = 678 std::pair<RoutingIDFrameMap::iterator, bool> result =
678 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); 679 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this));
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
724 725
725 void RenderFrameImpl::Initialize() { 726 void RenderFrameImpl::Initialize() {
726 #if defined(ENABLE_PLUGINS) 727 #if defined(ENABLE_PLUGINS)
727 new PepperBrowserConnection(this); 728 new PepperBrowserConnection(this);
728 #endif 729 #endif
729 new SharedWorkerRepository(this); 730 new SharedWorkerRepository(this);
730 731
731 if (!frame_->parent()) 732 if (!frame_->parent())
732 new ImageLoadingHelper(this); 733 new ImageLoadingHelper(this);
733 734
735 if (IsLocalRoot()) {
736 // DevToolsAgent is a RenderFrameObserver, and will destruct itself
737 // when |this| is deleted.
738 devtools_agent_ = new DevToolsAgent(this);
739 }
740
734 // We delay calling this until we have the WebFrame so that any observer or 741 // We delay calling this until we have the WebFrame so that any observer or
735 // embedder can call GetWebFrame on any RenderFrame. 742 // embedder can call GetWebFrame on any RenderFrame.
736 GetContentClient()->renderer()->RenderFrameCreated(this); 743 GetContentClient()->renderer()->RenderFrameCreated(this);
737 } 744 }
738 745
739 RenderWidget* RenderFrameImpl::GetRenderWidget() { 746 RenderWidget* RenderFrameImpl::GetRenderWidget() {
740 return render_view_.get(); 747 return render_view_.get();
741 } 748 }
742 749
743 #if defined(ENABLE_PLUGINS) 750 #if defined(ENABLE_PLUGINS)
(...skipping 2468 matching lines...) Expand 10 before | Expand all | Expand 10 after
3212 3219
3213 void RenderFrameImpl::didFinishResourceLoad(blink::WebLocalFrame* frame, 3220 void RenderFrameImpl::didFinishResourceLoad(blink::WebLocalFrame* frame,
3214 unsigned identifier) { 3221 unsigned identifier) {
3215 DCHECK(!frame_ || frame_ == frame); 3222 DCHECK(!frame_ || frame_ == frame);
3216 InternalDocumentStateData* internal_data = 3223 InternalDocumentStateData* internal_data =
3217 InternalDocumentStateData::FromDataSource(frame->dataSource()); 3224 InternalDocumentStateData::FromDataSource(frame->dataSource());
3218 if (!internal_data->use_error_page()) 3225 if (!internal_data->use_error_page())
3219 return; 3226 return;
3220 3227
3221 // Do not show error page when DevTools is attached. 3228 // Do not show error page when DevTools is attached.
3222 if (render_view_->devtools_agent_ && 3229 // TODO(dgozman): we should check DevToolsAgent of the local frame root.
3223 render_view_->devtools_agent_->IsAttached()) { 3230 if (devtools_agent_ && devtools_agent_->IsAttached())
3224 return; 3231 return;
3225 }
3226 3232
3227 // Display error page, if appropriate. 3233 // Display error page, if appropriate.
3228 std::string error_domain = "http"; 3234 std::string error_domain = "http";
3229 int http_status_code = internal_data->http_status_code(); 3235 int http_status_code = internal_data->http_status_code();
3230 if (GetContentClient()->renderer()->HasErrorPage( 3236 if (GetContentClient()->renderer()->HasErrorPage(
3231 http_status_code, &error_domain)) { 3237 http_status_code, &error_domain)) {
3232 WebURLError error; 3238 WebURLError error;
3233 error.unreachableURL = frame->document().url(); 3239 error.unreachableURL = frame->document().url();
3234 error.domain = WebString::fromUTF8(error_domain); 3240 error.domain = WebString::fromUTF8(error_domain);
3235 error.reason = http_status_code; 3241 error.reason = http_status_code;
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
3644 3650
3645 void RenderFrameImpl::AddObserver(RenderFrameObserver* observer) { 3651 void RenderFrameImpl::AddObserver(RenderFrameObserver* observer) {
3646 observers_.AddObserver(observer); 3652 observers_.AddObserver(observer);
3647 } 3653 }
3648 3654
3649 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) { 3655 void RenderFrameImpl::RemoveObserver(RenderFrameObserver* observer) {
3650 observer->RenderFrameGone(); 3656 observer->RenderFrameGone();
3651 observers_.RemoveObserver(observer); 3657 observers_.RemoveObserver(observer);
3652 } 3658 }
3653 3659
3660 bool RenderFrameImpl::IsLocalRoot() {
3661 DCHECK(frame_);
3662 if (!frame_->parent())
3663 return true;
3664 return frame_->parent()->isWebRemoteFrame();
3665 }
3666
3654 void RenderFrameImpl::OnStop() { 3667 void RenderFrameImpl::OnStop() {
3655 DCHECK(frame_); 3668 DCHECK(frame_);
3656 frame_->stopLoading(); 3669 frame_->stopLoading();
3657 if (!frame_->parent()) 3670 if (!frame_->parent())
3658 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers_, OnStop()); 3671 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers_, OnStop());
3659 3672
3660 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnStop()); 3673 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnStop());
3661 } 3674 }
3662 3675
3663 void RenderFrameImpl::WasHidden() { 3676 void RenderFrameImpl::WasHidden() {
(...skipping 856 matching lines...) Expand 10 before | Expand all | Expand 10 after
4520 4533
4521 #if defined(ENABLE_BROWSER_CDMS) 4534 #if defined(ENABLE_BROWSER_CDMS)
4522 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 4535 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
4523 if (!cdm_manager_) 4536 if (!cdm_manager_)
4524 cdm_manager_ = new RendererCdmManager(this); 4537 cdm_manager_ = new RendererCdmManager(this);
4525 return cdm_manager_; 4538 return cdm_manager_;
4526 } 4539 }
4527 #endif // defined(ENABLE_BROWSER_CDMS) 4540 #endif // defined(ENABLE_BROWSER_CDMS)
4528 4541
4529 } // namespace content 4542 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698