Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 527 // immediately reopened the select popup. It needs to be closed. | 527 // immediately reopened the select popup. It needs to be closed. |
| 528 hideSelectPopup(); | 528 hideSelectPopup(); |
| 529 } | 529 } |
| 530 | 530 |
| 531 if (m_pagePopup && pagePopup && m_pagePopup->hasSamePopupClient(pagePopup.ge t())) { | 531 if (m_pagePopup && pagePopup && m_pagePopup->hasSamePopupClient(pagePopup.ge t())) { |
| 532 // That click triggered a page popup that is the same as the one we just closed. | 532 // That click triggered a page popup that is the same as the one we just closed. |
| 533 // It needs to be closed. | 533 // It needs to be closed. |
| 534 closePagePopup(m_pagePopup.get()); | 534 closePagePopup(m_pagePopup.get()); |
| 535 } | 535 } |
| 536 | 536 |
| 537 // Dispatch the contextmenu event regardless of if the click was swallowed. | 537 if (!page()->settings().showContextMenuOnMouseUp()) { |
|
Rick Byers
2014/12/02 19:33:06
This comment is still relevant - keep it.
zino
2014/12/03 12:32:24
Done.
| |
| 538 #if OS(WIN) | 538 #if OS(MACOSX) |
| 539 // On Windows, we handle it on mouse up, not down. | 539 if (event.button == WebMouseEvent::ButtonRight |
| 540 #elif OS(MACOSX) | 540 || (event.button == WebMouseEvent::ButtonLeft |
| 541 if (event.button == WebMouseEvent::ButtonRight | 541 && event.modifiers & WebMouseEvent::ControlKey)) |
| 542 || (event.button == WebMouseEvent::ButtonLeft | 542 mouseContextMenu(event); |
| 543 && event.modifiers & WebMouseEvent::ControlKey)) | |
| 544 mouseContextMenu(event); | |
| 545 #else | 543 #else |
| 546 if (event.button == WebMouseEvent::ButtonRight) | 544 if (event.button == WebMouseEvent::ButtonRight) |
| 547 mouseContextMenu(event); | 545 mouseContextMenu(event); |
| 548 #endif | 546 #endif |
| 547 } | |
| 549 } | 548 } |
| 550 | 549 |
| 551 void WebViewImpl::mouseContextMenu(const WebMouseEvent& event) | 550 void WebViewImpl::mouseContextMenu(const WebMouseEvent& event) |
| 552 { | 551 { |
| 553 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) | 552 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) |
| 554 return; | 553 return; |
| 555 | 554 |
| 556 m_page->contextMenuController().clearContextMenu(); | 555 m_page->contextMenuController().clearContextMenu(); |
| 557 | 556 |
| 558 PlatformMouseEventBuilder pme(mainFrameImpl()->frameView(), event); | 557 PlatformMouseEventBuilder pme(mainFrameImpl()->frameView(), event); |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 578 targetLocalFrame->eventHandler().sendContextMenuEvent(pme); | 577 targetLocalFrame->eventHandler().sendContextMenuEvent(pme); |
| 579 m_contextMenuAllowed = false; | 578 m_contextMenuAllowed = false; |
| 580 // Actually showing the context menu is handled by the ContextMenuClient | 579 // Actually showing the context menu is handled by the ContextMenuClient |
| 581 // implementation... | 580 // implementation... |
| 582 } | 581 } |
| 583 | 582 |
| 584 void WebViewImpl::handleMouseUp(LocalFrame& mainFrame, const WebMouseEvent& even t) | 583 void WebViewImpl::handleMouseUp(LocalFrame& mainFrame, const WebMouseEvent& even t) |
| 585 { | 584 { |
| 586 PageWidgetEventHandler::handleMouseUp(mainFrame, event); | 585 PageWidgetEventHandler::handleMouseUp(mainFrame, event); |
| 587 | 586 |
| 588 #if OS(WIN) | 587 if (page()->settings().showContextMenuOnMouseUp()) { |
| 589 // Dispatch the contextmenu event regardless of if the click was swallowed. | 588 // Dispatch the contextmenu event regardless of if the click was swallow ed. |
| 590 // On Mac/Linux, we handle it on mouse down, not up. | 589 // On Mac/Linux, we handle it on mouse down, not up. |
| 591 if (event.button == WebMouseEvent::ButtonRight) | 590 if (event.button == WebMouseEvent::ButtonRight) |
| 592 mouseContextMenu(event); | 591 mouseContextMenu(event); |
| 593 #endif | 592 } |
| 594 } | 593 } |
| 595 | 594 |
| 596 bool WebViewImpl::handleMouseWheel(LocalFrame& mainFrame, const WebMouseWheelEve nt& event) | 595 bool WebViewImpl::handleMouseWheel(LocalFrame& mainFrame, const WebMouseWheelEve nt& event) |
| 597 { | 596 { |
| 598 hidePopups(); | 597 hidePopups(); |
| 599 return PageWidgetEventHandler::handleMouseWheel(mainFrame, event); | 598 return PageWidgetEventHandler::handleMouseWheel(mainFrame, event); |
| 600 } | 599 } |
| 601 | 600 |
| 602 bool WebViewImpl::scrollBy(const WebFloatSize& delta, const WebFloatSize& veloci ty) | 601 bool WebViewImpl::scrollBy(const WebFloatSize& delta, const WebFloatSize& veloci ty) |
| 603 { | 602 { |
| (...skipping 3947 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4551 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width | 4550 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width |
| 4552 || (constraints.minimumScale == constraints.maximumScale && constraints. minimumScale != -1); | 4551 || (constraints.minimumScale == constraints.maximumScale && constraints. minimumScale != -1); |
| 4553 } | 4552 } |
| 4554 | 4553 |
| 4555 void WebViewImpl::forceNextWebGLContextCreationToFail() | 4554 void WebViewImpl::forceNextWebGLContextCreationToFail() |
| 4556 { | 4555 { |
| 4557 WebGLRenderingContext::forceNextWebGLContextCreationToFail(); | 4556 WebGLRenderingContext::forceNextWebGLContextCreationToFail(); |
| 4558 } | 4557 } |
| 4559 | 4558 |
| 4560 } // namespace blink | 4559 } // namespace blink |
| OLD | NEW |