Chromium Code Reviews| Index: content/browser/web_contents/web_contents_impl.cc |
| diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc |
| index 46a226f7c67434387fa3d2765c8253817d999130..d6a4f94c90a6b273276b6b3f997db6ddabda43d9 100644 |
| --- a/content/browser/web_contents/web_contents_impl.cc |
| +++ b/content/browser/web_contents/web_contents_impl.cc |
| @@ -674,9 +674,15 @@ bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host, |
| RenderFrameHost* render_frame_host, |
| const IPC::Message& message) { |
| DCHECK(render_view_host || render_frame_host); |
| - if (GetWebUI() && |
| - static_cast<WebUIImpl*>(GetWebUI())->OnMessageReceived(message)) { |
| - return true; |
| + |
| + if (render_view_host) { |
| + RenderFrameHost* main_frame = render_view_host->GetMainFrame(); |
| + if (main_frame) { |
|
jam
2016/12/08 17:43:53
nit: are you sure you need this check?
yzshen1
2016/12/08 17:46:19
Yes, there are cases where render_view_host->GetMa
|
| + WebUIImpl* web_ui = |
| + static_cast<RenderFrameHostImpl*>(main_frame)->web_ui(); |
| + if (web_ui && web_ui->OnMessageReceived(message)) |
| + return true; |
| + } |
| } |
| if (render_frame_host) { |