OLD | NEW |
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/browser/frame_host/render_frame_host_impl.h" | 5 #include "content/browser/frame_host/render_frame_host_impl.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 is_loading_(false), | 292 is_loading_(false), |
293 pending_commit_(false), | 293 pending_commit_(false), |
294 nav_entry_id_(0), | 294 nav_entry_id_(0), |
295 accessibility_reset_token_(0), | 295 accessibility_reset_token_(0), |
296 accessibility_reset_count_(0), | 296 accessibility_reset_count_(0), |
297 browser_plugin_embedder_ax_tree_id_(AXTreeIDRegistry::kNoAXTreeID), | 297 browser_plugin_embedder_ax_tree_id_(AXTreeIDRegistry::kNoAXTreeID), |
298 no_create_browser_accessibility_manager_for_testing_(false), | 298 no_create_browser_accessibility_manager_for_testing_(false), |
299 web_ui_type_(WebUI::kNoWebUI), | 299 web_ui_type_(WebUI::kNoWebUI), |
300 pending_web_ui_type_(WebUI::kNoWebUI), | 300 pending_web_ui_type_(WebUI::kNoWebUI), |
301 should_reuse_web_ui_(false), | 301 should_reuse_web_ui_(false), |
| 302 has_selection_(false), |
302 last_navigation_lofi_state_(LOFI_UNSPECIFIED), | 303 last_navigation_lofi_state_(LOFI_UNSPECIFIED), |
303 frame_host_binding_(this), | 304 frame_host_binding_(this), |
304 waiting_for_init_(renderer_initiated_creation), | 305 waiting_for_init_(renderer_initiated_creation), |
305 weak_ptr_factory_(this) { | 306 weak_ptr_factory_(this) { |
306 frame_tree_->AddRenderViewHostRef(render_view_host_); | 307 frame_tree_->AddRenderViewHostRef(render_view_host_); |
307 GetProcess()->AddRoute(routing_id_, this); | 308 GetProcess()->AddRoute(routing_id_, this); |
308 g_routing_id_frame_map.Get().insert(std::make_pair( | 309 g_routing_id_frame_map.Get().insert(std::make_pair( |
309 RenderFrameHostID(GetProcess()->GetID(), routing_id_), | 310 RenderFrameHostID(GetProcess()->GetID(), routing_id_), |
310 this)); | 311 this)); |
311 site_instance_->AddObserver(this); | 312 site_instance_->AddObserver(this); |
(...skipping 1791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2103 const std::set<std::string>& digests_of_uris_of_serialized_resources, | 2104 const std::set<std::string>& digests_of_uris_of_serialized_resources, |
2104 base::TimeDelta renderer_main_thread_time) { | 2105 base::TimeDelta renderer_main_thread_time) { |
2105 MHTMLGenerationManager::GetInstance()->OnSerializeAsMHTMLResponse( | 2106 MHTMLGenerationManager::GetInstance()->OnSerializeAsMHTMLResponse( |
2106 this, job_id, success, digests_of_uris_of_serialized_resources, | 2107 this, job_id, success, digests_of_uris_of_serialized_resources, |
2107 renderer_main_thread_time); | 2108 renderer_main_thread_time); |
2108 } | 2109 } |
2109 | 2110 |
2110 void RenderFrameHostImpl::OnSelectionChanged(const base::string16& text, | 2111 void RenderFrameHostImpl::OnSelectionChanged(const base::string16& text, |
2111 uint32_t offset, | 2112 uint32_t offset, |
2112 const gfx::Range& range) { | 2113 const gfx::Range& range) { |
| 2114 has_selection_ = !text.empty(); |
2113 GetRenderWidgetHost()->SelectionChanged(text, offset, range); | 2115 GetRenderWidgetHost()->SelectionChanged(text, offset, range); |
2114 } | 2116 } |
2115 | 2117 |
2116 #if defined(USE_EXTERNAL_POPUP_MENU) | 2118 #if defined(USE_EXTERNAL_POPUP_MENU) |
2117 void RenderFrameHostImpl::OnShowPopup( | 2119 void RenderFrameHostImpl::OnShowPopup( |
2118 const FrameHostMsg_ShowPopup_Params& params) { | 2120 const FrameHostMsg_ShowPopup_Params& params) { |
2119 RenderViewHostDelegateView* view = | 2121 RenderViewHostDelegateView* view = |
2120 render_view_host_->delegate_->GetDelegateView(); | 2122 render_view_host_->delegate_->GetDelegateView(); |
2121 if (view) { | 2123 if (view) { |
2122 gfx::Point original_point(params.bounds.x(), params.bounds.y()); | 2124 gfx::Point original_point(params.bounds.x(), params.bounds.y()); |
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2884 ChildProcessSecurityPolicyImpl::GetInstance()->GrantReadFileSystem( | 2886 ChildProcessSecurityPolicyImpl::GetInstance()->GrantReadFileSystem( |
2885 GetProcess()->GetID(), | 2887 GetProcess()->GetID(), |
2886 file_system_context->CrackURL(file.file_system_url) | 2888 file_system_context->CrackURL(file.file_system_url) |
2887 .mount_filesystem_id()); | 2889 .mount_filesystem_id()); |
2888 } | 2890 } |
2889 } | 2891 } |
2890 | 2892 |
2891 Send(new FrameMsg_RunFileChooserResponse(routing_id_, files)); | 2893 Send(new FrameMsg_RunFileChooserResponse(routing_id_, files)); |
2892 } | 2894 } |
2893 | 2895 |
| 2896 bool RenderFrameHostImpl::HasSelection() { |
| 2897 return has_selection_; |
| 2898 } |
| 2899 |
2894 void RenderFrameHostImpl::GetInterfaceProvider( | 2900 void RenderFrameHostImpl::GetInterfaceProvider( |
2895 service_manager::mojom::InterfaceProviderRequest interfaces) { | 2901 service_manager::mojom::InterfaceProviderRequest interfaces) { |
2896 service_manager::InterfaceProviderSpec browser_spec, renderer_spec; | 2902 service_manager::InterfaceProviderSpec browser_spec, renderer_spec; |
2897 // TODO(beng): CHECK these return true. | 2903 // TODO(beng): CHECK these return true. |
2898 service_manager::GetInterfaceProviderSpec( | 2904 service_manager::GetInterfaceProviderSpec( |
2899 mojom::kNavigation_FrameSpec, browser_info_.interface_provider_specs, | 2905 mojom::kNavigation_FrameSpec, browser_info_.interface_provider_specs, |
2900 &browser_spec); | 2906 &browser_spec); |
2901 service_manager::GetInterfaceProviderSpec( | 2907 service_manager::GetInterfaceProviderSpec( |
2902 mojom::kNavigation_FrameSpec, renderer_info_.interface_provider_specs, | 2908 mojom::kNavigation_FrameSpec, renderer_info_.interface_provider_specs, |
2903 &renderer_spec); | 2909 &renderer_spec); |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3261 // There is no pending NavigationEntry in these cases, so pass 0 as the | 3267 // There is no pending NavigationEntry in these cases, so pass 0 as the |
3262 // pending_nav_entry_id. If the previous handle was a prematurely aborted | 3268 // pending_nav_entry_id. If the previous handle was a prematurely aborted |
3263 // navigation loaded via LoadDataWithBaseURL, propagate the entry id. | 3269 // navigation loaded via LoadDataWithBaseURL, propagate the entry id. |
3264 return NavigationHandleImpl::Create( | 3270 return NavigationHandleImpl::Create( |
3265 params.url, frame_tree_node_, is_renderer_initiated, | 3271 params.url, frame_tree_node_, is_renderer_initiated, |
3266 params.was_within_same_page, params.is_srcdoc, base::TimeTicks::Now(), | 3272 params.was_within_same_page, params.is_srcdoc, base::TimeTicks::Now(), |
3267 entry_id_for_data_nav, false); // started_from_context_menu | 3273 entry_id_for_data_nav, false); // started_from_context_menu |
3268 } | 3274 } |
3269 | 3275 |
3270 } // namespace content | 3276 } // namespace content |
OLD | NEW |