OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/chrome_browser_main_win.h" | 5 #include "chrome/browser/chrome_browser_main_win.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 #include <shellapi.h> | 8 #include <shellapi.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 21 matching lines...) Expand all Loading... |
32 #include "chrome/installer/util/install_util.h" | 32 #include "chrome/installer/util/install_util.h" |
33 #include "chrome/installer/util/shell_util.h" | 33 #include "chrome/installer/util/shell_util.h" |
34 #include "content/common/main_function_params.h" | 34 #include "content/common/main_function_params.h" |
35 #include "grit/chromium_strings.h" | 35 #include "grit/chromium_strings.h" |
36 #include "grit/generated_resources.h" | 36 #include "grit/generated_resources.h" |
37 #include "ui/base/l10n/l10n_util.h" | 37 #include "ui/base/l10n/l10n_util.h" |
38 #include "ui/base/message_box_win.h" | 38 #include "ui/base/message_box_win.h" |
39 #include "views/focus/accelerator_handler.h" | 39 #include "views/focus/accelerator_handler.h" |
40 #include "views/widget/widget.h" | 40 #include "views/widget/widget.h" |
41 | 41 |
| 42 namespace content { |
| 43 |
| 44 void DidEndMainMessageLoop() { |
| 45 OleUninitialize(); |
| 46 } |
| 47 |
| 48 } |
| 49 |
42 namespace { | 50 namespace { |
43 | 51 |
44 typedef HRESULT (STDAPICALLTYPE* RegisterApplicationRestartProc)( | 52 typedef HRESULT (STDAPICALLTYPE* RegisterApplicationRestartProc)( |
45 const wchar_t* command_line, | 53 const wchar_t* command_line, |
46 DWORD flags); | 54 DWORD flags); |
47 | 55 |
48 void InitializeWindowProcExceptions() { | 56 void InitializeWindowProcExceptions() { |
49 // Get the breakpad pointer from chrome.exe | 57 // Get the breakpad pointer from chrome.exe |
50 base::win::WinProcExceptionFilter exception_filter = | 58 base::win::WinProcExceptionFilter exception_filter = |
51 reinterpret_cast<base::win::WinProcExceptionFilter>( | 59 reinterpret_cast<base::win::WinProcExceptionFilter>( |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 const MainFunctionParams& parameters) | 283 const MainFunctionParams& parameters) |
276 : ChromeBrowserMainParts(parameters) { | 284 : ChromeBrowserMainParts(parameters) { |
277 } | 285 } |
278 | 286 |
279 void ChromeBrowserMainPartsWin::PreMainMessageLoopStart() { | 287 void ChromeBrowserMainPartsWin::PreMainMessageLoopStart() { |
280 if (!parameters().ui_task) { | 288 if (!parameters().ui_task) { |
281 // Make sure that we know how to handle exceptions from the message loop. | 289 // Make sure that we know how to handle exceptions from the message loop. |
282 InitializeWindowProcExceptions(); | 290 InitializeWindowProcExceptions(); |
283 } | 291 } |
284 } | 292 } |
OLD | NEW |