diff options
author | grt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 21:52:37 +0000 |
---|---|---|
committer | grt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 21:52:37 +0000 |
commit | ea8ab2aa7cb4e3b441fa6df657d140d84e946c8e (patch) | |
tree | a4110812afb096198beb54635c24f348f71587cc /chrome_frame/utils.cc | |
parent | 222885dd16eb6cf90212adabdecab51cafa529ca (diff) | |
download | chromium_src-ea8ab2aa7cb4e3b441fa6df657d140d84e946c8e.zip chromium_src-ea8ab2aa7cb4e3b441fa6df657d140d84e946c8e.tar.gz chromium_src-ea8ab2aa7cb4e3b441fa6df657d140d84e946c8e.tar.bz2 |
Start and stop crash reporting outside of the loader lock.
Instead of using DllMain to start/stop crash reporting, it is now done by way of a specialization of a new ScopedInitializationManager template. Instances of this specialization are created on the stack in entrypoints to the DLL (for registration or to get a COM object). The lifetime of crash reporting is ordinarily bound to the lifetime of the ATL module. The exception to this is when the module is pinned, at which point crash reporting is also pinned.
This change removes the breakpad_handler_dll target (by reverting http://crrev.com/70898) since it is no longer needed.
BUG=163455
TEST=install chrome frame and notice that installation doesn't block for 1 minute while npchrome_frame.dll is registered.
Review URL: https://chromiumcodereview.appspot.com/12521002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188207 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/utils.cc')
-rw-r--r-- | chrome_frame/utils.cc | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/chrome_frame/utils.cc b/chrome_frame/utils.cc index 70abb32..7a70e28 100644 --- a/chrome_frame/utils.cc +++ b/chrome_frame/utils.cc @@ -1499,27 +1499,6 @@ bool CanNavigate(const GURL& url, return true; } -void PinModule() { - static bool s_pinned = false; - if (!s_pinned && !IsUnpinnedMode()) { - wchar_t system_buffer[MAX_PATH]; - HMODULE this_module = reinterpret_cast<HMODULE>(&__ImageBase); - system_buffer[0] = 0; - if (GetModuleFileName(this_module, system_buffer, - arraysize(system_buffer)) != 0) { - HMODULE unused; - if (!GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_PIN, system_buffer, - &unused)) { - DPLOG(FATAL) << "Failed to pin module " << system_buffer; - } else { - s_pinned = true; - } - } else { - DPLOG(FATAL) << "Could not get module path."; - } - } -} - void WaitWithMessageLoop(HANDLE* handles, int count, DWORD timeout) { base::Time now = base::Time::Now(); base::Time wait_until = now + base::TimeDelta::FromMilliseconds(timeout); |