Chromium Code Reviews| 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 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 658 | 658 |
| 659 return WebContents::FromRenderFrameHost(render_frame_host); | 659 return WebContents::FromRenderFrameHost(render_frame_host); |
| 660 } | 660 } |
| 661 | 661 |
| 662 RenderFrameHostManager* WebContentsImpl::GetRenderManagerForTesting() { | 662 RenderFrameHostManager* WebContentsImpl::GetRenderManagerForTesting() { |
| 663 return GetRenderManager(); | 663 return GetRenderManager(); |
| 664 } | 664 } |
| 665 | 665 |
| 666 bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host, | 666 bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host, |
| 667 const IPC::Message& message) { | 667 const IPC::Message& message) { |
| 668 return OnMessageReceived(render_view_host, NULL, message); | 668 return OnMessageReceived(render_view_host, nullptr, nullptr, message); |
| 669 } | 669 } |
| 670 | 670 |
| 671 bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host, | 671 bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host, |
| 672 RenderWidgetHost* render_widget_host, | |
| 672 RenderFrameHost* render_frame_host, | 673 RenderFrameHost* render_frame_host, |
| 673 const IPC::Message& message) { | 674 const IPC::Message& message) { |
| 674 DCHECK(render_view_host || render_frame_host); | 675 DCHECK(render_view_host || render_widget_host || render_frame_host); |
| 675 if (GetWebUI() && | 676 if (GetWebUI() && |
| 676 static_cast<WebUIImpl*>(GetWebUI())->OnMessageReceived(message)) { | 677 static_cast<WebUIImpl*>(GetWebUI())->OnMessageReceived(message)) { |
| 677 return true; | 678 return true; |
| 678 } | 679 } |
| 679 | 680 |
| 680 if (render_frame_host) { | 681 if (render_frame_host) { |
| 681 for (auto& observer : observers_) { | 682 for (auto& observer : observers_) { |
| 682 if (observer.OnMessageReceived(message, render_frame_host)) | 683 if (observer.OnMessageReceived(message, render_frame_host)) |
| 683 return true; | 684 return true; |
| 684 } | 685 } |
| 685 } else { | 686 } else { |
| 686 for (auto& observer : observers_) { | 687 for (auto& observer : observers_) { |
| 687 if (observer.OnMessageReceived(message)) | 688 if (observer.OnMessageReceived(message)) |
|
ncarter (slow)
2016/11/14 20:23:45
Do we really want/need to do this for all widget m
paulmeyer
2016/11/14 22:03:53
No, I've removed the OnMessageReceived() for widge
| |
| 688 return true; | 689 return true; |
| 689 } | 690 } |
| 690 } | 691 } |
| 691 | 692 |
| 692 // Message handlers should be aware of which | 693 // Message handlers should be aware of which |
| 693 // RenderViewHost/RenderFrameHost sent the message, which is temporarily | 694 // RenderViewHost/RenderFrameHost sent the message, which is temporarily |
| 694 // stored in render_(view|frame)_message_source_. | 695 // stored in render_(view|frame)_message_source_. |
| 695 if (render_frame_host) | 696 if (render_frame_host) |
| 696 render_frame_message_source_ = render_frame_host; | 697 render_frame_message_source_ = render_frame_host; |
| 697 else | 698 else |
| 698 render_view_message_source_ = render_view_host; | 699 render_view_message_source_ = render_view_host; |
|
ncarter (slow)
2016/11/14 20:23:45
Would we need render_widget_message_source_ too (T
paulmeyer
2016/11/14 22:03:53
Not anymore, I've removed the OnMessageReceived()
| |
| 699 | 700 |
| 700 bool handled = true; | 701 bool handled = true; |
| 701 IPC_BEGIN_MESSAGE_MAP(WebContentsImpl, message) | 702 IPC_BEGIN_MESSAGE_MAP(WebContentsImpl, message) |
| 702 IPC_MESSAGE_HANDLER(FrameHostMsg_DomOperationResponse, | 703 IPC_MESSAGE_HANDLER(FrameHostMsg_DomOperationResponse, |
| 703 OnDomOperationResponse) | 704 OnDomOperationResponse) |
| 704 IPC_MESSAGE_HANDLER(FrameHostMsg_DidChangeThemeColor, | 705 IPC_MESSAGE_HANDLER(FrameHostMsg_DidChangeThemeColor, |
| 705 OnThemeColorChanged) | 706 OnThemeColorChanged) |
| 706 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFinishDocumentLoad, | 707 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFinishDocumentLoad, |
| 707 OnDocumentLoadedInFrame) | 708 OnDocumentLoadedInFrame) |
| 708 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFinishLoad, OnDidFinishLoad) | 709 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFinishLoad, OnDidFinishLoad) |
| (...skipping 1772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2481 TextInputManager* WebContentsImpl::GetTextInputManager() { | 2482 TextInputManager* WebContentsImpl::GetTextInputManager() { |
| 2482 if (GetOuterWebContents()) | 2483 if (GetOuterWebContents()) |
| 2483 return GetOuterWebContents()->GetTextInputManager(); | 2484 return GetOuterWebContents()->GetTextInputManager(); |
| 2484 | 2485 |
| 2485 if (!text_input_manager_) | 2486 if (!text_input_manager_) |
| 2486 text_input_manager_.reset(new TextInputManager()); | 2487 text_input_manager_.reset(new TextInputManager()); |
| 2487 | 2488 |
| 2488 return text_input_manager_.get(); | 2489 return text_input_manager_.get(); |
| 2489 } | 2490 } |
| 2490 | 2491 |
| 2492 bool WebContentsImpl::OnMessageReceived(RenderWidgetHost* render_widget_host, | |
| 2493 const IPC::Message& message) { | |
| 2494 return OnMessageReceived(nullptr, render_widget_host, nullptr, message); | |
| 2495 } | |
| 2496 | |
| 2491 BrowserAccessibilityManager* | 2497 BrowserAccessibilityManager* |
| 2492 WebContentsImpl::GetRootBrowserAccessibilityManager() { | 2498 WebContentsImpl::GetRootBrowserAccessibilityManager() { |
| 2493 RenderFrameHostImpl* rfh = GetMainFrame(); | 2499 RenderFrameHostImpl* rfh = GetMainFrame(); |
| 2494 return rfh ? rfh->browser_accessibility_manager() : nullptr; | 2500 return rfh ? rfh->browser_accessibility_manager() : nullptr; |
| 2495 } | 2501 } |
| 2496 | 2502 |
| 2497 BrowserAccessibilityManager* | 2503 BrowserAccessibilityManager* |
| 2498 WebContentsImpl::GetOrCreateRootBrowserAccessibilityManager() { | 2504 WebContentsImpl::GetOrCreateRootBrowserAccessibilityManager() { |
| 2499 RenderFrameHostImpl* rfh = GetMainFrame(); | 2505 RenderFrameHostImpl* rfh = GetMainFrame(); |
| 2500 return rfh ? rfh->GetOrCreateBrowserAccessibilityManager() : nullptr; | 2506 return rfh ? rfh->GetOrCreateBrowserAccessibilityManager() : nullptr; |
| (...skipping 1514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4015 } | 4021 } |
| 4016 | 4022 |
| 4017 void WebContentsImpl::NotifyNavigationEntryCommitted( | 4023 void WebContentsImpl::NotifyNavigationEntryCommitted( |
| 4018 const LoadCommittedDetails& load_details) { | 4024 const LoadCommittedDetails& load_details) { |
| 4019 for (auto& observer : observers_) | 4025 for (auto& observer : observers_) |
| 4020 observer.NavigationEntryCommitted(load_details); | 4026 observer.NavigationEntryCommitted(load_details); |
| 4021 } | 4027 } |
| 4022 | 4028 |
| 4023 bool WebContentsImpl::OnMessageReceived(RenderFrameHost* render_frame_host, | 4029 bool WebContentsImpl::OnMessageReceived(RenderFrameHost* render_frame_host, |
| 4024 const IPC::Message& message) { | 4030 const IPC::Message& message) { |
| 4025 return OnMessageReceived(NULL, render_frame_host, message); | 4031 return OnMessageReceived(nullptr, nullptr, render_frame_host, message); |
| 4026 } | 4032 } |
| 4027 | 4033 |
| 4028 void WebContentsImpl::OnAssociatedInterfaceRequest( | 4034 void WebContentsImpl::OnAssociatedInterfaceRequest( |
| 4029 RenderFrameHost* render_frame_host, | 4035 RenderFrameHost* render_frame_host, |
| 4030 const std::string& interface_name, | 4036 const std::string& interface_name, |
| 4031 mojo::ScopedInterfaceEndpointHandle handle) { | 4037 mojo::ScopedInterfaceEndpointHandle handle) { |
| 4032 auto it = binding_sets_.find(interface_name); | 4038 auto it = binding_sets_.find(interface_name); |
| 4033 if (it != binding_sets_.end()) | 4039 if (it != binding_sets_.end()) |
| 4034 it->second->OnRequestForFrame(render_frame_host, std::move(handle)); | 4040 it->second->OnRequestForFrame(render_frame_host, std::move(handle)); |
| 4035 } | 4041 } |
| (...skipping 1178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5214 dialog_manager_ = dialog_manager; | 5220 dialog_manager_ = dialog_manager; |
| 5215 } | 5221 } |
| 5216 | 5222 |
| 5217 void WebContentsImpl::RemoveBindingSet(const std::string& interface_name) { | 5223 void WebContentsImpl::RemoveBindingSet(const std::string& interface_name) { |
| 5218 auto it = binding_sets_.find(interface_name); | 5224 auto it = binding_sets_.find(interface_name); |
| 5219 if (it != binding_sets_.end()) | 5225 if (it != binding_sets_.end()) |
| 5220 binding_sets_.erase(it); | 5226 binding_sets_.erase(it); |
| 5221 } | 5227 } |
| 5222 | 5228 |
| 5223 } // namespace content | 5229 } // namespace content |
| OLD | NEW |