diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-29 19:18:34 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-29 19:18:34 +0000 |
commit | 840321b9afc8d9d26234969ff0f6ba26b360933c (patch) | |
tree | 25628504cc8f6cb2edbbec11ff10d9cf2ded9476 /chrome_frame | |
parent | 5883af9856b04d06dc8572ac381d2207b737c78e (diff) | |
download | chromium_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.cc | 1 | ||||
-rw-r--r-- | chrome_frame/test_utils.cc | 8 |
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); + } } } |