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 "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
708 if (!root_window) | 708 if (!root_window) |
709 return false; | 709 return false; |
710 | 710 |
711 if (mouse_locked_) | 711 if (mouse_locked_) |
712 return true; | 712 return true; |
713 | 713 |
714 mouse_locked_ = true; | 714 mouse_locked_ = true; |
715 window_->SetCapture(); | 715 window_->SetCapture(); |
716 aura::Env::GetInstance()->cursor_manager()->ShowCursor(false); | 716 aura::Env::GetInstance()->cursor_manager()->ShowCursor(false); |
717 synthetic_move_sent_ = true; | 717 synthetic_move_sent_ = true; |
718 root_window->MoveCursorTo(window_->bounds().CenterPoint()); | 718 window_->MoveCursorTo(gfx::Rect(window_->bounds().size()).CenterPoint()); |
719 if (aura::client::GetTooltipClient(root_window)) | 719 if (aura::client::GetTooltipClient(root_window)) |
720 aura::client::GetTooltipClient(root_window)->SetTooltipsEnabled(false); | 720 aura::client::GetTooltipClient(root_window)->SetTooltipsEnabled(false); |
721 return true; | 721 return true; |
722 } | 722 } |
723 | 723 |
724 void RenderWidgetHostViewAura::UnlockMouse() { | 724 void RenderWidgetHostViewAura::UnlockMouse() { |
725 aura::RootWindow* root_window = window_->GetRootWindow(); | 725 aura::RootWindow* root_window = window_->GetRootWindow(); |
726 if (!mouse_locked_ || !root_window) | 726 if (!mouse_locked_ || !root_window) |
727 return; | 727 return; |
728 | 728 |
729 mouse_locked_ = false; | 729 mouse_locked_ = false; |
730 | 730 |
731 window_->ReleaseCapture(); | 731 window_->ReleaseCapture(); |
732 root_window->MoveCursorTo(unlocked_global_mouse_position_); | 732 window_->MoveCursorTo(unlocked_mouse_position_); |
733 aura::Env::GetInstance()->cursor_manager()->ShowCursor(true); | 733 aura::Env::GetInstance()->cursor_manager()->ShowCursor(true); |
734 if (aura::client::GetTooltipClient(root_window)) | 734 if (aura::client::GetTooltipClient(root_window)) |
735 aura::client::GetTooltipClient(root_window)->SetTooltipsEnabled(true); | 735 aura::client::GetTooltipClient(root_window)->SetTooltipsEnabled(true); |
736 | 736 |
737 host_->LostMouseLock(); | 737 host_->LostMouseLock(); |
738 } | 738 } |
739 | 739 |
740 //////////////////////////////////////////////////////////////////////////////// | 740 //////////////////////////////////////////////////////////////////////////////// |
741 // RenderWidgetHostViewAura, ui::TextInputClient implementation: | 741 // RenderWidgetHostViewAura, ui::TextInputClient implementation: |
742 void RenderWidgetHostViewAura::SetCompositionText( | 742 void RenderWidgetHostViewAura::SetCompositionText( |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1000 | 1000 |
1001 int RenderWidgetHostViewAura::GetNonClientComponent( | 1001 int RenderWidgetHostViewAura::GetNonClientComponent( |
1002 const gfx::Point& point) const { | 1002 const gfx::Point& point) const { |
1003 return HTCLIENT; | 1003 return HTCLIENT; |
1004 } | 1004 } |
1005 | 1005 |
1006 bool RenderWidgetHostViewAura::OnMouseEvent(aura::MouseEvent* event) { | 1006 bool RenderWidgetHostViewAura::OnMouseEvent(aura::MouseEvent* event) { |
1007 TRACE_EVENT0("browser", "RenderWidgetHostViewAura::OnMouseEvent"); | 1007 TRACE_EVENT0("browser", "RenderWidgetHostViewAura::OnMouseEvent"); |
1008 if (mouse_locked_) { | 1008 if (mouse_locked_) { |
1009 WebKit::WebMouseEvent mouse_event = content::MakeWebMouseEvent(event); | 1009 WebKit::WebMouseEvent mouse_event = content::MakeWebMouseEvent(event); |
1010 gfx::Point center = window_->bounds().CenterPoint(); | 1010 gfx::Point center(gfx::Rect(window_->bounds().size()).CenterPoint()); |
1011 | 1011 |
1012 bool is_move_to_center_event = (event->type() == ui::ET_MOUSE_MOVED || | 1012 bool is_move_to_center_event = (event->type() == ui::ET_MOUSE_MOVED || |
1013 event->type() == ui::ET_MOUSE_DRAGGED) && | 1013 event->type() == ui::ET_MOUSE_DRAGGED) && |
1014 mouse_event.globalX == center.x() && mouse_event.globalY == center.y(); | 1014 mouse_event.x == center.x() && mouse_event.y == center.y(); |
1015 | 1015 |
1016 ModifyEventMovementAndCoords(&mouse_event); | 1016 ModifyEventMovementAndCoords(&mouse_event); |
1017 | 1017 |
1018 bool should_not_forward = is_move_to_center_event && synthetic_move_sent_; | 1018 bool should_not_forward = is_move_to_center_event && synthetic_move_sent_; |
1019 if (should_not_forward) { | 1019 if (should_not_forward) { |
1020 synthetic_move_sent_ = false; | 1020 synthetic_move_sent_ = false; |
1021 } else { | 1021 } else { |
1022 // Check if the mouse has reached the border and needs to be centered. | 1022 // Check if the mouse has reached the border and needs to be centered. |
1023 if (ShouldMoveToCenter()) { | 1023 if (ShouldMoveToCenter()) { |
1024 synthetic_move_sent_ = true; | 1024 synthetic_move_sent_ = true; |
1025 window_->GetRootWindow()->MoveCursorTo(center); | 1025 window_->MoveCursorTo(center); |
1026 } | 1026 } |
1027 | 1027 |
1028 // Forward event to renderer. | 1028 // Forward event to renderer. |
1029 if (CanRendererHandleEvent(event)) | 1029 if (CanRendererHandleEvent(event)) |
1030 host_->ForwardMouseEvent(mouse_event); | 1030 host_->ForwardMouseEvent(mouse_event); |
1031 } | 1031 } |
1032 | 1032 |
1033 return false; | 1033 return false; |
1034 } | 1034 } |
1035 | 1035 |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1374 RenderWidgetHostView* RenderWidgetHostView::CreateViewForWidget( | 1374 RenderWidgetHostView* RenderWidgetHostView::CreateViewForWidget( |
1375 RenderWidgetHost* widget) { | 1375 RenderWidgetHost* widget) { |
1376 return new RenderWidgetHostViewAura(widget); | 1376 return new RenderWidgetHostViewAura(widget); |
1377 } | 1377 } |
1378 | 1378 |
1379 // static | 1379 // static |
1380 void content::RenderWidgetHostViewPort::GetDefaultScreenInfo( | 1380 void content::RenderWidgetHostViewPort::GetDefaultScreenInfo( |
1381 WebKit::WebScreenInfo* results) { | 1381 WebKit::WebScreenInfo* results) { |
1382 GetScreenInfoForWindow(results, NULL); | 1382 GetScreenInfoForWindow(results, NULL); |
1383 } | 1383 } |
OLD | NEW |