summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);
+ }
}
}