Chromium Code Reviews| Index: ui/events/event.cc |
| diff --git a/ui/events/event.cc b/ui/events/event.cc |
| index df38f38365ace7a3d8adbd89ea72bf7d493385ae..06292810811a5f770f3183e7894a4494a1348eec 100644 |
| --- a/ui/events/event.cc |
| +++ b/ui/events/event.cc |
| @@ -317,15 +317,20 @@ bool MouseEvent::IsRepeatedClickEvent( |
| int MouseEvent::GetRepeatCount(const MouseEvent& event) { |
| int click_count = 1; |
| if (last_click_event_) { |
| - if (event.type() == ui::ET_MOUSE_RELEASED) |
| + if (event.type() == ui::ET_MOUSE_RELEASED) { |
| + last_click_released_ = true; |
|
sky
2014/07/17 21:37:55
If you get a capture change I'm not sure if you ar
flackr
2014/07/18 16:20:49
If the event is handled within chrome this is call
sky
2014/07/18 19:20:59
What I'm saying is that I'm not sure if we necessa
flackr
2014/07/18 19:45:23
Ah I see what you're saying. If I double click, an
|
| return last_click_event_->GetClickCount(); |
| - if (IsX11SendEventTrue(event.native_event())) |
| + } |
| + if (!last_click_released_ || |
| + IsX11SendEventTrue(event.native_event())) { |
| click_count = last_click_event_->GetClickCount(); |
| - else if (IsRepeatedClickEvent(*last_click_event_, event)) |
| + } else if (IsRepeatedClickEvent(*last_click_event_, event)) { |
| click_count = last_click_event_->GetClickCount() + 1; |
| + } |
| delete last_click_event_; |
| } |
| last_click_event_ = new MouseEvent(event); |
| + last_click_released_ = false; |
| if (click_count > 3) |
| click_count = 3; |
| last_click_event_->SetClickCount(click_count); |
| @@ -334,6 +339,7 @@ int MouseEvent::GetRepeatCount(const MouseEvent& event) { |
| // static |
| MouseEvent* MouseEvent::last_click_event_ = NULL; |
| +bool MouseEvent::last_click_released_ = false; |
| int MouseEvent::GetClickCount() const { |
| if (type() != ET_MOUSE_PRESSED && type() != ET_MOUSE_RELEASED) |