summaryrefslogtreecommitdiffstats
path: root/chrome_frame
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 /chrome_frame
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
Diffstat (limited to 'chrome_frame')
-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);
+ }
}
}