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 #ifndef CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_ |
6 #define CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
454 | 454 |
455 // The screen that this drag is associated with. Cached, because other UI | 455 // The screen that this drag is associated with. Cached, because other UI |
456 // elements are NULLd at various points during the lifetime of this object. | 456 // elements are NULLd at various points during the lifetime of this object. |
457 gfx::Screen* screen_; | 457 gfx::Screen* screen_; |
458 | 458 |
459 // The desktop type that this drag is associated with. Cached, because other | 459 // The desktop type that this drag is associated with. Cached, because other |
460 // UI elements are NULLd at various points during the lifetime of this | 460 // UI elements are NULLd at various points during the lifetime of this |
461 // object. | 461 // object. |
462 chrome::HostDesktopType host_desktop_type_; | 462 chrome::HostDesktopType host_desktop_type_; |
463 | 463 |
464 // Aura mouse capture and release is used on Ash platforms as well as on | 464 // Whether capture can be released during the drag. When false, capture should |
465 // Linux to ensure that pointer grab is not released prematurely. | 465 // not be released when transferring capture between widgets and when starting |
466 bool use_aura_capture_policy_; | 466 // the move loop. |
| 467 bool can_release_capture_; |
467 | 468 |
468 // The position of the mouse (in screen coordinates) at the start of the drag | 469 // The position of the mouse (in screen coordinates) at the start of the drag |
469 // operation. This is used to calculate minimum elasticity before a | 470 // operation. This is used to calculate minimum elasticity before a |
470 // DraggedTabView is constructed. | 471 // DraggedTabView is constructed. |
471 gfx::Point start_point_in_screen_; | 472 gfx::Point start_point_in_screen_; |
472 | 473 |
473 // This is the offset of the mouse from the top left of the first Tab where | 474 // This is the offset of the mouse from the top left of the first Tab where |
474 // dragging began. This is used to ensure that the dragged view is always | 475 // dragging began. This is used to ensure that the dragged view is always |
475 // positioned at the correct location during the drag, and to ensure that the | 476 // positioned at the correct location during the drag, and to ensure that the |
476 // detached window is created at the right location. | 477 // detached window is created at the right location. |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
587 int attach_index_; | 588 int attach_index_; |
588 | 589 |
589 scoped_ptr<ui::EventHandler> escape_tracker_; | 590 scoped_ptr<ui::EventHandler> escape_tracker_; |
590 | 591 |
591 base::WeakPtrFactory<TabDragController> weak_factory_; | 592 base::WeakPtrFactory<TabDragController> weak_factory_; |
592 | 593 |
593 DISALLOW_COPY_AND_ASSIGN(TabDragController); | 594 DISALLOW_COPY_AND_ASSIGN(TabDragController); |
594 }; | 595 }; |
595 | 596 |
596 #endif // CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_ | 597 #endif // CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_ |
OLD | NEW |