Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: third_party/WebKit/Source/web/WebViewImpl.cpp

Issue 2227563003: Refactoring button field and its type (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix mac/win errors Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 m_client->setMouseOverURL(WebURL()); 526 m_client->setMouseOverURL(WebURL());
527 PageWidgetEventHandler::handleMouseLeave(mainFrame, event); 527 PageWidgetEventHandler::handleMouseLeave(mainFrame, event);
528 } 528 }
529 529
530 void WebViewImpl::handleMouseDown(LocalFrame& mainFrame, const WebMouseEvent& ev ent) 530 void WebViewImpl::handleMouseDown(LocalFrame& mainFrame, const WebMouseEvent& ev ent)
531 { 531 {
532 // If there is a popup open, close it as the user is clicking on the page 532 // If there is a popup open, close it as the user is clicking on the page
533 // (outside of the popup). We also save it so we can prevent a click on an 533 // (outside of the popup). We also save it so we can prevent a click on an
534 // element from immediately reopening the same popup. 534 // element from immediately reopening the same popup.
535 RefPtr<WebPagePopupImpl> pagePopup; 535 RefPtr<WebPagePopupImpl> pagePopup;
536 if (event.button == WebMouseEvent::ButtonLeft) { 536 if (event.button == WebMouseEvent::Button::Left) {
537 pagePopup = m_pagePopup; 537 pagePopup = m_pagePopup;
538 hidePopups(); 538 hidePopups();
539 DCHECK(!m_pagePopup); 539 DCHECK(!m_pagePopup);
540 } 540 }
541 541
542 // Take capture on a mouse down on a plugin so we can send it mouse events. 542 // Take capture on a mouse down on a plugin so we can send it mouse events.
543 // If the hit node is a plugin but a scrollbar is over it don't start mouse 543 // If the hit node is a plugin but a scrollbar is over it don't start mouse
544 // capture because it will interfere with the scrollbar receiving events. 544 // capture because it will interfere with the scrollbar receiving events.
545 IntPoint point(event.x, event.y); 545 IntPoint point(event.x, event.y);
546 if (event.button == WebMouseEvent::ButtonLeft && m_page->mainFrame()->isLoca lFrame()) { 546 if (event.button == WebMouseEvent::Button::Left && m_page->mainFrame()->isLo calFrame()) {
547 point = m_page->deprecatedLocalMainFrame()->view()->rootFrameToContents( point); 547 point = m_page->deprecatedLocalMainFrame()->view()->rootFrameToContents( point);
548 HitTestResult result(m_page->deprecatedLocalMainFrame()->eventHandler(). hitTestResultAtPoint(point)); 548 HitTestResult result(m_page->deprecatedLocalMainFrame()->eventHandler(). hitTestResultAtPoint(point));
549 result.setToShadowHostIfInUserAgentShadowRoot(); 549 result.setToShadowHostIfInUserAgentShadowRoot();
550 Node* hitNode = result.innerNodeOrImageMapImage(); 550 Node* hitNode = result.innerNodeOrImageMapImage();
551 551
552 if (!result.scrollbar() && hitNode && hitNode->layoutObject() && hitNode ->layoutObject()->isEmbeddedObject()) { 552 if (!result.scrollbar() && hitNode && hitNode->layoutObject() && hitNode ->layoutObject()->isEmbeddedObject()) {
553 m_mouseCaptureNode = hitNode; 553 m_mouseCaptureNode = hitNode;
554 TRACE_EVENT_ASYNC_BEGIN0("input", "capturing mouse", this); 554 TRACE_EVENT_ASYNC_BEGIN0("input", "capturing mouse", this);
555 } 555 }
556 } 556 }
557 557
558 PageWidgetEventHandler::handleMouseDown(mainFrame, event); 558 PageWidgetEventHandler::handleMouseDown(mainFrame, event);
559 559
560 if (event.button == WebMouseEvent::ButtonLeft && m_mouseCaptureNode) 560 if (event.button == WebMouseEvent::Button::Left && m_mouseCaptureNode)
561 m_mouseCaptureGestureToken = mainFrame.eventHandler().takeLastMouseDownG estureToken(); 561 m_mouseCaptureGestureToken = mainFrame.eventHandler().takeLastMouseDownG estureToken();
562 562
563 if (m_pagePopup && pagePopup && m_pagePopup->hasSamePopupClient(pagePopup.ge t())) { 563 if (m_pagePopup && pagePopup && m_pagePopup->hasSamePopupClient(pagePopup.ge t())) {
564 // That click triggered a page popup that is the same as the one we just closed. 564 // That click triggered a page popup that is the same as the one we just closed.
565 // It needs to be closed. 565 // It needs to be closed.
566 cancelPagePopup(); 566 cancelPagePopup();
567 } 567 }
568 568
569 // Dispatch the contextmenu event regardless of if the click was swallowed. 569 // Dispatch the contextmenu event regardless of if the click was swallowed.
570 if (!page()->settings().showContextMenuOnMouseUp()) { 570 if (!page()->settings().showContextMenuOnMouseUp()) {
571 #if OS(MACOSX) 571 #if OS(MACOSX)
572 if (event.button == WebMouseEvent::ButtonRight 572 if (event.button == WebMouseEvent::Button::Right
573 || (event.button == WebMouseEvent::ButtonLeft 573 || (event.button == WebMouseEvent::Button::Left
574 && event.modifiers & WebMouseEvent::ControlKey)) 574 && event.modifiers & WebMouseEvent::ControlKey))
575 mouseContextMenu(event); 575 mouseContextMenu(event);
576 #else 576 #else
577 if (event.button == WebMouseEvent::ButtonRight) 577 if (event.button == WebMouseEvent::Button::Right)
578 mouseContextMenu(event); 578 mouseContextMenu(event);
579 #endif 579 #endif
580 } 580 }
581 } 581 }
582 582
583 void WebViewImpl::setDisplayMode(WebDisplayMode mode) 583 void WebViewImpl::setDisplayMode(WebDisplayMode mode)
584 { 584 {
585 m_displayMode = mode; 585 m_displayMode = mode;
586 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) 586 if (!mainFrameImpl() || !mainFrameImpl()->frameView())
587 return; 587 return;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 // implementation... 623 // implementation...
624 } 624 }
625 625
626 void WebViewImpl::handleMouseUp(LocalFrame& mainFrame, const WebMouseEvent& even t) 626 void WebViewImpl::handleMouseUp(LocalFrame& mainFrame, const WebMouseEvent& even t)
627 { 627 {
628 PageWidgetEventHandler::handleMouseUp(mainFrame, event); 628 PageWidgetEventHandler::handleMouseUp(mainFrame, event);
629 629
630 if (page()->settings().showContextMenuOnMouseUp()) { 630 if (page()->settings().showContextMenuOnMouseUp()) {
631 // Dispatch the contextmenu event regardless of if the click was swallow ed. 631 // Dispatch the contextmenu event regardless of if the click was swallow ed.
632 // On Mac/Linux, we handle it on mouse down, not up. 632 // On Mac/Linux, we handle it on mouse down, not up.
633 if (event.button == WebMouseEvent::ButtonRight) 633 if (event.button == WebMouseEvent::Button::Right)
634 mouseContextMenu(event); 634 mouseContextMenu(event);
635 } 635 }
636 } 636 }
637 637
638 WebInputEventResult WebViewImpl::handleMouseWheel(LocalFrame& mainFrame, const W ebMouseWheelEvent& event) 638 WebInputEventResult WebViewImpl::handleMouseWheel(LocalFrame& mainFrame, const W ebMouseWheelEvent& event)
639 { 639 {
640 // Halt an in-progress fling on a wheel tick. 640 // Halt an in-progress fling on a wheel tick.
641 if (!event.hasPreciseScrollingDeltas) 641 if (!event.hasPreciseScrollingDeltas)
642 endActiveFlingAnimation(); 642 endActiveFlingAnimation();
643 643
(...skipping 3009 matching lines...) Expand 10 before | Expand all | Expand 10 after
3653 FrameView* view = mainFrameImpl()->frameView(); 3653 FrameView* view = mainFrameImpl()->frameView();
3654 IntPoint pointInRootFrame = view->contentsToFrame(view->viewportToContents(p ointInViewport)); 3654 IntPoint pointInRootFrame = view->contentsToFrame(view->viewportToContents(p ointInViewport));
3655 return hitTestResultForRootFramePos(pointInRootFrame); 3655 return hitTestResultForRootFramePos(pointInRootFrame);
3656 } 3656 }
3657 3657
3658 void WebViewImpl::dragSourceEndedAt( 3658 void WebViewImpl::dragSourceEndedAt(
3659 const WebPoint& clientPoint, 3659 const WebPoint& clientPoint,
3660 const WebPoint& screenPoint, 3660 const WebPoint& screenPoint,
3661 WebDragOperation operation) 3661 WebDragOperation operation)
3662 { 3662 {
3663 PlatformMouseEvent pme(clientPoint, screenPoint, LeftButton, PlatformEvent:: MouseMoved, 3663 PlatformMouseEvent pme(clientPoint, screenPoint, WebPointerProperties::Butto n::Left, PlatformEvent::MouseMoved,
3664 0, PlatformEvent::NoModifiers, PlatformMouseEvent::RealOrIndistinguishab le, WTF::monotonicallyIncreasingTime()); 3664 0, PlatformEvent::NoModifiers, PlatformMouseEvent::RealOrIndistinguishab le, WTF::monotonicallyIncreasingTime());
3665 m_page->deprecatedLocalMainFrame()->eventHandler().dragSourceEndedAt(pme, 3665 m_page->deprecatedLocalMainFrame()->eventHandler().dragSourceEndedAt(pme,
3666 static_cast<DragOperation>(operation)); 3666 static_cast<DragOperation>(operation));
3667 } 3667 }
3668 3668
3669 void WebViewImpl::dragSourceSystemDragEnded() 3669 void WebViewImpl::dragSourceSystemDragEnded()
3670 { 3670 {
3671 // It's possible for us to get this callback while not doing a drag if 3671 // It's possible for us to get this callback while not doing a drag if
3672 // it's from a previous page that got unloaded. 3672 // it's from a previous page that got unloaded.
3673 if (m_doingDragAndDrop) { 3673 if (m_doingDragAndDrop) {
(...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after
4611 return nullptr; 4611 return nullptr;
4612 return focusedFrame; 4612 return focusedFrame;
4613 } 4613 }
4614 4614
4615 LocalFrame* WebViewImpl::focusedLocalFrameAvailableForIme() const 4615 LocalFrame* WebViewImpl::focusedLocalFrameAvailableForIme() const
4616 { 4616 {
4617 return m_imeAcceptEvents ? focusedLocalFrameInWidget() : nullptr; 4617 return m_imeAcceptEvents ? focusedLocalFrameInWidget() : nullptr;
4618 } 4618 }
4619 4619
4620 } // namespace blink 4620 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698