Index: content/browser/media/cdm/browser_cdm_manager.cc |
diff --git a/content/browser/media/cdm/browser_cdm_manager.cc b/content/browser/media/cdm/browser_cdm_manager.cc |
index d3d4630cb08b54547ac2494d541e47b9589d7875..6d6400e132b3307566820565a9a4ba7dfd919cf1 100644 |
--- a/content/browser/media/cdm/browser_cdm_manager.cc |
+++ b/content/browser/media/cdm/browser_cdm_manager.cc |
@@ -81,7 +81,10 @@ BrowserCdmManager::~BrowserCdmManager() { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
DCHECK(g_browser_cdm_manager_map.Get().count(render_process_id_)); |
- g_browser_cdm_manager_map.Get().erase(render_process_id_); |
+ // If an entry of |render_process_id| was overwritten, we shouldn't remove |
+ // the entry. For example, see FrameTreeBrowserTest.FrameTreeAfterCrash test. |
ncarter (slow)
2014/11/17 18:47:01
Link to http://crbug.com/430251 here, seems to be
Jaekyun Seok (inactive)
2014/11/18 03:10:06
Done.
|
+ if (g_browser_cdm_manager_map.Get()[render_process_id_] == this) |
+ g_browser_cdm_manager_map.Get().erase(render_process_id_); |
} |
// Makes sure BrowserCdmManager is always deleted on the Browser UI thread. |