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

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

Issue 1023783004: [DevTools] Move DevToolsAgent to RenderFrameImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: is_main_or_local_root_ -> is_local_root_ 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
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_view_impl.h" 5 #include "content/renderer/render_view_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 #include "content/public/common/url_constants.h" 64 #include "content/public/common/url_constants.h"
65 #include "content/public/common/url_utils.h" 65 #include "content/public/common/url_utils.h"
66 #include "content/public/common/web_preferences.h" 66 #include "content/public/common/web_preferences.h"
67 #include "content/public/renderer/content_renderer_client.h" 67 #include "content/public/renderer/content_renderer_client.h"
68 #include "content/public/renderer/document_state.h" 68 #include "content/public/renderer/document_state.h"
69 #include "content/public/renderer/navigation_state.h" 69 #include "content/public/renderer/navigation_state.h"
70 #include "content/public/renderer/render_view_observer.h" 70 #include "content/public/renderer/render_view_observer.h"
71 #include "content/public/renderer/render_view_visitor.h" 71 #include "content/public/renderer/render_view_visitor.h"
72 #include "content/renderer/browser_plugin/browser_plugin.h" 72 #include "content/renderer/browser_plugin/browser_plugin.h"
73 #include "content/renderer/browser_plugin/browser_plugin_manager.h" 73 #include "content/renderer/browser_plugin/browser_plugin_manager.h"
74 #include "content/renderer/devtools/devtools_agent.h"
75 #include "content/renderer/disambiguation_popup_helper.h" 74 #include "content/renderer/disambiguation_popup_helper.h"
76 #include "content/renderer/dom_storage/webstoragenamespace_impl.h" 75 #include "content/renderer/dom_storage/webstoragenamespace_impl.h"
77 #include "content/renderer/drop_data_builder.h" 76 #include "content/renderer/drop_data_builder.h"
78 #include "content/renderer/gpu/render_widget_compositor.h" 77 #include "content/renderer/gpu/render_widget_compositor.h"
79 #include "content/renderer/history_controller.h" 78 #include "content/renderer/history_controller.h"
80 #include "content/renderer/history_serialization.h" 79 #include "content/renderer/history_serialization.h"
81 #include "content/renderer/idle_user_detector.h" 80 #include "content/renderer/idle_user_detector.h"
82 #include "content/renderer/ime_event_guard.h" 81 #include "content/renderer/ime_event_guard.h"
83 #include "content/renderer/input/input_handler_manager.h" 82 #include "content/renderer/input/input_handler_manager.h"
84 #include "content/renderer/internal_document_state_data.h" 83 #include "content/renderer/internal_document_state_data.h"
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 401
403 static void ConvertToFaviconSizes( 402 static void ConvertToFaviconSizes(
404 const blink::WebVector<blink::WebSize>& web_sizes, 403 const blink::WebVector<blink::WebSize>& web_sizes,
405 std::vector<gfx::Size>* sizes) { 404 std::vector<gfx::Size>* sizes) {
406 DCHECK(sizes->empty()); 405 DCHECK(sizes->empty());
407 sizes->reserve(web_sizes.size()); 406 sizes->reserve(web_sizes.size());
408 for (size_t i = 0; i < web_sizes.size(); ++i) 407 for (size_t i = 0; i < web_sizes.size(); ++i)
409 sizes->push_back(gfx::Size(web_sizes[i])); 408 sizes->push_back(gfx::Size(web_sizes[i]));
410 } 409 }
411 410
411 static blink::WebDevToolsAgent* GetWebDevToolsAgent(WebView* webview) {
412 if (!webview || !webview->mainFrame()->isWebLocalFrame())
413 return nullptr;
414 return webview->mainFrame()->toWebLocalFrame()->devToolsAgent();
415 }
416
412 /////////////////////////////////////////////////////////////////////////////// 417 ///////////////////////////////////////////////////////////////////////////////
413 418
414 struct RenderViewImpl::PendingFileChooser { 419 struct RenderViewImpl::PendingFileChooser {
415 PendingFileChooser(const FileChooserParams& p, WebFileChooserCompletion* c) 420 PendingFileChooser(const FileChooserParams& p, WebFileChooserCompletion* c)
416 : params(p), 421 : params(p),
417 completion(c) { 422 completion(c) {
418 } 423 }
419 FileChooserParams params; 424 FileChooserParams params;
420 WebFileChooserCompletion* completion; // MAY BE NULL to skip callback. 425 WebFileChooserCompletion* completion; // MAY BE NULL to skip callback.
421 }; 426 };
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 history_list_offset_(-1), 628 history_list_offset_(-1),
624 history_list_length_(0), 629 history_list_length_(0),
625 frames_in_progress_(0), 630 frames_in_progress_(0),
626 target_url_status_(TARGET_NONE), 631 target_url_status_(TARGET_NONE),
627 uses_temporary_zoom_level_(false), 632 uses_temporary_zoom_level_(false),
628 #if defined(OS_ANDROID) 633 #if defined(OS_ANDROID)
629 top_controls_constraints_(TOP_CONTROLS_STATE_BOTH), 634 top_controls_constraints_(TOP_CONTROLS_STATE_BOTH),
630 #endif 635 #endif
631 has_scrolled_focused_editable_node_into_rect_(false), 636 has_scrolled_focused_editable_node_into_rect_(false),
632 speech_recognition_dispatcher_(NULL), 637 speech_recognition_dispatcher_(NULL),
633 devtools_agent_(NULL),
634 mouse_lock_dispatcher_(NULL), 638 mouse_lock_dispatcher_(NULL),
635 #if defined(OS_ANDROID) 639 #if defined(OS_ANDROID)
636 expected_content_intent_id_(0), 640 expected_content_intent_id_(0),
637 #endif 641 #endif
638 #if defined(OS_WIN) 642 #if defined(OS_WIN)
639 focused_plugin_id_(-1), 643 focused_plugin_id_(-1),
640 #endif 644 #endif
641 #if defined(ENABLE_PLUGINS) 645 #if defined(ENABLE_PLUGINS)
642 plugin_find_handler_(NULL), 646 plugin_find_handler_(NULL),
643 focused_pepper_plugin_(NULL), 647 focused_pepper_plugin_(NULL),
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
761 OnResize(params.initial_size); 765 OnResize(params.initial_size);
762 } else { 766 } else {
763 OnEnableAutoResize(params.min_size, params.max_size); 767 OnEnableAutoResize(params.min_size, params.max_size);
764 } 768 }
765 769
766 new MHTMLGenerator(this); 770 new MHTMLGenerator(this);
767 #if defined(OS_MACOSX) 771 #if defined(OS_MACOSX)
768 new TextInputClientObserver(this); 772 new TextInputClientObserver(this);
769 #endif // defined(OS_MACOSX) 773 #endif // defined(OS_MACOSX)
770 774
775 // TODO(dgozman): do this not for main frame, but for local frame roots.
776 if (blink::WebDevToolsAgent* devToolsAgent = GetWebDevToolsAgent(webview())) {
777 if (RenderWidgetCompositor* rwc = compositor())
778 devToolsAgent->setLayerTreeId(rwc->GetLayerTreeId());
779 }
780
771 // The next group of objects all implement RenderViewObserver, so are deleted 781 // The next group of objects all implement RenderViewObserver, so are deleted
772 // along with the RenderView automatically. 782 // along with the RenderView automatically.
773 if (!proxy) {
774 devtools_agent_ = new DevToolsAgent(main_render_frame_.get());
775 if (RenderWidgetCompositor* rwc = compositor())
776 webview()->devToolsAgent()->setLayerTreeId(rwc->GetLayerTreeId());
777 }
778
779 mouse_lock_dispatcher_ = new RenderViewMouseLockDispatcher(this); 783 mouse_lock_dispatcher_ = new RenderViewMouseLockDispatcher(this);
780 784
781 history_controller_.reset(new HistoryController(this)); 785 history_controller_.reset(new HistoryController(this));
782 786
783 new IdleUserDetector(this); 787 new IdleUserDetector(this);
784 788
785 if (command_line.HasSwitch(switches::kDomAutomationController)) 789 if (command_line.HasSwitch(switches::kDomAutomationController))
786 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION; 790 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION;
787 if (command_line.HasSwitch(switches::kStatsCollectionController)) 791 if (command_line.HasSwitch(switches::kStatsCollectionController))
788 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION; 792 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION;
(...skipping 1218 matching lines...) Expand 10 before | Expand all | Expand 10 after
2007 Send(new ViewHostMsg_FocusedNodeTouched( 2011 Send(new ViewHostMsg_FocusedNodeTouched(
2008 routing_id(), text_input_type != blink::WebTextInputTypeNone)); 2012 routing_id(), text_input_type != blink::WebTextInputTypeNone));
2009 #endif 2013 #endif
2010 } 2014 }
2011 2015
2012 void RenderViewImpl::initializeLayerTreeView() { 2016 void RenderViewImpl::initializeLayerTreeView() {
2013 RenderWidget::initializeLayerTreeView(); 2017 RenderWidget::initializeLayerTreeView();
2014 RenderWidgetCompositor* rwc = compositor(); 2018 RenderWidgetCompositor* rwc = compositor();
2015 if (!rwc) 2019 if (!rwc)
2016 return; 2020 return;
2017 if (webview() && webview()->devToolsAgent()) 2021 // TODO(dgozman): do this not for main frame, but for local frame roots.
2018 webview()->devToolsAgent()->setLayerTreeId(rwc->GetLayerTreeId()); 2022 if (blink::WebDevToolsAgent* devToolsAgent = GetWebDevToolsAgent(webview()))
2023 devToolsAgent->setLayerTreeId(rwc->GetLayerTreeId());
2019 2024
2020 bool use_threaded_event_handling = true; 2025 bool use_threaded_event_handling = true;
2021 #if defined(OS_MACOSX) && !defined(OS_IOS) 2026 #if defined(OS_MACOSX) && !defined(OS_IOS)
2022 // Disable threaded event handling if content is not handling the elastic 2027 // Disable threaded event handling if content is not handling the elastic
2023 // overscroll effect. This includes the cases where the elastic overscroll 2028 // overscroll effect. This includes the cases where the elastic overscroll
2024 // effect is being handled by Blink (because of command line flags) and older 2029 // effect is being handled by Blink (because of command line flags) and older
2025 // operating system versions which do not have an elastic overscroll effect 2030 // operating system versions which do not have an elastic overscroll effect
2026 // (SnowLeopard, which has Aqua scrollbars which need synchronous updates). 2031 // (SnowLeopard, which has Aqua scrollbars which need synchronous updates).
2027 use_threaded_event_handling = compositor_deps_->IsElasticOverscrollEnabled(); 2032 use_threaded_event_handling = compositor_deps_->IsElasticOverscrollEnabled();
2028 #endif 2033 #endif
(...skipping 1772 matching lines...) Expand 10 before | Expand all | Expand 10 after
3801 std::vector<gfx::Size> sizes; 3806 std::vector<gfx::Size> sizes;
3802 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); 3807 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes);
3803 if (!url.isEmpty()) 3808 if (!url.isEmpty())
3804 urls.push_back( 3809 urls.push_back(
3805 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); 3810 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes));
3806 } 3811 }
3807 SendUpdateFaviconURL(urls); 3812 SendUpdateFaviconURL(urls);
3808 } 3813 }
3809 3814
3810 } // namespace content 3815 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698