OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/web_contents/web_contents_impl.h" | 5 #include "content/browser/web_contents/web_contents_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <cmath> | 9 #include <cmath> |
10 #include <utility> | 10 #include <utility> |
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
667 | 667 |
668 bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host, | 668 bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host, |
669 const IPC::Message& message) { | 669 const IPC::Message& message) { |
670 return OnMessageReceived(render_view_host, NULL, message); | 670 return OnMessageReceived(render_view_host, NULL, message); |
671 } | 671 } |
672 | 672 |
673 bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host, | 673 bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host, |
674 RenderFrameHost* render_frame_host, | 674 RenderFrameHost* render_frame_host, |
675 const IPC::Message& message) { | 675 const IPC::Message& message) { |
676 DCHECK(render_view_host || render_frame_host); | 676 DCHECK(render_view_host || render_frame_host); |
677 if (GetWebUI() && | 677 |
678 static_cast<WebUIImpl*>(GetWebUI())->OnMessageReceived(message)) { | 678 if (render_view_host) { |
679 return true; | 679 RenderFrameHost* main_frame = render_view_host->GetMainFrame(); |
680 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
| |
681 WebUIImpl* web_ui = | |
682 static_cast<RenderFrameHostImpl*>(main_frame)->web_ui(); | |
683 if (web_ui && web_ui->OnMessageReceived(message)) | |
684 return true; | |
685 } | |
680 } | 686 } |
681 | 687 |
682 if (render_frame_host) { | 688 if (render_frame_host) { |
683 for (auto& observer : observers_) { | 689 for (auto& observer : observers_) { |
684 if (observer.OnMessageReceived(message, render_frame_host)) | 690 if (observer.OnMessageReceived(message, render_frame_host)) |
685 return true; | 691 return true; |
686 } | 692 } |
687 } else { | 693 } else { |
688 for (auto& observer : observers_) { | 694 for (auto& observer : observers_) { |
689 if (observer.OnMessageReceived(message)) | 695 if (observer.OnMessageReceived(message)) |
(...skipping 4586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5276 dialog_manager_ = dialog_manager; | 5282 dialog_manager_ = dialog_manager; |
5277 } | 5283 } |
5278 | 5284 |
5279 void WebContentsImpl::RemoveBindingSet(const std::string& interface_name) { | 5285 void WebContentsImpl::RemoveBindingSet(const std::string& interface_name) { |
5280 auto it = binding_sets_.find(interface_name); | 5286 auto it = binding_sets_.find(interface_name); |
5281 if (it != binding_sets_.end()) | 5287 if (it != binding_sets_.end()) |
5282 binding_sets_.erase(it); | 5288 binding_sets_.erase(it); |
5283 } | 5289 } |
5284 | 5290 |
5285 } // namespace content | 5291 } // namespace content |
OLD | NEW |