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

Side by Side Diff: ui/views/widget/hwnd_message_handler.cc

Issue 10827422: Move more message handlers from NativeWidgetWin to HWNDMessageHandler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 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 | Annotate | Revision Log
« no previous file with comments | « ui/views/widget/hwnd_message_handler.h ('k') | ui/views/widget/hwnd_message_handler_delegate.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/hwnd_message_handler.h" 5 #include "ui/views/widget/hwnd_message_handler.h"
6 6
7 #include "base/system_monitor/system_monitor.h"
8 #include "ui/base/native_theme/native_theme_win.h"
9 #include "ui/views/ime/input_method_win.h"
7 #include "ui/views/widget/hwnd_message_handler_delegate.h" 10 #include "ui/views/widget/hwnd_message_handler_delegate.h"
8 #include "ui/views/widget/native_widget_win.h" 11 #include "ui/views/widget/native_widget_win.h"
9 12
10 namespace views { 13 namespace views {
11 14
12 //////////////////////////////////////////////////////////////////////////////// 15 ////////////////////////////////////////////////////////////////////////////////
13 // HWNDMessageHandler, public: 16 // HWNDMessageHandler, public:
14 17
15 HWNDMessageHandler::HWNDMessageHandler(HWNDMessageHandlerDelegate* delegate) 18 HWNDMessageHandler::HWNDMessageHandler(HWNDMessageHandlerDelegate* delegate)
16 : delegate_(delegate), 19 : delegate_(delegate),
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 109
107 void HWNDMessageHandler::OnExitMenuLoop(BOOL is_track_popup_menu) { 110 void HWNDMessageHandler::OnExitMenuLoop(BOOL is_track_popup_menu) {
108 SetMsgHandled(FALSE); 111 SetMsgHandled(FALSE);
109 } 112 }
110 113
111 void HWNDMessageHandler::OnExitSizeMove() { 114 void HWNDMessageHandler::OnExitSizeMove() {
112 delegate_->HandleEndWMSizeMove(); 115 delegate_->HandleEndWMSizeMove();
113 SetMsgHandled(FALSE); 116 SetMsgHandled(FALSE);
114 } 117 }
115 118
119 LRESULT HWNDMessageHandler::OnImeMessages(UINT message,
120 WPARAM w_param,
121 LPARAM l_param) {
122 InputMethod* input_method = delegate_->GetInputMethod();
123 if (!input_method || input_method->IsMock()) {
124 SetMsgHandled(FALSE);
125 return 0;
126 }
127
128 InputMethodWin* ime_win = static_cast<InputMethodWin*>(input_method);
129 BOOL handled = FALSE;
130 LRESULT result = ime_win->OnImeMessages(message, w_param, l_param, &handled);
131 SetMsgHandled(handled);
132 return result;
133 }
134
135 void HWNDMessageHandler::OnInputLangChange(DWORD character_set,
136 HKL input_language_id) {
137 InputMethod* input_method = delegate_->GetInputMethod();
138 if (input_method && !input_method->IsMock()) {
139 static_cast<InputMethodWin*>(input_method)->OnInputLangChange(
140 character_set, input_language_id);
141 }
142 }
143
144 void HWNDMessageHandler::OnMove(const CPoint& point) {
145 delegate_->HandleMove();
146 SetMsgHandled(FALSE);
147 }
148
149 void HWNDMessageHandler::OnMoving(UINT param, const RECT* new_bounds) {
150 delegate_->HandleMove();
151 }
152
153 LRESULT HWNDMessageHandler::OnNCUAHDrawCaption(UINT message,
154 WPARAM w_param,
155 LPARAM l_param) {
156 // See comment in widget_win.h at the definition of WM_NCUAHDRAWCAPTION for
157 // an explanation about why we need to handle this message.
158 SetMsgHandled(delegate_->IsUsingCustomFrame());
159 return 0;
160 }
161
162 LRESULT HWNDMessageHandler::OnNCUAHDrawFrame(UINT message,
163 WPARAM w_param,
164 LPARAM l_param) {
165 // See comment in widget_win.h at the definition of WM_NCUAHDRAWCAPTION for
166 // an explanation about why we need to handle this message.
167 SetMsgHandled(delegate_->IsUsingCustomFrame());
168 return 0;
169 }
170
171 LRESULT HWNDMessageHandler::OnPowerBroadcast(DWORD power_event, DWORD data) {
172 base::SystemMonitor* monitor = base::SystemMonitor::Get();
173 if (monitor)
174 monitor->ProcessWmPowerBroadcastMessage(power_event);
175 SetMsgHandled(FALSE);
176 return 0;
177 }
178
179 void HWNDMessageHandler::OnThemeChanged() {
180 ui::NativeThemeWin::instance()->CloseHandles();
181 }
182
183 void HWNDMessageHandler::OnVScroll(int scroll_type,
184 short position,
185 HWND scrollbar) {
186 SetMsgHandled(FALSE);
187 }
188
116 //////////////////////////////////////////////////////////////////////////////// 189 ////////////////////////////////////////////////////////////////////////////////
117 // HWNDMessageHandler, private: 190 // HWNDMessageHandler, private:
118 191
192 HWND HWNDMessageHandler::hwnd() {
193 return delegate_->AsNativeWidgetWin()->hwnd();
194 }
195
196 LRESULT HWNDMessageHandler::DefWindowProcWithRedrawLock(UINT message,
197 WPARAM w_param,
198 LPARAM l_param) {
199 return delegate_->AsNativeWidgetWin()->DefWindowProcWithRedrawLock(message,
200 w_param,
201 l_param);
202 }
203
119 void HWNDMessageHandler::SetMsgHandled(BOOL handled) { 204 void HWNDMessageHandler::SetMsgHandled(BOOL handled) {
120 delegate_->AsNativeWidgetWin()->SetMsgHandled(handled); 205 delegate_->AsNativeWidgetWin()->SetMsgHandled(handled);
121 } 206 }
122 207
123 } // namespace views 208 } // namespace views
124 209
OLDNEW
« no previous file with comments | « ui/views/widget/hwnd_message_handler.h ('k') | ui/views/widget/hwnd_message_handler_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698