| Index: ui/aura/desktop.cc
|
| diff --git a/ui/aura/desktop.cc b/ui/aura/desktop.cc
|
| index f502fde85052fcc3c1dc2358d071e4a595b7d99d..010acf4f3a55d6dca455c4d78cc62f3affcde5b7 100644
|
| --- a/ui/aura/desktop.cc
|
| +++ b/ui/aura/desktop.cc
|
| @@ -151,6 +151,7 @@ Desktop::Desktop()
|
| stacking_client_(new DefaultStackingClient(this))),
|
| ALLOW_THIS_IN_INITIALIZER_LIST(schedule_paint_factory_(this)),
|
| active_window_(NULL),
|
| + mouse_button_flags_(0),
|
| last_cursor_(kCursorNull),
|
| in_destructor_(false),
|
| screen_(new ScreenAura),
|
| @@ -231,6 +232,11 @@ void Desktop::Draw() {
|
| }
|
|
|
| bool Desktop::DispatchMouseEvent(MouseEvent* event) {
|
| + static const int kMouseButtonFlagMask =
|
| + ui::EF_LEFT_BUTTON_DOWN |
|
| + ui::EF_MIDDLE_BUTTON_DOWN |
|
| + ui::EF_RIGHT_BUTTON_DOWN;
|
| +
|
| event->UpdateForTransform(layer()->transform());
|
|
|
| last_mouse_location_ = event->location();
|
| @@ -246,9 +252,11 @@ bool Desktop::DispatchMouseEvent(MouseEvent* event) {
|
| case ui::ET_MOUSE_PRESSED:
|
| if (!mouse_pressed_handler_)
|
| mouse_pressed_handler_ = target;
|
| + mouse_button_flags_ = event->flags() & kMouseButtonFlagMask;
|
| break;
|
| case ui::ET_MOUSE_RELEASED:
|
| mouse_pressed_handler_ = NULL;
|
| + mouse_button_flags_ = event->flags() & kMouseButtonFlagMask;
|
| break;
|
| default:
|
| break;
|
| @@ -399,6 +407,10 @@ void Desktop::RemoveObserver(DesktopObserver* observer) {
|
| observers_.RemoveObserver(observer);
|
| }
|
|
|
| +bool Desktop::IsMouseButtonDown() const {
|
| + return mouse_button_flags_ != 0;
|
| +}
|
| +
|
| void Desktop::SetCapture(Window* window) {
|
| if (capture_window_ == window)
|
| return;
|
|
|