Chromium Code Reviews| Index: pdf/pdfium/pdfium_engine.cc |
| diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc |
| index 08e869de6e40c95f10dd6b9a4b9d46ea3c83b558..1add7ef94579362a555eb50cc3aa727a97083e0e 100644 |
| --- a/pdf/pdfium/pdfium_engine.cc |
| +++ b/pdf/pdfium/pdfium_engine.cc |
| @@ -1527,8 +1527,11 @@ bool PDFiumEngine::OnMouseDown(const pp::MouseInputEvent& event) { |
| selection_.clear(); |
| return true; |
| } |
| - if (event.GetButton() != PP_INPUTEVENT_MOUSEBUTTON_LEFT) |
| + |
| + if (event.GetButton() != PP_INPUTEVENT_MOUSEBUTTON_LEFT && |
| + event.GetButton() != PP_INPUTEVENT_MOUSEBUTTON_MIDDLE) { |
| return false; |
| + } |
| SelectionChangeInvalidator selection_invalidator(this); |
| selection_.clear(); |
| @@ -1546,6 +1549,10 @@ bool PDFiumEngine::OnMouseDown(const pp::MouseInputEvent& event) { |
| if (area == PDFiumPage::WEBLINK_AREA) |
| return true; |
| + // Prevent middle mouse button from selecting texts |
|
raymes
2016/07/14 02:53:41
nit: texts->texts.
jaepark
2016/07/14 03:03:46
Done.
|
| + if (event.GetButton() == PP_INPUTEVENT_MOUSEBUTTON_MIDDLE) |
| + return false; |
| + |
| if (area == PDFiumPage::DOCLINK_AREA) { |
| client_->ScrollToPage(target.page); |
| client_->FormTextFieldFocusChange(false); |
| @@ -1620,8 +1627,11 @@ void PDFiumEngine::OnMultipleClick(int click_count, |
| } |
| bool PDFiumEngine::OnMouseUp(const pp::MouseInputEvent& event) { |
| - if (event.GetButton() != PP_INPUTEVENT_MOUSEBUTTON_LEFT) |
| + |
| + if (event.GetButton() != PP_INPUTEVENT_MOUSEBUTTON_LEFT && |
| + event.GetButton() != PP_INPUTEVENT_MOUSEBUTTON_MIDDLE) { |
| return false; |
| + } |
| int page_index = -1; |
| int char_index = -1; |
| @@ -1633,13 +1643,18 @@ bool PDFiumEngine::OnMouseUp(const pp::MouseInputEvent& event) { |
| // Open link on mouse up for same link for which mouse down happened earlier. |
| if (mouse_down_state_.Matches(area, target)) { |
| if (area == PDFiumPage::WEBLINK_AREA) { |
| - bool open_in_new_tab = !!(event.GetModifiers() & kDefaultKeyModifier); |
| + bool open_in_new_tab = !!(event.GetModifiers() & kDefaultKeyModifier) || |
| + !!(event.GetModifiers() & PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN); |
| client_->NavigateTo(target.url, open_in_new_tab); |
| client_->FormTextFieldFocusChange(false); |
| return true; |
| } |
| } |
| + // Prevent middle mouse button from selecting texts |
|
raymes
2016/07/14 02:53:41
nit: same here
jaepark
2016/07/14 03:03:46
Done.
|
| + if (event.GetButton() == PP_INPUTEVENT_MOUSEBUTTON_MIDDLE) |
| + return false; |
| + |
| if (page_index != -1) { |
| double page_x, page_y; |
| pp::Point point = event.GetPosition(); |