OLD | NEW |
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 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 #include "content/renderer/render_process.h" | 104 #include "content/renderer/render_process.h" |
105 #include "content/renderer/render_thread_impl.h" | 105 #include "content/renderer/render_thread_impl.h" |
106 #include "content/renderer/render_view_impl_params.h" | 106 #include "content/renderer/render_view_impl_params.h" |
107 #include "content/renderer/render_view_mouse_lock_dispatcher.h" | 107 #include "content/renderer/render_view_mouse_lock_dispatcher.h" |
108 #include "content/renderer/render_widget_fullscreen_pepper.h" | 108 #include "content/renderer/render_widget_fullscreen_pepper.h" |
109 #include "content/renderer/renderer_date_time_picker.h" | 109 #include "content/renderer/renderer_date_time_picker.h" |
110 #include "content/renderer/renderer_webapplicationcachehost_impl.h" | 110 #include "content/renderer/renderer_webapplicationcachehost_impl.h" |
111 #include "content/renderer/renderer_webcolorchooser_impl.h" | 111 #include "content/renderer/renderer_webcolorchooser_impl.h" |
112 #include "content/renderer/savable_resources.h" | 112 #include "content/renderer/savable_resources.h" |
113 #include "content/renderer/speech_recognition_dispatcher.h" | 113 #include "content/renderer/speech_recognition_dispatcher.h" |
| 114 #include "content/renderer/stats_collection_controller.h" |
| 115 #include "content/renderer/stats_collection_observer.h" |
114 #include "content/renderer/text_input_client_observer.h" | 116 #include "content/renderer/text_input_client_observer.h" |
115 #include "content/renderer/v8_value_converter_impl.h" | 117 #include "content/renderer/v8_value_converter_impl.h" |
116 #include "content/renderer/web_ui_extension.h" | 118 #include "content/renderer/web_ui_extension.h" |
117 #include "content/renderer/web_ui_extension_data.h" | 119 #include "content/renderer/web_ui_extension_data.h" |
118 #include "content/renderer/webplugin_delegate_proxy.h" | 120 #include "content/renderer/webplugin_delegate_proxy.h" |
119 #include "content/renderer/websharedworker_proxy.h" | 121 #include "content/renderer/websharedworker_proxy.h" |
120 #include "media/audio/audio_output_device.h" | 122 #include "media/audio/audio_output_device.h" |
121 #include "media/base/audio_renderer_mixer_input.h" | 123 #include "media/base/audio_renderer_mixer_input.h" |
122 #include "media/base/filter_collection.h" | 124 #include "media/base/filter_collection.h" |
123 #include "media/base/media_switches.h" | 125 #include "media/base/media_switches.h" |
(...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
706 notification_provider_ = new NotificationProvider(this); | 708 notification_provider_ = new NotificationProvider(this); |
707 #else | 709 #else |
708 notification_provider_ = NULL; | 710 notification_provider_ = NULL; |
709 #endif | 711 #endif |
710 | 712 |
711 webwidget_ = WebView::create(this); | 713 webwidget_ = WebView::create(this); |
712 webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_)); | 714 webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_)); |
713 | 715 |
714 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | 716 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
715 | 717 |
| 718 if (command_line.HasSwitch(switches::kStatsCollectionController)) |
| 719 stats_collection_observer_.reset(new StatsCollectionObserver(this)); |
| 720 |
716 #if defined(OS_ANDROID) | 721 #if defined(OS_ANDROID) |
717 content::DeviceTelephonyInfo device_info; | 722 content::DeviceTelephonyInfo device_info; |
718 | 723 |
719 const std::string region_code = | 724 const std::string region_code = |
720 command_line.HasSwitch(switches::kNetworkCountryIso) | 725 command_line.HasSwitch(switches::kNetworkCountryIso) |
721 ? command_line.GetSwitchValueASCII(switches::kNetworkCountryIso) | 726 ? command_line.GetSwitchValueASCII(switches::kNetworkCountryIso) |
722 : device_info.GetNetworkCountryIso(); | 727 : device_info.GetNetworkCountryIso(); |
723 content_detectors_.push_back(linked_ptr<ContentDetector>( | 728 content_detectors_.push_back(linked_ptr<ContentDetector>( |
724 new AddressDetector())); | 729 new AddressDetector())); |
725 content_detectors_.push_back(linked_ptr<ContentDetector>( | 730 content_detectors_.push_back(linked_ptr<ContentDetector>( |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 | 800 |
796 new ImageLoadingHelper(this); | 801 new ImageLoadingHelper(this); |
797 | 802 |
798 // Create renderer_accessibility_ if needed. | 803 // Create renderer_accessibility_ if needed. |
799 OnSetAccessibilityMode(params->accessibility_mode); | 804 OnSetAccessibilityMode(params->accessibility_mode); |
800 | 805 |
801 new IdleUserDetector(this); | 806 new IdleUserDetector(this); |
802 | 807 |
803 if (command_line.HasSwitch(switches::kDomAutomationController)) | 808 if (command_line.HasSwitch(switches::kDomAutomationController)) |
804 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION; | 809 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION; |
| 810 if (command_line.HasSwitch(switches::kStatsCollectionController)) |
| 811 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION; |
805 | 812 |
806 ProcessViewLayoutFlags(command_line); | 813 ProcessViewLayoutFlags(command_line); |
807 | 814 |
808 GetContentClient()->renderer()->RenderViewCreated(this); | 815 GetContentClient()->renderer()->RenderViewCreated(this); |
809 | 816 |
810 // If we have an opener_id but we weren't created by a renderer, then | 817 // If we have an opener_id but we weren't created by a renderer, then |
811 // it's the browser asking us to set our opener to another RenderView. | 818 // it's the browser asking us to set our opener to another RenderView. |
812 if (params->opener_id != MSG_ROUTING_NONE && !params->is_renderer_created) { | 819 if (params->opener_id != MSG_ROUTING_NONE && !params->is_renderer_created) { |
813 RenderViewImpl* opener_view = FromRoutingID(params->opener_id); | 820 RenderViewImpl* opener_view = FromRoutingID(params->opener_id); |
814 if (opener_view) | 821 if (opener_view) |
(...skipping 2832 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3647 | 3654 |
3648 if (enabled_bindings_ & BINDINGS_POLICY_DOM_AUTOMATION) { | 3655 if (enabled_bindings_ & BINDINGS_POLICY_DOM_AUTOMATION) { |
3649 if (!dom_automation_controller_) | 3656 if (!dom_automation_controller_) |
3650 dom_automation_controller_.reset(new DomAutomationController()); | 3657 dom_automation_controller_.reset(new DomAutomationController()); |
3651 dom_automation_controller_->set_message_sender( | 3658 dom_automation_controller_->set_message_sender( |
3652 static_cast<RenderView*>(this)); | 3659 static_cast<RenderView*>(this)); |
3653 dom_automation_controller_->set_routing_id(routing_id()); | 3660 dom_automation_controller_->set_routing_id(routing_id()); |
3654 dom_automation_controller_->BindToJavascript(frame, | 3661 dom_automation_controller_->BindToJavascript(frame, |
3655 "domAutomationController"); | 3662 "domAutomationController"); |
3656 } | 3663 } |
| 3664 |
| 3665 if (enabled_bindings_ & BINDINGS_POLICY_STATS_COLLECTION) { |
| 3666 if (!stats_collection_controller_.get()) |
| 3667 stats_collection_controller_.reset(new StatsCollectionController()); |
| 3668 stats_collection_controller_->set_message_sender( |
| 3669 static_cast<RenderView*>(this)); |
| 3670 stats_collection_controller_->BindToJavascript(frame, |
| 3671 "statsCollectionController"); |
| 3672 } |
3657 } | 3673 } |
3658 | 3674 |
3659 void RenderViewImpl::didCreateDocumentElement(WebFrame* frame) { | 3675 void RenderViewImpl::didCreateDocumentElement(WebFrame* frame) { |
3660 // Notify the browser about non-blank documents loading in the top frame. | 3676 // Notify the browser about non-blank documents loading in the top frame. |
3661 GURL url = frame->document().url(); | 3677 GURL url = frame->document().url(); |
3662 if (url.is_valid() && url.spec() != kAboutBlankURL) { | 3678 if (url.is_valid() && url.spec() != kAboutBlankURL) { |
3663 if (frame == webview()->mainFrame()) | 3679 if (frame == webview()->mainFrame()) |
3664 Send(new ViewHostMsg_DocumentAvailableInMainFrame(routing_id_)); | 3680 Send(new ViewHostMsg_DocumentAvailableInMainFrame(routing_id_)); |
3665 } | 3681 } |
3666 | 3682 |
(...skipping 2893 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6560 WebURL url = icon_urls[i].iconURL(); | 6576 WebURL url = icon_urls[i].iconURL(); |
6561 if (!url.isEmpty()) | 6577 if (!url.isEmpty()) |
6562 urls.push_back(FaviconURL(url, | 6578 urls.push_back(FaviconURL(url, |
6563 ToFaviconType(icon_urls[i].iconType()))); | 6579 ToFaviconType(icon_urls[i].iconType()))); |
6564 } | 6580 } |
6565 SendUpdateFaviconURL(urls); | 6581 SendUpdateFaviconURL(urls); |
6566 } | 6582 } |
6567 | 6583 |
6568 | 6584 |
6569 } // namespace content | 6585 } // namespace content |
OLD | NEW |