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

Side by Side Diff: views/widget/widget_win.cc

Issue 6591120: Update MouseEvent (initial pass). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cleanup more MouseEvent related code. Created 9 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "views/widget/widget_win.h" 5 #include "views/widget/widget_win.h"
6 6
7 #include <dwmapi.h> 7 #include <dwmapi.h>
8 8
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/win/windows_version.h" 10 #include "base/win/windows_version.h"
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 } 208 }
209 209
210 void WidgetWin::InitWithWidget(Widget* parent, const gfx::Rect& bounds) { 210 void WidgetWin::InitWithWidget(Widget* parent, const gfx::Rect& bounds) {
211 Init(parent->GetNativeView(), bounds); 211 Init(parent->GetNativeView(), bounds);
212 } 212 }
213 213
214 gfx::NativeView WidgetWin::GetNativeView() const { 214 gfx::NativeView WidgetWin::GetNativeView() const {
215 return WindowImpl::hwnd(); 215 return WindowImpl::hwnd();
216 } 216 }
217 217
218 void WidgetWin::GenerateMousePressedForView(View* view,
219 const gfx::Point& point) {
220 gfx::Point point_in_widget(point);
221 View::ConvertPointToWidget(view, &point_in_widget);
222 GetRootView()->SetMouseHandler(view);
223 ProcessMousePressed(point_in_widget.ToPOINT(), MK_LBUTTON, false, false);
224 }
225
226 bool WidgetWin::GetAccelerator(int cmd_id, ui::Accelerator* accelerator) { 218 bool WidgetWin::GetAccelerator(int cmd_id, ui::Accelerator* accelerator) {
227 return false; 219 return false;
228 } 220 }
229 221
230 Window* WidgetWin::GetWindow() { 222 Window* WidgetWin::GetWindow() {
231 return GetWindowImpl(hwnd()); 223 return GetWindowImpl(hwnd());
232 } 224 }
233 225
234 const Window* WidgetWin::GetWindow() const { 226 const Window* WidgetWin::GetWindow() const {
235 return GetWindowImpl(hwnd()); 227 return GetWindowImpl(hwnd());
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 MakeMSG(&msg, message, w_param, l_param); 648 MakeMSG(&msg, message, w_param, l_param);
657 SetMsgHandled(root_view->ProcessKeyEvent(KeyEvent(msg))); 649 SetMsgHandled(root_view->ProcessKeyEvent(KeyEvent(msg)));
658 return 0; 650 return 0;
659 } 651 }
660 652
661 void WidgetWin::OnKillFocus(HWND focused_window) { 653 void WidgetWin::OnKillFocus(HWND focused_window) {
662 delegate_->OnNativeBlur(focused_window); 654 delegate_->OnNativeBlur(focused_window);
663 SetMsgHandled(FALSE); 655 SetMsgHandled(FALSE);
664 } 656 }
665 657
666 // TODO(pkasting): ORing the pressed/released button into the flags is _wrong_. 658 LRESULT WidgetWin::OnMouseActivate(UINT message,
667 // It makes it impossible to tell which button was modified when multiple 659 WPARAM w_param,
668 // buttons are/were held down. We need to instead put the modified button into 660 LPARAM l_param) {
669 // a separate member on the MouseEvent, then audit all consumers of MouseEvents
670 // to fix them to use the resulting values correctly.
671
672 void WidgetWin::OnLButtonDown(UINT flags, const CPoint& point) {
673 ProcessMousePressed(point, flags | MK_LBUTTON, false, false);
674 }
675
676 void WidgetWin::OnLButtonUp(UINT flags, const CPoint& point) {
677 ProcessMouseReleased(point, flags | MK_LBUTTON);
678 }
679
680 void WidgetWin::OnLButtonDblClk(UINT flags, const CPoint& point) {
681 ProcessMousePressed(point, flags | MK_LBUTTON, true, false);
682 }
683
684 void WidgetWin::OnMButtonDown(UINT flags, const CPoint& point) {
685 ProcessMousePressed(point, flags | MK_MBUTTON, false, false);
686 }
687
688 void WidgetWin::OnMButtonUp(UINT flags, const CPoint& point) {
689 ProcessMouseReleased(point, flags | MK_MBUTTON);
690 }
691
692 void WidgetWin::OnMButtonDblClk(UINT flags, const CPoint& point) {
693 ProcessMousePressed(point, flags | MK_MBUTTON, true, false);
694 }
695
696 LRESULT WidgetWin::OnMouseActivate(HWND window, UINT hittest_code,
697 UINT message) {
698 SetMsgHandled(FALSE); 661 SetMsgHandled(FALSE);
699 return MA_ACTIVATE; 662 return MA_ACTIVATE;
700 } 663 }
701 664
702 void WidgetWin::OnMouseMove(UINT flags, const CPoint& point) {
703 ProcessMouseMoved(point, flags, false);
704 }
705
706 LRESULT WidgetWin::OnMouseLeave(UINT message, WPARAM w_param, LPARAM l_param) { 665 LRESULT WidgetWin::OnMouseLeave(UINT message, WPARAM w_param, LPARAM l_param) {
707 tooltip_manager_->OnMouseLeave(); 666 tooltip_manager_->OnMouseLeave();
708 ProcessMouseExited(); 667 ProcessMouseExited();
709 return 0; 668 return 0;
710 } 669 }
711 670
671 LRESULT WidgetWin::OnMouseMove(UINT message, WPARAM w_param, LPARAM l_param) {
672 ProcessMouseMoved(message, w_param, l_param);
673 return 0;
674 }
675
676 LRESULT WidgetWin::OnMouseRange(UINT message, WPARAM w_param, LPARAM l_param) {
677 tooltip_manager_->OnMouse(message, w_param, l_param);
678
679 switch (message) {
680 case WM_LBUTTONDBLCLK:
681 case WM_LBUTTONDOWN:
682 case WM_MBUTTONDBLCLK:
683 case WM_MBUTTONDOWN:
684 case WM_RBUTTONDBLCLK:
685 case WM_RBUTTONDOWN:
686 SetMsgHandled(ProcessMousePressed(message, w_param, l_param));
687 break;
688 case WM_LBUTTONUP:
689 case WM_MBUTTONUP:
690 case WM_RBUTTONUP:
691 SetMsgHandled(ProcessMouseReleased(message, w_param, l_param));
692 break;
693 default:
694 SetMsgHandled(FALSE);
695 }
696
697 return 0;
698 }
699
712 LRESULT WidgetWin::OnMouseWheel(UINT message, WPARAM w_param, LPARAM l_param) { 700 LRESULT WidgetWin::OnMouseWheel(UINT message, WPARAM w_param, LPARAM l_param) {
713 // Reroute the mouse-wheel to the window under the mouse pointer if 701 // Reroute the mouse-wheel to the window under the mouse pointer if
714 // applicable. 702 // applicable.
715 if (message == WM_MOUSEWHEEL && 703 if (message == WM_MOUSEWHEEL &&
716 views::RerouteMouseWheel(hwnd(), w_param, l_param)) { 704 views::RerouteMouseWheel(hwnd(), w_param, l_param)) {
717 return 0; 705 return 0;
718 } 706 }
719 707
720 MSG msg; 708 MSG msg;
721 MakeMSG(&msg, message, w_param, l_param, 0, 709 MakeMSG(&msg, message, w_param, l_param, 0,
722 GET_X_LPARAM(l_param), GET_Y_LPARAM(l_param)); 710 GET_X_LPARAM(l_param), GET_Y_LPARAM(l_param));
723 return GetRootView()->OnMouseWheel(MouseWheelEvent(msg)) ? 0 : 1; 711 return GetRootView()->OnMouseWheel(MouseWheelEvent(msg)) ? 0 : 1;
724 } 712 }
725 713
726 void WidgetWin::OnMove(const CPoint& point) { 714 void WidgetWin::OnMove(const CPoint& point) {
727 SetMsgHandled(FALSE); 715 SetMsgHandled(FALSE);
728 } 716 }
729 717
730 void WidgetWin::OnMoving(UINT param, const LPRECT new_bounds) { 718 void WidgetWin::OnMoving(UINT param, const LPRECT new_bounds) {
731 } 719 }
732 720
733 LRESULT WidgetWin::OnMouseRange(UINT msg, WPARAM w_param, LPARAM l_param) {
734 tooltip_manager_->OnMouse(msg, w_param, l_param);
735 SetMsgHandled(FALSE);
736 return 0;
737 }
738
739 LRESULT WidgetWin::OnNCActivate(BOOL active) { 721 LRESULT WidgetWin::OnNCActivate(BOOL active) {
740 SetMsgHandled(FALSE); 722 SetMsgHandled(FALSE);
741 return 0; 723 return 0;
742 } 724 }
743 725
744 LRESULT WidgetWin::OnNCCalcSize(BOOL w_param, LPARAM l_param) { 726 LRESULT WidgetWin::OnNCCalcSize(BOOL w_param, LPARAM l_param) {
745 SetMsgHandled(FALSE); 727 SetMsgHandled(FALSE);
746 return 0; 728 return 0;
747 } 729 }
748 730
749 LRESULT WidgetWin::OnNCHitTest(const CPoint& pt) { 731 LRESULT WidgetWin::OnNCHitTest(const CPoint& pt) {
750 SetMsgHandled(FALSE); 732 SetMsgHandled(FALSE);
751 return 0; 733 return 0;
752 } 734 }
753 735
754 void WidgetWin::OnNCLButtonDblClk(UINT flags, const CPoint& point) { 736 LRESULT WidgetWin::OnNCMouseLeave(UINT message,
755 SetMsgHandled(ProcessMousePressed(point, flags | MK_LBUTTON, true, true)); 737 WPARAM w_param,
756 } 738 LPARAM l_param) {
757
758 void WidgetWin::OnNCLButtonDown(UINT flags, const CPoint& point) {
759 SetMsgHandled(ProcessMousePressed(point, flags | MK_LBUTTON, false, true));
760 }
761
762 void WidgetWin::OnNCLButtonUp(UINT flags, const CPoint& point) {
763 SetMsgHandled(FALSE);
764 }
765
766 void WidgetWin::OnNCMButtonDblClk(UINT flags, const CPoint& point) {
767 SetMsgHandled(ProcessMousePressed(point, flags | MK_MBUTTON, true, true));
768 }
769
770 void WidgetWin::OnNCMButtonDown(UINT flags, const CPoint& point) {
771 SetMsgHandled(ProcessMousePressed(point, flags | MK_MBUTTON, false, true));
772 }
773
774 void WidgetWin::OnNCMButtonUp(UINT flags, const CPoint& point) {
775 SetMsgHandled(FALSE);
776 }
777
778 LRESULT WidgetWin::OnNCMouseLeave(UINT uMsg, WPARAM w_param, LPARAM l_param) {
779 ProcessMouseExited(); 739 ProcessMouseExited();
780 return 0; 740 return 0;
781 } 741 }
782 742
783 LRESULT WidgetWin::OnNCMouseMove(UINT flags, const CPoint& point) { 743 LRESULT WidgetWin::OnNCMouseMove(UINT message, WPARAM w_param, LPARAM l_param) {
784 // NC points are in screen coordinates. 744 tooltip_manager_->OnMouse(message, w_param, l_param);
785 CPoint temp = point; 745 ProcessMouseMoved(message, w_param, l_param);
786 MapWindowPoints(HWND_DESKTOP, hwnd(), &temp, 1);
787 ProcessMouseMoved(temp, 0, true);
788 746
789 // We need to process this message to stop Windows from drawing the window 747 // We need to process this message to stop Windows from drawing the window
790 // controls as the mouse moves over the title bar area when the window is 748 // controls as the mouse moves over the title bar area when the window is
791 // maximized. 749 // maximized.
792 return 0; 750 return 0;
793 } 751 }
794 752
753 LRESULT WidgetWin::OnNCMouseRange(UINT message,
754 WPARAM w_param,
755 LPARAM l_param) {
756 switch (message) {
757 case WM_NCLBUTTONDBLCLK:
758 case WM_NCLBUTTONDOWN:
759 case WM_NCMBUTTONDBLCLK:
760 case WM_NCMBUTTONDOWN:
761 case WM_NCRBUTTONDBLCLK:
762 case WM_NCRBUTTONDOWN:
763 SetMsgHandled(ProcessMousePressed(message, w_param, l_param));
764 break;
765 case WM_NCLBUTTONUP:
766 case WM_NCMBUTTONUP:
767 case WM_NCRBUTTONUP:
768 default:
769 SetMsgHandled(FALSE);
770 }
771
772 return 0;
773 }
774
795 void WidgetWin::OnNCPaint(HRGN rgn) { 775 void WidgetWin::OnNCPaint(HRGN rgn) {
796 SetMsgHandled(FALSE); 776 SetMsgHandled(FALSE);
797 } 777 }
798 778
799 void WidgetWin::OnNCRButtonDblClk(UINT flags, const CPoint& point) {
800 SetMsgHandled(ProcessMousePressed(point, flags | MK_RBUTTON, true, true));
801 }
802
803 void WidgetWin::OnNCRButtonDown(UINT flags, const CPoint& point) {
804 SetMsgHandled(ProcessMousePressed(point, flags | MK_RBUTTON, false, true));
805 }
806
807 void WidgetWin::OnNCRButtonUp(UINT flags, const CPoint& point) {
808 SetMsgHandled(FALSE);
809 }
810
811 LRESULT WidgetWin::OnNCUAHDrawCaption(UINT msg, 779 LRESULT WidgetWin::OnNCUAHDrawCaption(UINT msg,
812 WPARAM w_param, 780 WPARAM w_param,
813 LPARAM l_param) { 781 LPARAM l_param) {
814 SetMsgHandled(FALSE); 782 SetMsgHandled(FALSE);
815 return 0; 783 return 0;
816 } 784 }
817 785
818 LRESULT WidgetWin::OnNCUAHDrawFrame(UINT msg, WPARAM w_param, LPARAM l_param) { 786 LRESULT WidgetWin::OnNCUAHDrawFrame(UINT msg, WPARAM w_param, LPARAM l_param) {
819 SetMsgHandled(FALSE); 787 SetMsgHandled(FALSE);
820 return 0; 788 return 0;
(...skipping 20 matching lines...) Expand all
841 } 809 }
842 810
843 LRESULT WidgetWin::OnPowerBroadcast(DWORD power_event, DWORD data) { 811 LRESULT WidgetWin::OnPowerBroadcast(DWORD power_event, DWORD data) {
844 ui::SystemMonitor* monitor = ui::SystemMonitor::Get(); 812 ui::SystemMonitor* monitor = ui::SystemMonitor::Get();
845 if (monitor) 813 if (monitor)
846 monitor->ProcessWmPowerBroadcastMessage(power_event); 814 monitor->ProcessWmPowerBroadcastMessage(power_event);
847 SetMsgHandled(FALSE); 815 SetMsgHandled(FALSE);
848 return 0; 816 return 0;
849 } 817 }
850 818
851 void WidgetWin::OnRButtonDown(UINT flags, const CPoint& point) {
852 ProcessMousePressed(point, flags | MK_RBUTTON, false, false);
853 }
854
855 void WidgetWin::OnRButtonUp(UINT flags, const CPoint& point) {
856 ProcessMouseReleased(point, flags | MK_RBUTTON);
857 }
858
859 void WidgetWin::OnRButtonDblClk(UINT flags, const CPoint& point) {
860 ProcessMousePressed(point, flags | MK_RBUTTON, true, false);
861 }
862
863 LRESULT WidgetWin::OnReflectedMessage(UINT msg, 819 LRESULT WidgetWin::OnReflectedMessage(UINT msg,
864 WPARAM w_param, 820 WPARAM w_param,
865 LPARAM l_param) { 821 LPARAM l_param) {
866 SetMsgHandled(FALSE); 822 SetMsgHandled(FALSE);
867 return 0; 823 return 0;
868 } 824 }
869 825
870 void WidgetWin::OnSetFocus(HWND focused_window) { 826 void WidgetWin::OnSetFocus(HWND focused_window) {
871 delegate_->OnNativeFocus(focused_window); 827 delegate_->OnNativeFocus(focused_window);
872 SetMsgHandled(FALSE); 828 SetMsgHandled(FALSE);
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
939 tme.dwFlags = mouse_tracking_flags; 895 tme.dwFlags = mouse_tracking_flags;
940 tme.hwndTrack = hwnd(); 896 tme.hwndTrack = hwnd();
941 tme.dwHoverTime = 0; 897 tme.dwHoverTime = 0;
942 TrackMouseEvent(&tme); 898 TrackMouseEvent(&tme);
943 } else if (mouse_tracking_flags != active_mouse_tracking_flags_) { 899 } else if (mouse_tracking_flags != active_mouse_tracking_flags_) {
944 TrackMouseEvents(active_mouse_tracking_flags_ | TME_CANCEL); 900 TrackMouseEvents(active_mouse_tracking_flags_ | TME_CANCEL);
945 TrackMouseEvents(mouse_tracking_flags); 901 TrackMouseEvents(mouse_tracking_flags);
946 } 902 }
947 } 903 }
948 904
949 bool WidgetWin::ProcessMousePressed(const CPoint& point, 905 bool WidgetWin::ProcessMousePressed(UINT message,
950 UINT flags, 906 WPARAM w_param,
951 bool dbl_click, 907 LPARAM l_param) {
952 bool non_client) {
953 last_mouse_event_was_move_ = false; 908 last_mouse_event_was_move_ = false;
954 // Windows gives screen coordinates for nonclient events, while the RootView 909
955 // expects window coordinates; convert if necessary. 910 MSG msg;
956 gfx::Point converted_point(point); 911 MakeMSG(&msg, message, w_param, l_param, 0, GET_X_LPARAM(l_param),
957 if (non_client) 912 GET_Y_LPARAM(l_param));
Ben Goodger (Google) 2011/03/07 22:08:42 indent
msw 2011/03/07 23:57:21 Done.
958 View::ConvertPointToView(NULL, GetRootView(), &converted_point); 913 if (GetRootView()->OnMousePressed(MouseEvent(msg))) {
959 MouseEvent mouse_pressed(ui::ET_MOUSE_PRESSED,
960 converted_point.x(),
961 converted_point.y(),
962 (dbl_click ? ui::EF_IS_DOUBLE_CLICK : 0) |
963 (non_client ? ui::EF_IS_NON_CLIENT : 0) |
964 Event::ConvertWindowsFlags(flags));
965 if (GetRootView()->OnMousePressed(mouse_pressed)) {
966 is_mouse_down_ = true; 914 is_mouse_down_ = true;
967 if (!has_capture_) { 915 if (!has_capture_) {
968 SetCapture(); 916 SetCapture();
969 has_capture_ = true; 917 has_capture_ = true;
970 } 918 }
971 return true; 919 return true;
972 } 920 }
973 return false; 921 return false;
974 } 922 }
975 923
976 void WidgetWin::ProcessMouseDragged(const CPoint& point, UINT flags) { 924 bool WidgetWin::ProcessMouseReleased(UINT message,
925 WPARAM w_param,
926 LPARAM l_param) {
977 last_mouse_event_was_move_ = false; 927 last_mouse_event_was_move_ = false;
978 MouseEvent mouse_drag(ui::ET_MOUSE_DRAGGED,
979 point.x,
980 point.y,
981 Event::ConvertWindowsFlags(flags));
982 GetRootView()->OnMouseDragged(mouse_drag);
983 }
984 928
985 void WidgetWin::ProcessMouseReleased(const CPoint& point, UINT flags) {
986 last_mouse_event_was_move_ = false;
987 MouseEvent mouse_up(ui::ET_MOUSE_RELEASED,
988 point.x,
989 point.y,
990 Event::ConvertWindowsFlags(flags));
991 // Release the capture first, that way we don't get confused if 929 // Release the capture first, that way we don't get confused if
992 // OnMouseReleased blocks. 930 // OnMouseReleased blocks.
993 if (has_capture_ && ReleaseCaptureOnMouseReleased()) { 931 if (has_capture_ && ReleaseCaptureOnMouseReleased()) {
994 has_capture_ = false; 932 has_capture_ = false;
995 ReleaseCapture(); 933 ReleaseCapture();
996 } 934 }
997 is_mouse_down_ = false; 935 is_mouse_down_ = false;
998 GetRootView()->OnMouseReleased(mouse_up, false); 936
937 MSG msg;
938 MakeMSG(&msg, message, w_param, l_param, 0, GET_X_LPARAM(l_param),
939 GET_Y_LPARAM(l_param));
Ben Goodger (Google) 2011/03/07 22:08:42 indent to under the first (
msw 2011/03/07 23:57:21 Done.
940 GetRootView()->OnMouseReleased(MouseEvent(msg), false);
941 return true;
999 } 942 }
1000 943
1001 void WidgetWin::ProcessMouseMoved(const CPoint &point, UINT flags, 944 bool WidgetWin::ProcessMouseMoved(UINT message,
1002 bool is_nonclient) { 945 WPARAM w_param,
946 LPARAM l_param) {
1003 // Windows only fires WM_MOUSELEAVE events if the application begins 947 // Windows only fires WM_MOUSELEAVE events if the application begins
1004 // "tracking" mouse events for a given HWND during WM_MOUSEMOVE events. 948 // "tracking" mouse events for a given HWND during WM_MOUSEMOVE events.
1005 // We need to call |TrackMouseEvents| to listen for WM_MOUSELEAVE. 949 // We need to call |TrackMouseEvents| to listen for WM_MOUSELEAVE.
1006 if (!has_capture_) 950 if (!has_capture_)
1007 TrackMouseEvents(is_nonclient ? TME_NONCLIENT | TME_LEAVE : TME_LEAVE); 951 TrackMouseEvents((message == WM_NCMOUSEMOVE) ?
1008 if (has_capture_ && is_mouse_down_) { 952 TME_NONCLIENT | TME_LEAVE : TME_LEAVE);
1009 ProcessMouseDragged(point, flags); 953 MSG msg;
1010 } else { 954 MakeMSG(&msg, message, w_param, l_param, 0, GET_X_LPARAM(l_param),
1011 gfx::Point screen_loc(point); 955 GET_Y_LPARAM(l_param));
Ben Goodger (Google) 2011/03/07 22:08:42 indent
msw 2011/03/07 23:57:21 Done.
1012 View::ConvertPointToScreen(GetRootView(), &screen_loc); 956 if (has_capture_ && is_mouse_down_)
1013 if (last_mouse_event_was_move_ && last_mouse_move_x_ == screen_loc.x() && 957 GetRootView()->OnMouseDragged(MouseEvent(msg));
1014 last_mouse_move_y_ == screen_loc.y()) { 958 else if (!last_mouse_event_was_move_ || last_mouse_move_pos_ != l_param) {
1015 // Don't generate a mouse event for the same location as the last. 959 last_mouse_move_pos_ = l_param;
1016 return;
1017 }
1018 last_mouse_move_x_ = screen_loc.x();
1019 last_mouse_move_y_ = screen_loc.y();
1020 last_mouse_event_was_move_ = true; 960 last_mouse_event_was_move_ = true;
1021 MouseEvent mouse_move(ui::ET_MOUSE_MOVED, 961 GetRootView()->OnMouseMoved(MouseEvent(msg));
1022 point.x,
1023 point.y,
1024 Event::ConvertWindowsFlags(flags));
1025 GetRootView()->OnMouseMoved(mouse_move);
1026 } 962 }
963 return true;
1027 } 964 }
1028 965
1029 void WidgetWin::ProcessMouseExited() { 966 void WidgetWin::ProcessMouseExited() {
1030 last_mouse_event_was_move_ = false; 967 last_mouse_event_was_move_ = false;
1031 GetRootView()->ProcessOnMouseExited(); 968 GetRootView()->ProcessOnMouseExited();
1032 // Reset our tracking flag so that future mouse movement over this WidgetWin 969 // Reset our tracking flag so that future mouse movement over this WidgetWin
1033 // results in a new tracking session. 970 // results in a new tracking session.
1034 active_mouse_tracking_flags_ = 0; 971 active_mouse_tracking_flags_ = 0;
1035 } 972 }
1036 973
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
1240 return; 1177 return;
1241 1178
1242 NativeWidget* native_widget = GetNativeWidgetForNativeView(native_view); 1179 NativeWidget* native_widget = GetNativeWidgetForNativeView(native_view);
1243 if (native_widget) 1180 if (native_widget)
1244 children->insert(native_widget); 1181 children->insert(native_widget);
1245 EnumChildWindows(native_view, EnumerateChildWindowsForNativeWidgets, 1182 EnumChildWindows(native_view, EnumerateChildWindowsForNativeWidgets,
1246 reinterpret_cast<LPARAM>(children)); 1183 reinterpret_cast<LPARAM>(children));
1247 } 1184 }
1248 1185
1249 } // namespace views 1186 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698