summaryrefslogtreecommitdiffstats
path: root/base/win/wrapped_window_proc.h
diff options
context:
space:
mode:
authoralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-09 20:38:18 +0000
committeralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-09 20:38:18 +0000
commit7a66b99fbf5cd967ba12e643fc0072fc20514990 (patch)
treed4bec32782951f4c63a4aca99b655222017c6002 /base/win/wrapped_window_proc.h
parentdecd4114476cb68ef734dd91cbea6d56c404bee5 (diff)
downloadchromium_src-7a66b99fbf5cd967ba12e643fc0072fc20514990.zip
chromium_src-7a66b99fbf5cd967ba12e643fc0072fc20514990.tar.gz
chromium_src-7a66b99fbf5cd967ba12e643fc0072fc20514990.tar.bz2
Added base::win::InitializeWindowClass() wrapper to make sure that window classes are properly associated with the modules containing their window procedures.
TEST=win,win_rel Review URL: https://chromiumcodereview.appspot.com/10315012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136116 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/win/wrapped_window_proc.h')
-rw-r--r--base/win/wrapped_window_proc.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/base/win/wrapped_window_proc.h b/base/win/wrapped_window_proc.h
index c9916504..6d887ae 100644
--- a/base/win/wrapped_window_proc.h
+++ b/base/win/wrapped_window_proc.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -14,6 +14,7 @@
#include <windows.h>
#include "base/base_export.h"
+#include "base/string16.h"
namespace base {
namespace win {
@@ -34,6 +35,22 @@ BASE_EXPORT WinProcExceptionFilter SetWinProcExceptionFilter(
// Calls the registered exception filter.
BASE_EXPORT int CallExceptionFilter(EXCEPTION_POINTERS* info);
+// Initializes the WNDCLASSEX structure |*class_out| to be passed to
+// RegisterClassEx() making sure that it is associated with the module
+// containing the window procedure.
+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);
+
// Wrapper that supplies a standard exception frame for the provided WindowProc.
// The normal usage is something like this:
//