| 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/browser/renderer_host/render_widget_host_view_aura.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
| (...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 389 cursor_visibility_state_in_renderer_(UNKNOWN), | 389 cursor_visibility_state_in_renderer_(UNKNOWN), |
| 390 #if defined(OS_WIN) | 390 #if defined(OS_WIN) |
| 391 legacy_render_widget_host_HWND_(nullptr), | 391 legacy_render_widget_host_HWND_(nullptr), |
| 392 legacy_window_destroyed_(false), | 392 legacy_window_destroyed_(false), |
| 393 virtual_keyboard_requested_(false), | 393 virtual_keyboard_requested_(false), |
| 394 #endif | 394 #endif |
| 395 has_snapped_to_boundary_(false), | 395 has_snapped_to_boundary_(false), |
| 396 is_guest_view_hack_(is_guest_view_hack), | 396 is_guest_view_hack_(is_guest_view_hack), |
| 397 device_scale_factor_(0.0f), | 397 device_scale_factor_(0.0f), |
| 398 event_handler_(new RenderWidgetHostViewEventHandler(host_, this, this)), | 398 event_handler_(new RenderWidgetHostViewEventHandler(host_, this, this)), |
| 399 frame_sink_id_(host_->AllocateFrameSinkId(is_guest_view_hack_)), |
| 399 weak_ptr_factory_(this) { | 400 weak_ptr_factory_(this) { |
| 400 if (!is_guest_view_hack_) | 401 if (!is_guest_view_hack_) |
| 401 host_->SetView(this); | 402 host_->SetView(this); |
| 402 | 403 |
| 403 // We should start observing the TextInputManager for IME-related events as | 404 // We should start observing the TextInputManager for IME-related events as |
| 404 // well as monitoring its lifetime. | 405 // well as monitoring its lifetime. |
| 405 if (GetTextInputManager()) | 406 if (GetTextInputManager()) |
| 406 GetTextInputManager()->AddObserver(this); | 407 GetTextInputManager()->AddObserver(this); |
| 407 | 408 |
| 408 bool overscroll_enabled = base::CommandLine::ForCurrentProcess()-> | 409 bool overscroll_enabled = base::CommandLine::ForCurrentProcess()-> |
| (...skipping 1516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1925 aura::WindowPortMus::Get(window_)->Embed( | 1926 aura::WindowPortMus::Get(window_)->Embed( |
| 1926 std::move(window_tree_client), | 1927 std::move(window_tree_client), |
| 1927 ui::mojom::kEmbedFlagEmbedderInterceptsEvents, | 1928 ui::mojom::kEmbedFlagEmbedderInterceptsEvents, |
| 1928 base::Bind(&EmbedCallback)); | 1929 base::Bind(&EmbedCallback)); |
| 1929 } | 1930 } |
| 1930 | 1931 |
| 1931 void RenderWidgetHostViewAura::CreateDelegatedFrameHostClient() { | 1932 void RenderWidgetHostViewAura::CreateDelegatedFrameHostClient() { |
| 1932 if (IsMus()) | 1933 if (IsMus()) |
| 1933 return; | 1934 return; |
| 1934 | 1935 |
| 1935 cc::FrameSinkId frame_sink_id = | |
| 1936 host_->AllocateFrameSinkId(is_guest_view_hack_); | |
| 1937 | |
| 1938 // Tests may set |delegated_frame_host_client_|. | 1936 // Tests may set |delegated_frame_host_client_|. |
| 1939 if (!delegated_frame_host_client_) { | 1937 if (!delegated_frame_host_client_) { |
| 1940 delegated_frame_host_client_ = | 1938 delegated_frame_host_client_ = |
| 1941 base::MakeUnique<DelegatedFrameHostClientAura>(this); | 1939 base::MakeUnique<DelegatedFrameHostClientAura>(this); |
| 1942 } | 1940 } |
| 1943 delegated_frame_host_ = base::MakeUnique<DelegatedFrameHost>( | 1941 delegated_frame_host_ = base::MakeUnique<DelegatedFrameHost>( |
| 1944 frame_sink_id, delegated_frame_host_client_.get()); | 1942 frame_sink_id_, delegated_frame_host_client_.get()); |
| 1945 if (renderer_compositor_frame_sink_) { | 1943 if (renderer_compositor_frame_sink_) { |
| 1946 delegated_frame_host_->DidCreateNewRendererCompositorFrameSink( | 1944 delegated_frame_host_->DidCreateNewRendererCompositorFrameSink( |
| 1947 renderer_compositor_frame_sink_); | 1945 renderer_compositor_frame_sink_); |
| 1948 } | 1946 } |
| 1949 UpdateNeedsBeginFramesInternal(); | 1947 UpdateNeedsBeginFramesInternal(); |
| 1950 | 1948 |
| 1951 // Let the page-level input event router know about our surface ID | 1949 // Let the page-level input event router know about our surface ID |
| 1952 // namespace for surface-based hit testing. | 1950 // namespace for surface-based hit testing. |
| 1953 if (host_->delegate() && host_->delegate()->GetInputEventRouter()) { | 1951 if (host_->delegate() && host_->delegate()->GetInputEventRouter()) { |
| 1954 host_->delegate()->GetInputEventRouter()->AddFrameSinkIdOwner( | 1952 host_->delegate()->GetInputEventRouter()->AddFrameSinkIdOwner( |
| (...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2275 tsc_config.enable_longpress_drag_selection = false; | 2273 tsc_config.enable_longpress_drag_selection = false; |
| 2276 selection_controller_.reset(new ui::TouchSelectionController( | 2274 selection_controller_.reset(new ui::TouchSelectionController( |
| 2277 selection_controller_client_.get(), tsc_config)); | 2275 selection_controller_client_.get(), tsc_config)); |
| 2278 } | 2276 } |
| 2279 | 2277 |
| 2280 void RenderWidgetHostViewAura::OnDidNavigateMainFrameToNewPage() { | 2278 void RenderWidgetHostViewAura::OnDidNavigateMainFrameToNewPage() { |
| 2281 ui::GestureRecognizer::Get()->CancelActiveTouches(window_); | 2279 ui::GestureRecognizer::Get()->CancelActiveTouches(window_); |
| 2282 } | 2280 } |
| 2283 | 2281 |
| 2284 cc::FrameSinkId RenderWidgetHostViewAura::GetFrameSinkId() { | 2282 cc::FrameSinkId RenderWidgetHostViewAura::GetFrameSinkId() { |
| 2285 return delegated_frame_host_ ? delegated_frame_host_->GetFrameSinkId() | 2283 return frame_sink_id_; |
| 2286 : cc::FrameSinkId(); | |
| 2287 } | 2284 } |
| 2288 | 2285 |
| 2289 cc::SurfaceId RenderWidgetHostViewAura::SurfaceIdForTesting() const { | 2286 cc::SurfaceId RenderWidgetHostViewAura::SurfaceIdForTesting() const { |
| 2290 return delegated_frame_host_ ? delegated_frame_host_->SurfaceIdForTesting() | 2287 return delegated_frame_host_ ? delegated_frame_host_->SurfaceIdForTesting() |
| 2291 : cc::SurfaceId(); | 2288 : cc::SurfaceId(); |
| 2292 } | 2289 } |
| 2293 | 2290 |
| 2294 void RenderWidgetHostViewAura::OnUpdateTextInputStateCalled( | 2291 void RenderWidgetHostViewAura::OnUpdateTextInputStateCalled( |
| 2295 TextInputManager* text_input_manager, | 2292 TextInputManager* text_input_manager, |
| 2296 RenderWidgetHostViewBase* updated_view, | 2293 RenderWidgetHostViewBase* updated_view, |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2377 } | 2374 } |
| 2378 | 2375 |
| 2379 void RenderWidgetHostViewAura::UpdateNeedsBeginFramesInternal() { | 2376 void RenderWidgetHostViewAura::UpdateNeedsBeginFramesInternal() { |
| 2380 if (!delegated_frame_host_) | 2377 if (!delegated_frame_host_) |
| 2381 return; | 2378 return; |
| 2382 delegated_frame_host_->SetNeedsBeginFrames(needs_begin_frames_ || | 2379 delegated_frame_host_->SetNeedsBeginFrames(needs_begin_frames_ || |
| 2383 needs_flush_input_); | 2380 needs_flush_input_); |
| 2384 } | 2381 } |
| 2385 | 2382 |
| 2386 } // namespace content | 2383 } // namespace content |
| OLD | NEW |