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 1771 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2083 const std::set<std::string>& digests_of_uris_of_serialized_resources, | 2084 const std::set<std::string>& digests_of_uris_of_serialized_resources, |
2084 base::TimeDelta renderer_main_thread_time) { | 2085 base::TimeDelta renderer_main_thread_time) { |
2085 MHTMLGenerationManager::GetInstance()->OnSerializeAsMHTMLResponse( | 2086 MHTMLGenerationManager::GetInstance()->OnSerializeAsMHTMLResponse( |
2086 this, job_id, success, digests_of_uris_of_serialized_resources, | 2087 this, job_id, success, digests_of_uris_of_serialized_resources, |
2087 renderer_main_thread_time); | 2088 renderer_main_thread_time); |
2088 } | 2089 } |
2089 | 2090 |
2090 void RenderFrameHostImpl::OnSelectionChanged(const base::string16& text, | 2091 void RenderFrameHostImpl::OnSelectionChanged(const base::string16& text, |
2091 uint32_t offset, | 2092 uint32_t offset, |
2092 const gfx::Range& range) { | 2093 const gfx::Range& range) { |
| 2094 has_selection_ = !text.empty(); |
2093 GetRenderWidgetHost()->SelectionChanged(text, offset, range); | 2095 GetRenderWidgetHost()->SelectionChanged(text, offset, range); |
2094 } | 2096 } |
2095 | 2097 |
2096 #if defined(USE_EXTERNAL_POPUP_MENU) | 2098 #if defined(USE_EXTERNAL_POPUP_MENU) |
2097 void RenderFrameHostImpl::OnShowPopup( | 2099 void RenderFrameHostImpl::OnShowPopup( |
2098 const FrameHostMsg_ShowPopup_Params& params) { | 2100 const FrameHostMsg_ShowPopup_Params& params) { |
2099 RenderViewHostDelegateView* view = | 2101 RenderViewHostDelegateView* view = |
2100 render_view_host_->delegate_->GetDelegateView(); | 2102 render_view_host_->delegate_->GetDelegateView(); |
2101 if (view) { | 2103 if (view) { |
2102 gfx::Point original_point(params.bounds.x(), params.bounds.y()); | 2104 gfx::Point original_point(params.bounds.x(), params.bounds.y()); |
(...skipping 765 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2868 ChildProcessSecurityPolicyImpl::GetInstance()->GrantReadFileSystem( | 2870 ChildProcessSecurityPolicyImpl::GetInstance()->GrantReadFileSystem( |
2869 GetProcess()->GetID(), | 2871 GetProcess()->GetID(), |
2870 file_system_context->CrackURL(file.file_system_url) | 2872 file_system_context->CrackURL(file.file_system_url) |
2871 .mount_filesystem_id()); | 2873 .mount_filesystem_id()); |
2872 } | 2874 } |
2873 } | 2875 } |
2874 | 2876 |
2875 Send(new FrameMsg_RunFileChooserResponse(routing_id_, files)); | 2877 Send(new FrameMsg_RunFileChooserResponse(routing_id_, files)); |
2876 } | 2878 } |
2877 | 2879 |
| 2880 bool RenderFrameHostImpl::HasSelection() { |
| 2881 return has_selection_; |
| 2882 } |
| 2883 |
2878 void RenderFrameHostImpl::GetInterfaceProvider( | 2884 void RenderFrameHostImpl::GetInterfaceProvider( |
2879 service_manager::mojom::InterfaceProviderRequest interfaces) { | 2885 service_manager::mojom::InterfaceProviderRequest interfaces) { |
2880 service_manager::InterfaceProviderSpec browser_spec, renderer_spec; | 2886 service_manager::InterfaceProviderSpec browser_spec, renderer_spec; |
2881 // TODO(beng): CHECK these return true. | 2887 // TODO(beng): CHECK these return true. |
2882 service_manager::GetInterfaceProviderSpec( | 2888 service_manager::GetInterfaceProviderSpec( |
2883 mojom::kNavigation_FrameSpec, browser_info_.interface_provider_specs, | 2889 mojom::kNavigation_FrameSpec, browser_info_.interface_provider_specs, |
2884 &browser_spec); | 2890 &browser_spec); |
2885 service_manager::GetInterfaceProviderSpec( | 2891 service_manager::GetInterfaceProviderSpec( |
2886 mojom::kNavigation_FrameSpec, renderer_info_.interface_provider_specs, | 2892 mojom::kNavigation_FrameSpec, renderer_info_.interface_provider_specs, |
2887 &renderer_spec); | 2893 &renderer_spec); |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3245 // There is no pending NavigationEntry in these cases, so pass 0 as the | 3251 // There is no pending NavigationEntry in these cases, so pass 0 as the |
3246 // pending_nav_entry_id. If the previous handle was a prematurely aborted | 3252 // pending_nav_entry_id. If the previous handle was a prematurely aborted |
3247 // navigation loaded via LoadDataWithBaseURL, propagate the entry id. | 3253 // navigation loaded via LoadDataWithBaseURL, propagate the entry id. |
3248 return NavigationHandleImpl::Create( | 3254 return NavigationHandleImpl::Create( |
3249 params.url, frame_tree_node_, is_renderer_initiated, | 3255 params.url, frame_tree_node_, is_renderer_initiated, |
3250 params.was_within_same_page, params.is_srcdoc, base::TimeTicks::Now(), | 3256 params.was_within_same_page, params.is_srcdoc, base::TimeTicks::Now(), |
3251 entry_id_for_data_nav, false); // started_from_context_menu | 3257 entry_id_for_data_nav, false); // started_from_context_menu |
3252 } | 3258 } |
3253 | 3259 |
3254 } // namespace content | 3260 } // namespace content |
OLD | NEW |