summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-29 19:18:34 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-29 19:18:34 +0000
commit840321b9afc8d9d26234969ff0f6ba26b360933c (patch)
tree25628504cc8f6cb2edbbec11ff10d9cf2ded9476
parent5883af9856b04d06dc8572ac381d2207b737c78e (diff)
downloadchromium_src-840321b9afc8d9d26234969ff0f6ba26b360933c.zip
chromium_src-840321b9afc8d9d26234969ff0f6ba26b360933c.tar.gz
chromium_src-840321b9afc8d9d26234969ff0f6ba26b360933c.tar.bz2
Ensure that chrome_frame_helper.exe is properly terminated on the per user chrome frame builders
on the FYI waterfall. Also ensure that the chrome frame helper class is properly unregistered during shutdown. This is an attempt to fix the chrome frame test failures on the Windows 7 builders which occur over time due to the system running out of session heap space. BUG=none TEST=chrome frame tests should continue to run on the per user CF builder as before. Review URL: http://codereview.chromium.org/6902139 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83568 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome_frame/chrome_frame_helper_main.cc1
-rw-r--r--chrome_frame/test_utils.cc8
2 files changed, 8 insertions, 1 deletions
diff --git a/chrome_frame/chrome_frame_helper_main.cc b/chrome_frame/chrome_frame_helper_main.cc
index 0b6bc73..2f36916 100644
--- a/chrome_frame/chrome_frame_helper_main.cc
+++ b/chrome_frame/chrome_frame_helper_main.cc
@@ -162,5 +162,6 @@ int APIENTRY wWinMain(HINSTANCE hinstance, HINSTANCE, wchar_t*, int show_cmd) {
}
}
+ UnregisterClass(kChromeFrameHelperWindowClassName, hinstance);
return 0;
}
diff --git a/chrome_frame/test_utils.cc b/chrome_frame/test_utils.cc
index 14149ab..0634d47 100644
--- a/chrome_frame/test_utils.cc
+++ b/chrome_frame/test_utils.cc
@@ -180,7 +180,13 @@ ScopedChromeFrameRegistrar::~ScopedChromeFrameRegistrar() {
RegisterChromeFrameAtPath(original_dll_path_);
} else if (registration_type_ == PER_USER) {
UnregisterAtPath(new_chrome_frame_dll_path_, registration_type_);
- chrome_frame_test::KillProcesses(L"chrome_frame_helper.exe", 0, false);
+ HWND chrome_frame_helper_window =
+ FindWindow(L"ChromeFrameHelperWindowClass", NULL);
+ if (IsWindow(chrome_frame_helper_window)) {
+ PostMessage(chrome_frame_helper_window, WM_CLOSE, 0, 0);
+ } else {
+ chrome_frame_test::KillProcesses(L"chrome_frame_helper.exe", 0, false);
+ }
}
}