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

Unified Diff: base/win/wrapped_window_proc.h

Issue 1446363003: Deleted OS_WIN and all Windows specific files from base. (Closed) Base URL: https://github.com/domokit/mojo.git@base_tests
Patch Set: Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/win/windows_version.cc ('k') | base/win/wrapped_window_proc.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « base/win/windows_version.cc ('k') | base/win/wrapped_window_proc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698