Chromium Code Reviews| Index: extensions/browser/web_ui_user_script_loader.cc |
| diff --git a/extensions/browser/web_ui_user_script_loader.cc b/extensions/browser/web_ui_user_script_loader.cc |
| index facbadb0ee2ed8f91890418bdd723eb0550b02aa..dd7550b3446f4b16482fe8ae4b73e1d6c310fd26 100644 |
| --- a/extensions/browser/web_ui_user_script_loader.cc |
| +++ b/extensions/browser/web_ui_user_script_loader.cc |
| @@ -86,14 +86,20 @@ void WebUIUserScriptLoader::LoadScripts( |
| int render_process_id = iter->second.render_process_id; |
| int render_frame_id = iter->second.render_frame_id; |
| - content::BrowserContext* browser_context = |
| - content::RenderProcessHost::FromID(render_process_id) |
| - ->GetBrowserContext(); |
| - |
| - CreateWebUIURLFetchers(script->js_scripts(), browser_context, |
| - render_process_id, render_frame_id); |
| - CreateWebUIURLFetchers(script->css_scripts(), browser_context, |
| - render_process_id, render_frame_id); |
| + content::RenderProcessHost* render_process_host = |
| + content::RenderProcessHost::FromID(render_process_id); |
| + |
| + // LoadScripts may not be synchronous with AddScripts. Hence the |
| + // |render_process_host| may no longer be alive. |
|
lazyboy
2017/05/22 23:34:53
As we don't have a repro case, might be worth addi
karandeepb
2017/05/24 21:36:57
Tryed adding a test in Patchset 2, but don't have
|
| + if (render_process_host) { |
| + content::BrowserContext* browser_context = |
| + render_process_host->GetBrowserContext(); |
| + |
| + CreateWebUIURLFetchers(script->js_scripts(), browser_context, |
| + render_process_id, render_frame_id); |
| + CreateWebUIURLFetchers(script->css_scripts(), browser_context, |
| + render_process_id, render_frame_id); |
| + } |
| script_render_info_map_.erase(script->id()); |
| } |