| 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 99c763d9360e33824b37a267274d3dc0fa8b0027..92720d3d11f3ed81a1a9f724bd85366bb0c1da57 100644
|
| --- a/content/browser/media/cdm/browser_cdm_manager.cc
|
| +++ b/content/browser/media/cdm/browser_cdm_manager.cc
|
| @@ -81,7 +81,11 @@ 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,
|
| + // and http://crbug.com/430251.
|
| + 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.
|
|
|