diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-20 04:14:21 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-20 04:14:21 +0000 |
commit | de016ebcdfde1345a9463af1e50b7645f6909ffc (patch) | |
tree | a67d7517d4f65550465a5bc9a0e1c358ae2ab1c6 /base/win_util.cc | |
parent | 4646f29cf92e2b3cd70158067d11431ae9351bcf (diff) | |
download | chromium_src-de016ebcdfde1345a9463af1e50b7645f6909ffc.zip chromium_src-de016ebcdfde1345a9463af1e50b7645f6909ffc.tar.gz chromium_src-de016ebcdfde1345a9463af1e50b7645f6909ffc.tar.bz2 |
Remove TRACK_HWND_CREATION/TRACK_HWND_DESTRUCTION macro since the bug it was created for has long been closed. This code causes crashes when the browser is closed with the task manager open (in debug builds at the very least).
Review URL: http://codereview.chromium.org/115553
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16462 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/win_util.cc')
-rw-r--r-- | base/win_util.cc | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/base/win_util.cc b/base/win_util.cc index 2f1ceb9..c379703 100644 --- a/base/win_util.cc +++ b/base/win_util.cc @@ -4,16 +4,13 @@ #include "base/win_util.h" -#include <map> #include <sddl.h> #include "base/logging.h" #include "base/registry.h" #include "base/scoped_handle.h" #include "base/scoped_ptr.h" -#include "base/singleton.h" #include "base/string_util.h" -#include "base/tracked.h" namespace win_util { @@ -376,66 +373,6 @@ std::wstring FormatLastWin32Error() { return FormatMessage(GetLastError()); } -typedef std::map<HWND, tracked_objects::Location> HWNDInfoMap; -struct HWNDBirthMapTrait : public DefaultSingletonTraits<HWNDInfoMap> { -}; -struct HWNDDeathMapTrait : public DefaultSingletonTraits<HWNDInfoMap> { -}; - -void NotifyHWNDCreation(const tracked_objects::Location& from_here, HWND hwnd) { - HWNDInfoMap* birth_map = Singleton<HWNDInfoMap, HWNDBirthMapTrait>::get(); - HWNDInfoMap::iterator birth_iter = birth_map->find(hwnd); - if (birth_iter != birth_map->end()) { - birth_map->erase(birth_iter); - - // We have already seen this HWND, was it destroyed? - HWNDInfoMap* death_map = Singleton<HWNDInfoMap, HWNDDeathMapTrait>::get(); - HWNDInfoMap::iterator death_iter = death_map->find(hwnd); - if (death_iter == death_map->end()) { - // We did not get a destruction notification. The code is probably not - // calling NotifyHWNDDestruction for that HWND. - NOTREACHED() << "Creation of HWND reported for already tracked HWND. The " - "HWND destruction is probably not tracked properly. " - "Fix it!"; - } else { - death_map->erase(death_iter); - } - } - birth_map->insert(std::pair<HWND, tracked_objects::Location>(hwnd, - from_here)); -} - -void NotifyHWNDDestruction(const tracked_objects::Location& from_here, - HWND hwnd) { - HWNDInfoMap* death_map = Singleton<HWNDInfoMap, HWNDDeathMapTrait>::get(); - HWNDInfoMap::iterator death_iter = death_map->find(hwnd); - - HWNDInfoMap* birth_map = Singleton<HWNDInfoMap, HWNDBirthMapTrait>::get(); - HWNDInfoMap::iterator birth_iter = birth_map->find(hwnd); - - if (death_iter != death_map->end()) { - std::string allocation, first_delete, second_delete; - if (birth_iter != birth_map->end()) - birth_iter->second.Write(true, true, &allocation); - death_iter->second.Write(true, true, &first_delete); - from_here.Write(true, true, &second_delete); - LOG(FATAL) << "Double delete of an HWND. Please file a bug with info on " - "how you got that assertion and the following information:\n" - "Double delete of HWND 0x" << hwnd << "\n" << - "Allocated at " << allocation << "\n" << - "Deleted first at " << first_delete << "\n" << - "Deleted again at " << second_delete; - death_map->erase(death_iter); - } - - if (birth_iter == birth_map->end()) { - NOTREACHED() << "Destruction of HWND reported for unknown HWND. The HWND " - "construction is probably not tracked properly. Fix it!"; - } - death_map->insert(std::pair<HWND, tracked_objects::Location>(hwnd, - from_here)); -} - } // namespace win_util #ifdef _MSC_VER |