Chromium Code Reviews| Index: base/win/wrapped_window_proc.cc |
| diff --git a/base/win/wrapped_window_proc.cc b/base/win/wrapped_window_proc.cc |
| index c94c5ae2544c37ee85add16125f705a69eb7a8b7..72da3fbfd0217ce2281cf39f4e7c9b99fc744924 100644 |
| --- a/base/win/wrapped_window_proc.cc |
| +++ b/base/win/wrapped_window_proc.cc |
| @@ -5,6 +5,8 @@ |
| #include "base/win/wrapped_window_proc.h" |
| #include "base/atomicops.h" |
| +#include "base/logging.h" |
| +#include "base/process_util.h" |
| namespace { |
| @@ -28,5 +30,34 @@ int CallExceptionFilter(EXCEPTION_POINTERS* info) { |
| EXCEPTION_CONTINUE_SEARCH; |
| } |
| +BASE_EXPORT void InitializeWindowClass( |
| + const char16* class_name, |
| + WNDPROC window_proc, |
| + UINT style, |
| + int class_extra, |
| + int window_extra, |
| + HCURSOR cursor, |
| + HBRUSH background, |
| + const char16* menu_name, |
| + HICON large_icon, |
| + HICON small_icon, |
| + WNDCLASSEX* class_out) { |
| + class_out->cbSize = sizeof(WNDCLASSEX); |
|
dcheng
2012/05/04 19:40:31
Should we add a compile assert here so we don't fo
alexeypa (please no reviews)
2012/05/04 19:54:24
WNDCLASSEX is a public API. It is set in stone and
brettw
2012/05/04 20:00:55
I agree with no assert here.
|
| + class_out->style = style; |
| + class_out->lpfnWndProc = window_proc; |
| + class_out->cbClsExtra = class_extra; |
| + class_out->cbWndExtra = window_extra; |
| + class_out->hInstance = base::GetModuleFromAddress(window_proc); |
| + class_out->hIcon = large_icon; |
| + class_out->hCursor = cursor; |
| + class_out->hbrBackground = background; |
| + class_out->lpszMenuName = menu_name; |
| + class_out->lpszClassName = class_name; |
| + class_out->hIconSm = small_icon; |
| + |
| + // Check if |window_proc| is valid. |
| + DCHECK(class_out->hInstance != NULL); |
| +} |
| + |
| } // namespace win |
| } // namespace base |