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

Side by Side Diff: chrome/browser/hang_monitor/hung_plugin_action.cc

Issue 1745024: Make a new yes/no messagebox wrapper function, use it in the bookmark alert.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 <windows.h> 5 #include <windows.h>
6 6
7 #include "chrome/browser/hang_monitor/hung_plugin_action.h" 7 #include "chrome/browser/hang_monitor/hung_plugin_action.h"
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "app/win_util.h" 10 #include "app/win_util.h"
11 #include "base/win_util.h" 11 #include "base/win_util.h"
12 #include "chrome/browser/platform_util.h"
12 #include "chrome/common/logging_chrome.h" 13 #include "chrome/common/logging_chrome.h"
13 #include "grit/generated_resources.h" 14 #include "grit/generated_resources.h"
14 #include "webkit/glue/plugins/webplugin_delegate_impl.h" 15 #include "webkit/glue/plugins/webplugin_delegate_impl.h"
15 16
16 HungPluginAction::HungPluginAction() : current_hung_plugin_window_(NULL) { 17 HungPluginAction::HungPluginAction() : current_hung_plugin_window_(NULL) {
17 } 18 }
18 19
19 HungPluginAction::~HungPluginAction() { 20 HungPluginAction::~HungPluginAction() {
20 } 21 }
21 22
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 // Before displaying the message box,invoke SendMessageCallback on the 56 // Before displaying the message box,invoke SendMessageCallback on the
56 // hung window. If the callback ever hits,the window is not hung anymore 57 // hung window. If the callback ever hits,the window is not hung anymore
57 // and we can dismiss the message box. 58 // and we can dismiss the message box.
58 SendMessageCallback(hung_window, 59 SendMessageCallback(hung_window,
59 WM_NULL, 60 WM_NULL,
60 0, 61 0,
61 0, 62 0,
62 HungWindowResponseCallback, 63 HungWindowResponseCallback,
63 reinterpret_cast<ULONG_PTR>(this)); 64 reinterpret_cast<ULONG_PTR>(this));
64 current_hung_plugin_window_ = hung_window; 65 current_hung_plugin_window_ = hung_window;
65 const UINT mb_flags = MB_YESNO | MB_ICONQUESTION | MB_SETFOREGROUND; 66 if (platform_util::SimpleYesNoBox(NULL, title, msg)) {
66 if (IDYES == win_util::MessageBox(NULL, msg, title, mb_flags)) {
67 *action = HungWindowNotification::HUNG_WINDOW_TERMINATE_PROCESS; 67 *action = HungWindowNotification::HUNG_WINDOW_TERMINATE_PROCESS;
68 } else { 68 } else {
69 // If the user choses to ignore the hung window warning, the 69 // If the user choses to ignore the hung window warning, the
70 // message timeout for this window should be doubled. We only 70 // message timeout for this window should be doubled. We only
71 // double the timeout property on the window if the property 71 // double the timeout property on the window if the property
72 // exists. The property is deleted if the window becomes 72 // exists. The property is deleted if the window becomes
73 // responsive. 73 // responsive.
74 continue_hang_detection = false; 74 continue_hang_detection = false;
75 #pragma warning(disable:4311) 75 #pragma warning(disable:4311)
76 int child_window_message_timeout = 76 int child_window_message_timeout =
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 void CALLBACK HungPluginAction::HungWindowResponseCallback(HWND target_window, 146 void CALLBACK HungPluginAction::HungWindowResponseCallback(HWND target_window,
147 UINT message, 147 UINT message,
148 ULONG_PTR data, 148 ULONG_PTR data,
149 LRESULT result) { 149 LRESULT result) {
150 HungPluginAction* instance = reinterpret_cast<HungPluginAction*>(data); 150 HungPluginAction* instance = reinterpret_cast<HungPluginAction*>(data);
151 DCHECK(NULL != instance); 151 DCHECK(NULL != instance);
152 if (NULL != instance) { 152 if (NULL != instance) {
153 instance->OnWindowResponsive(target_window); 153 instance->OnWindowResponsive(target_window);
154 } 154 }
155 } 155 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698