Index: base/win/wrapped_window_proc.h |
diff --git a/base/win/wrapped_window_proc.h b/base/win/wrapped_window_proc.h |
deleted file mode 100644 |
index d464a9c279fe4b3618a22a9c3b5625735fc67fdf..0000000000000000000000000000000000000000 |
--- a/base/win/wrapped_window_proc.h |
+++ /dev/null |
@@ -1,85 +0,0 @@ |
-// 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. |
- |
-// Provides a way to handle exceptions that happen while a WindowProc is |
-// running. The behavior of exceptions generated inside a WindowProc is OS |
-// dependent, but it is possible that the OS just ignores the exception and |
-// continues execution, which leads to unpredictable behavior for Chrome. |
- |
-#ifndef BASE_WIN_WRAPPED_WINDOW_PROC_H_ |
-#define BASE_WIN_WRAPPED_WINDOW_PROC_H_ |
- |
-#include <windows.h> |
- |
-#include "base/base_export.h" |
-#include "base/strings/string16.h" |
- |
-namespace base { |
-namespace win { |
- |
-// An exception filter for a WindowProc. The return value determines how the |
-// exception should be handled, following standard SEH rules. However, the |
-// expected behavior for this function is to not return, instead of returning |
-// EXCEPTION_EXECUTE_HANDLER or similar, given that in general we are not |
-// prepared to handle exceptions. |
-typedef int (__cdecl *WinProcExceptionFilter)(EXCEPTION_POINTERS* info); |
- |
-// Sets the filter to deal with exceptions inside a WindowProc. Returns the old |
-// exception filter, if any. |
-// This function should be called before any window is created. |
-BASE_EXPORT WinProcExceptionFilter SetWinProcExceptionFilter( |
- WinProcExceptionFilter filter); |
- |
-// 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: |
-// |
-// LRESULT CALLBACK MyWinProc(HWND hwnd, UINT message, |
-// WPARAM wparam, LPARAM lparam) { |
-// // Do Something. |
-// } |
-// |
-// ... |
-// |
-// WNDCLASSEX wc = {0}; |
-// wc.lpfnWndProc = WrappedWindowProc<MyWinProc>; |
-// wc.lpszClassName = class_name; |
-// ... |
-// RegisterClassEx(&wc); |
-// |
-// CreateWindowW(class_name, window_name, ... |
-// |
-template <WNDPROC proc> |
-LRESULT CALLBACK WrappedWindowProc(HWND hwnd, UINT message, |
- WPARAM wparam, LPARAM lparam) { |
- LRESULT rv = 0; |
- __try { |
- rv = proc(hwnd, message, wparam, lparam); |
- } __except(CallExceptionFilter(GetExceptionInformation())) { |
- } |
- return rv; |
-} |
- |
-} // namespace win |
-} // namespace base |
- |
-#endif // BASE_WIN_WRAPPED_WINDOW_PROC_H_ |