OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ui/views/widget/native_widget_win.h" | 5 #include "ui/views/widget/native_widget_win.h" |
6 | 6 |
7 #include <dwmapi.h> | 7 #include <dwmapi.h> |
8 #include <shellapi.h> | 8 #include <shellapi.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
11 | 11 |
12 #include "base/bind.h" | 12 #include "base/bind.h" |
13 #include "base/string_util.h" | 13 #include "base/string_util.h" |
14 #include "base/system_monitor/system_monitor.h" | |
15 #include "base/win/scoped_gdi_object.h" | 14 #include "base/win/scoped_gdi_object.h" |
16 #include "base/win/win_util.h" | 15 #include "base/win/win_util.h" |
17 #include "base/win/windows_version.h" | 16 #include "base/win/windows_version.h" |
18 #include "ui/base/dragdrop/drag_drop_types.h" | 17 #include "ui/base/dragdrop/drag_drop_types.h" |
19 #include "ui/base/dragdrop/drag_source.h" | 18 #include "ui/base/dragdrop/drag_source.h" |
20 #include "ui/base/dragdrop/os_exchange_data.h" | 19 #include "ui/base/dragdrop/os_exchange_data.h" |
21 #include "ui/base/dragdrop/os_exchange_data_provider_win.h" | 20 #include "ui/base/dragdrop/os_exchange_data_provider_win.h" |
22 #include "ui/base/event.h" | 21 #include "ui/base/event.h" |
23 #include "ui/base/keycodes/keyboard_code_conversion_win.h" | 22 #include "ui/base/keycodes/keyboard_code_conversion_win.h" |
24 #include "ui/base/l10n/l10n_util_win.h" | 23 #include "ui/base/l10n/l10n_util_win.h" |
25 #include "ui/base/native_theme/native_theme_win.h" | |
26 #include "ui/base/theme_provider.h" | 24 #include "ui/base/theme_provider.h" |
27 #include "ui/base/view_prop.h" | 25 #include "ui/base/view_prop.h" |
28 #include "ui/base/win/hwnd_util.h" | 26 #include "ui/base/win/hwnd_util.h" |
29 #include "ui/base/win/mouse_wheel_util.h" | 27 #include "ui/base/win/mouse_wheel_util.h" |
30 #include "ui/gfx/canvas.h" | 28 #include "ui/gfx/canvas.h" |
31 #include "ui/gfx/canvas_paint.h" | 29 #include "ui/gfx/canvas_paint.h" |
32 #include "ui/gfx/canvas_skia_paint.h" | 30 #include "ui/gfx/canvas_skia_paint.h" |
33 #include "ui/gfx/icon_util.h" | 31 #include "ui/gfx/icon_util.h" |
34 #include "ui/gfx/path.h" | 32 #include "ui/gfx/path.h" |
35 #include "ui/gfx/screen.h" | 33 #include "ui/gfx/screen.h" |
(...skipping 1416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1452 | 1450 |
1453 void NativeWidgetWin::OnHScroll(int scroll_type, | 1451 void NativeWidgetWin::OnHScroll(int scroll_type, |
1454 short position, | 1452 short position, |
1455 HWND scrollbar) { | 1453 HWND scrollbar) { |
1456 SetMsgHandled(FALSE); | 1454 SetMsgHandled(FALSE); |
1457 } | 1455 } |
1458 | 1456 |
1459 LRESULT NativeWidgetWin::OnImeMessages(UINT message, | 1457 LRESULT NativeWidgetWin::OnImeMessages(UINT message, |
1460 WPARAM w_param, | 1458 WPARAM w_param, |
1461 LPARAM l_param) { | 1459 LPARAM l_param) { |
1462 InputMethod* input_method = GetWidget()->GetInputMethodDirect(); | 1460 return message_handler_->OnImeMessages(message, w_param, l_param); |
1463 if (!input_method || input_method->IsMock()) { | |
1464 SetMsgHandled(FALSE); | |
1465 return 0; | |
1466 } | |
1467 | |
1468 InputMethodWin* ime_win = static_cast<InputMethodWin*>(input_method); | |
1469 BOOL handled = FALSE; | |
1470 LRESULT result = ime_win->OnImeMessages(message, w_param, l_param, &handled); | |
1471 | |
1472 SetMsgHandled(handled); | |
1473 return result; | |
1474 } | 1461 } |
1475 | 1462 |
1476 void NativeWidgetWin::OnInitMenu(HMENU menu) { | 1463 void NativeWidgetWin::OnInitMenu(HMENU menu) { |
1477 bool is_fullscreen = IsFullscreen(); | 1464 bool is_fullscreen = IsFullscreen(); |
1478 bool is_minimized = IsMinimized(); | 1465 bool is_minimized = IsMinimized(); |
1479 bool is_maximized = IsMaximized(); | 1466 bool is_maximized = IsMaximized(); |
1480 bool is_restored = !is_fullscreen && !is_minimized && !is_maximized; | 1467 bool is_restored = !is_fullscreen && !is_minimized && !is_maximized; |
1481 | 1468 |
1482 ScopedRedrawLock lock(this); | 1469 ScopedRedrawLock lock(this); |
1483 EnableMenuItem(menu, SC_RESTORE, is_minimized || is_maximized); | 1470 EnableMenuItem(menu, SC_RESTORE, is_minimized || is_maximized); |
1484 EnableMenuItem(menu, SC_MOVE, is_restored); | 1471 EnableMenuItem(menu, SC_MOVE, is_restored); |
1485 EnableMenuItem(menu, SC_SIZE, | 1472 EnableMenuItem(menu, SC_SIZE, |
1486 GetWidget()->widget_delegate()->CanResize() && is_restored); | 1473 GetWidget()->widget_delegate()->CanResize() && is_restored); |
1487 EnableMenuItem(menu, SC_MAXIMIZE, | 1474 EnableMenuItem(menu, SC_MAXIMIZE, |
1488 GetWidget()->widget_delegate()->CanMaximize() && | 1475 GetWidget()->widget_delegate()->CanMaximize() && |
1489 !is_fullscreen && !is_maximized); | 1476 !is_fullscreen && !is_maximized); |
1490 EnableMenuItem(menu, SC_MINIMIZE, | 1477 EnableMenuItem(menu, SC_MINIMIZE, |
1491 GetWidget()->widget_delegate()->CanMaximize() && | 1478 GetWidget()->widget_delegate()->CanMaximize() && |
1492 !is_minimized); | 1479 !is_minimized); |
1493 } | 1480 } |
1494 | 1481 |
1495 void NativeWidgetWin::OnInitMenuPopup(HMENU menu, | 1482 void NativeWidgetWin::OnInitMenuPopup(HMENU menu, |
1496 UINT position, | 1483 UINT position, |
1497 BOOL is_system_menu) { | 1484 BOOL is_system_menu) { |
1498 SetMsgHandled(FALSE); | 1485 SetMsgHandled(FALSE); |
1499 } | 1486 } |
1500 | 1487 |
1501 void NativeWidgetWin::OnInputLangChange(DWORD character_set, | 1488 void NativeWidgetWin::OnInputLangChange(DWORD character_set, |
1502 HKL input_language_id) { | 1489 HKL input_language_id) { |
1503 InputMethod* input_method = GetWidget()->GetInputMethodDirect(); | 1490 message_handler_->OnInputLangChange(character_set, input_language_id); |
1504 | |
1505 if (input_method && !input_method->IsMock()) { | |
1506 static_cast<InputMethodWin*>(input_method)->OnInputLangChange( | |
1507 character_set, input_language_id); | |
1508 } | |
1509 } | 1491 } |
1510 | 1492 |
1511 LRESULT NativeWidgetWin::OnKeyEvent(UINT message, | 1493 LRESULT NativeWidgetWin::OnKeyEvent(UINT message, |
1512 WPARAM w_param, | 1494 WPARAM w_param, |
1513 LPARAM l_param) { | 1495 LPARAM l_param) { |
1514 MSG msg = { hwnd(), message, w_param, l_param }; | 1496 MSG msg = { hwnd(), message, w_param, l_param }; |
1515 ui::KeyEvent key(msg, message == WM_CHAR); | 1497 ui::KeyEvent key(msg, message == WM_CHAR); |
1516 InputMethod* input_method = GetWidget()->GetInputMethodDirect(); | 1498 InputMethod* input_method = GetWidget()->GetInputMethodDirect(); |
1517 if (input_method) | 1499 if (input_method) |
1518 input_method->DispatchKeyEvent(key); | 1500 input_method->DispatchKeyEvent(key); |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1627 // side-effects (ex/ stifling non-client mouse releases). | 1609 // side-effects (ex/ stifling non-client mouse releases). |
1628 DefWindowProcWithRedrawLock(message, w_param, l_param); | 1610 DefWindowProcWithRedrawLock(message, w_param, l_param); |
1629 handled = true; | 1611 handled = true; |
1630 } | 1612 } |
1631 | 1613 |
1632 SetMsgHandled(handled); | 1614 SetMsgHandled(handled); |
1633 return 0; | 1615 return 0; |
1634 } | 1616 } |
1635 | 1617 |
1636 void NativeWidgetWin::OnMove(const CPoint& point) { | 1618 void NativeWidgetWin::OnMove(const CPoint& point) { |
1637 delegate_->OnNativeWidgetMove(); | 1619 message_handler_->OnMove(point); |
1638 SetMsgHandled(FALSE); | |
1639 } | 1620 } |
1640 | 1621 |
1641 void NativeWidgetWin::OnMoving(UINT param, const LPRECT new_bounds) { | 1622 void NativeWidgetWin::OnMoving(UINT param, const LPRECT new_bounds) { |
1642 delegate_->OnNativeWidgetMove(); | 1623 message_handler_->OnMoving(param, new_bounds); |
1643 } | 1624 } |
1644 | 1625 |
1645 LRESULT NativeWidgetWin::OnNCActivate(BOOL active) { | 1626 LRESULT NativeWidgetWin::OnNCActivate(BOOL active) { |
1646 if (delegate_->CanActivate()) | 1627 if (delegate_->CanActivate()) |
1647 delegate_->OnNativeWidgetActivationChanged(!!active); | 1628 delegate_->OnNativeWidgetActivationChanged(!!active); |
1648 | 1629 |
1649 if (!GetWidget()->non_client_view()) { | 1630 if (!GetWidget()->non_client_view()) { |
1650 SetMsgHandled(FALSE); | 1631 SetMsgHandled(FALSE); |
1651 return 0; | 1632 return 0; |
1652 } | 1633 } |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1882 | 1863 |
1883 ReleaseDC(GetNativeView(), dc); | 1864 ReleaseDC(GetNativeView(), dc); |
1884 // When using a custom frame, we want to avoid calling DefWindowProc() since | 1865 // When using a custom frame, we want to avoid calling DefWindowProc() since |
1885 // that may render artifacts. | 1866 // that may render artifacts. |
1886 SetMsgHandled(!GetWidget()->ShouldUseNativeFrame()); | 1867 SetMsgHandled(!GetWidget()->ShouldUseNativeFrame()); |
1887 } | 1868 } |
1888 | 1869 |
1889 LRESULT NativeWidgetWin::OnNCUAHDrawCaption(UINT msg, | 1870 LRESULT NativeWidgetWin::OnNCUAHDrawCaption(UINT msg, |
1890 WPARAM w_param, | 1871 WPARAM w_param, |
1891 LPARAM l_param) { | 1872 LPARAM l_param) { |
1892 // See comment in widget_win.h at the definition of WM_NCUAHDRAWCAPTION for | 1873 return message_handler_->OnNCUAHDrawCaption(msg, w_param, l_param); |
1893 // an explanation about why we need to handle this message. | |
1894 SetMsgHandled(!GetWidget()->ShouldUseNativeFrame()); | |
1895 return 0; | |
1896 } | 1874 } |
1897 | 1875 |
1898 LRESULT NativeWidgetWin::OnNCUAHDrawFrame(UINT msg, | 1876 LRESULT NativeWidgetWin::OnNCUAHDrawFrame(UINT msg, |
1899 WPARAM w_param, | 1877 WPARAM w_param, |
1900 LPARAM l_param) { | 1878 LPARAM l_param) { |
1901 // See comment in widget_win.h at the definition of WM_NCUAHDRAWCAPTION for | 1879 return message_handler_->OnNCUAHDrawFrame(msg, w_param, l_param); |
1902 // an explanation about why we need to handle this message. | |
1903 SetMsgHandled(!GetWidget()->ShouldUseNativeFrame()); | |
1904 return 0; | |
1905 } | 1880 } |
1906 | 1881 |
1907 LRESULT NativeWidgetWin::OnNotify(int w_param, NMHDR* l_param) { | 1882 LRESULT NativeWidgetWin::OnNotify(int w_param, NMHDR* l_param) { |
1908 // We can be sent this message before the tooltip manager is created, if a | 1883 // We can be sent this message before the tooltip manager is created, if a |
1909 // subclass overrides OnCreate and creates some kind of Windows control there | 1884 // subclass overrides OnCreate and creates some kind of Windows control there |
1910 // that sends WM_NOTIFY messages. | 1885 // that sends WM_NOTIFY messages. |
1911 if (tooltip_manager_.get()) { | 1886 if (tooltip_manager_.get()) { |
1912 bool handled; | 1887 bool handled; |
1913 LRESULT result = tooltip_manager_->OnNotify(w_param, l_param, &handled); | 1888 LRESULT result = tooltip_manager_->OnNotify(w_param, l_param, &handled); |
1914 SetMsgHandled(handled); | 1889 SetMsgHandled(handled); |
(...skipping 17 matching lines...) Expand all Loading... |
1932 delegate_->OnNativeWidgetPaint(canvas->AsCanvas()); | 1907 delegate_->OnNativeWidgetPaint(canvas->AsCanvas()); |
1933 } | 1908 } |
1934 } else { | 1909 } else { |
1935 // TODO(msw): Find a better solution for this crbug.com/93530 workaround. | 1910 // TODO(msw): Find a better solution for this crbug.com/93530 workaround. |
1936 // Some scenarios otherwise fail to validate minimized app/popup windows. | 1911 // Some scenarios otherwise fail to validate minimized app/popup windows. |
1937 ValidateRect(hwnd(), NULL); | 1912 ValidateRect(hwnd(), NULL); |
1938 } | 1913 } |
1939 } | 1914 } |
1940 | 1915 |
1941 LRESULT NativeWidgetWin::OnPowerBroadcast(DWORD power_event, DWORD data) { | 1916 LRESULT NativeWidgetWin::OnPowerBroadcast(DWORD power_event, DWORD data) { |
1942 base::SystemMonitor* monitor = base::SystemMonitor::Get(); | 1917 return message_handler_->OnPowerBroadcast(power_event, data); |
1943 if (monitor) | |
1944 monitor->ProcessWmPowerBroadcastMessage(power_event); | |
1945 SetMsgHandled(FALSE); | |
1946 return 0; | |
1947 } | 1918 } |
1948 | 1919 |
1949 LRESULT NativeWidgetWin::OnReflectedMessage(UINT msg, | 1920 LRESULT NativeWidgetWin::OnReflectedMessage(UINT msg, |
1950 WPARAM w_param, | 1921 WPARAM w_param, |
1951 LPARAM l_param) { | 1922 LPARAM l_param) { |
1952 SetMsgHandled(FALSE); | 1923 SetMsgHandled(FALSE); |
1953 return 0; | 1924 return 0; |
1954 } | 1925 } |
1955 | 1926 |
1956 LRESULT NativeWidgetWin::OnSetCursor(UINT message, | 1927 LRESULT NativeWidgetWin::OnSetCursor(UINT message, |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2052 } | 2023 } |
2053 | 2024 |
2054 // If the delegate can't handle it, the system implementation will be called. | 2025 // If the delegate can't handle it, the system implementation will be called. |
2055 if (!delegate_->ExecuteCommand(notification_code)) { | 2026 if (!delegate_->ExecuteCommand(notification_code)) { |
2056 DefWindowProc(GetNativeView(), WM_SYSCOMMAND, notification_code, | 2027 DefWindowProc(GetNativeView(), WM_SYSCOMMAND, notification_code, |
2057 MAKELPARAM(click.x, click.y)); | 2028 MAKELPARAM(click.x, click.y)); |
2058 } | 2029 } |
2059 } | 2030 } |
2060 | 2031 |
2061 void NativeWidgetWin::OnThemeChanged() { | 2032 void NativeWidgetWin::OnThemeChanged() { |
2062 // Notify NativeThemeWin. | 2033 message_handler_->OnThemeChanged(); |
2063 ui::NativeThemeWin::instance()->CloseHandles(); | |
2064 } | 2034 } |
2065 | 2035 |
2066 LRESULT NativeWidgetWin::OnTouchEvent(UINT message, | 2036 LRESULT NativeWidgetWin::OnTouchEvent(UINT message, |
2067 WPARAM w_param, | 2037 WPARAM w_param, |
2068 LPARAM l_param) { | 2038 LPARAM l_param) { |
2069 int num_points = LOWORD(w_param); | 2039 int num_points = LOWORD(w_param); |
2070 scoped_array<TOUCHINPUT> input(new TOUCHINPUT[num_points]); | 2040 scoped_array<TOUCHINPUT> input(new TOUCHINPUT[num_points]); |
2071 if (GetTouchInputInfo(reinterpret_cast<HTOUCHINPUT>(l_param), | 2041 if (GetTouchInputInfo(reinterpret_cast<HTOUCHINPUT>(l_param), |
2072 num_points, input.get(), sizeof(TOUCHINPUT))) { | 2042 num_points, input.get(), sizeof(TOUCHINPUT))) { |
2073 for (int i = 0; i < num_points; ++i) { | 2043 for (int i = 0; i < num_points; ++i) { |
2074 if (input[i].dwFlags & TOUCHEVENTF_DOWN) | 2044 if (input[i].dwFlags & TOUCHEVENTF_DOWN) |
2075 touch_ids_.insert(input[i].dwID); | 2045 touch_ids_.insert(input[i].dwID); |
2076 if (input[i].dwFlags & TOUCHEVENTF_UP) | 2046 if (input[i].dwFlags & TOUCHEVENTF_UP) |
2077 touch_ids_.erase(input[i].dwID); | 2047 touch_ids_.erase(input[i].dwID); |
2078 } | 2048 } |
2079 } | 2049 } |
2080 CloseTouchInputHandle(reinterpret_cast<HTOUCHINPUT>(l_param)); | 2050 CloseTouchInputHandle(reinterpret_cast<HTOUCHINPUT>(l_param)); |
2081 SetMsgHandled(FALSE); | 2051 SetMsgHandled(FALSE); |
2082 return 0; | 2052 return 0; |
2083 } | 2053 } |
2084 | 2054 |
2085 void NativeWidgetWin::OnVScroll(int scroll_type, | 2055 void NativeWidgetWin::OnVScroll(int scroll_type, |
2086 short position, | 2056 short position, |
2087 HWND scrollbar) { | 2057 HWND scrollbar) { |
2088 SetMsgHandled(FALSE); | 2058 message_handler_->OnVScroll(scroll_type, position, scrollbar); |
2089 } | 2059 } |
2090 | 2060 |
2091 void NativeWidgetWin::OnWindowPosChanging(WINDOWPOS* window_pos) { | 2061 void NativeWidgetWin::OnWindowPosChanging(WINDOWPOS* window_pos) { |
2092 if (ignore_window_pos_changes_) { | 2062 if (ignore_window_pos_changes_) { |
2093 // If somebody's trying to toggle our visibility, change the nonclient area, | 2063 // If somebody's trying to toggle our visibility, change the nonclient area, |
2094 // change our Z-order, or activate us, we should probably let it go through. | 2064 // change our Z-order, or activate us, we should probably let it go through. |
2095 if (!(window_pos->flags & ((IsVisible() ? SWP_HIDEWINDOW : SWP_SHOWWINDOW) | | 2065 if (!(window_pos->flags & ((IsVisible() ? SWP_HIDEWINDOW : SWP_SHOWWINDOW) | |
2096 SWP_FRAMECHANGED)) && | 2066 SWP_FRAMECHANGED)) && |
2097 (window_pos->flags & (SWP_NOZORDER | SWP_NOACTIVATE))) { | 2067 (window_pos->flags & (SWP_NOZORDER | SWP_NOACTIVATE))) { |
2098 // Just sizing/moving the window; ignore. | 2068 // Just sizing/moving the window; ignore. |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2284 // NativeWidgetWin, HWNDMessageHandlerDelegate implementation: | 2254 // NativeWidgetWin, HWNDMessageHandlerDelegate implementation: |
2285 | 2255 |
2286 bool NativeWidgetWin::IsWidgetWindow() const { | 2256 bool NativeWidgetWin::IsWidgetWindow() const { |
2287 return !!GetWidget()->non_client_view(); | 2257 return !!GetWidget()->non_client_view(); |
2288 } | 2258 } |
2289 | 2259 |
2290 bool NativeWidgetWin::IsUsingCustomFrame() const { | 2260 bool NativeWidgetWin::IsUsingCustomFrame() const { |
2291 return GetWidget()->ShouldUseNativeFrame(); | 2261 return GetWidget()->ShouldUseNativeFrame(); |
2292 } | 2262 } |
2293 | 2263 |
| 2264 InputMethod* NativeWidgetWin::GetInputMethod() { |
| 2265 return GetWidget()->GetInputMethodDirect(); |
| 2266 } |
| 2267 |
2294 void NativeWidgetWin::HandleAppDeactivated() { | 2268 void NativeWidgetWin::HandleAppDeactivated() { |
2295 // Another application was activated, we should reset any state that | 2269 // Another application was activated, we should reset any state that |
2296 // disables inactive rendering now. | 2270 // disables inactive rendering now. |
2297 delegate_->EnableInactiveRendering(); | 2271 delegate_->EnableInactiveRendering(); |
2298 } | 2272 } |
2299 | 2273 |
2300 bool NativeWidgetWin::HandleAppCommand(short command) { | 2274 bool NativeWidgetWin::HandleAppCommand(short command) { |
2301 // We treat APPCOMMAND ids as an extension of our command namespace, and just | 2275 // We treat APPCOMMAND ids as an extension of our command namespace, and just |
2302 // let the delegate figure out what to do... | 2276 // let the delegate figure out what to do... |
2303 return GetWidget()->widget_delegate() && | 2277 return GetWidget()->widget_delegate() && |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2339 } | 2313 } |
2340 | 2314 |
2341 void NativeWidgetWin::HandleBeginWMSizeMove() { | 2315 void NativeWidgetWin::HandleBeginWMSizeMove() { |
2342 delegate_->OnNativeWidgetBeginUserBoundsChange(); | 2316 delegate_->OnNativeWidgetBeginUserBoundsChange(); |
2343 } | 2317 } |
2344 | 2318 |
2345 void NativeWidgetWin::HandleEndWMSizeMove() { | 2319 void NativeWidgetWin::HandleEndWMSizeMove() { |
2346 delegate_->OnNativeWidgetEndUserBoundsChange(); | 2320 delegate_->OnNativeWidgetEndUserBoundsChange(); |
2347 } | 2321 } |
2348 | 2322 |
| 2323 void NativeWidgetWin::HandleMove() { |
| 2324 delegate_->OnNativeWidgetMove(); |
| 2325 } |
| 2326 |
2349 NativeWidgetWin* NativeWidgetWin::AsNativeWidgetWin() { | 2327 NativeWidgetWin* NativeWidgetWin::AsNativeWidgetWin() { |
2350 return this; | 2328 return this; |
2351 } | 2329 } |
2352 | 2330 |
2353 //////////////////////////////////////////////////////////////////////////////// | 2331 //////////////////////////////////////////////////////////////////////////////// |
2354 // NativeWidgetWin, private: | 2332 // NativeWidgetWin, private: |
2355 | 2333 |
2356 // static | 2334 // static |
2357 void NativeWidgetWin::PostProcessActivateMessage(NativeWidgetWin* widget, | 2335 void NativeWidgetWin::PostProcessActivateMessage(NativeWidgetWin* widget, |
2358 int activation_state) { | 2336 int activation_state) { |
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2808 // static | 2786 // static |
2809 bool NativeWidgetPrivate::IsTouchDown() { | 2787 bool NativeWidgetPrivate::IsTouchDown() { |
2810 // This currently isn't necessary because we're not generating touch events on | 2788 // This currently isn't necessary because we're not generating touch events on |
2811 // windows. When we do, this will need to be updated. | 2789 // windows. When we do, this will need to be updated. |
2812 return false; | 2790 return false; |
2813 } | 2791 } |
2814 | 2792 |
2815 } // namespace internal | 2793 } // namespace internal |
2816 | 2794 |
2817 } // namespace views | 2795 } // namespace views |
OLD | NEW |