Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(473)

Side by Side Diff: content/browser/web_contents/web_contents_impl.cc

Issue 1658003002: Enable range-based for loops to loop over a WebContents' frame hosts. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix miswrapped comment. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/browser/web_contents/web_contents_impl.h ('k') | content/public/browser/web_contents.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 } 178 }
179 179
180 bool HasMatchingProcess(FrameTree* tree, int render_process_id) { 180 bool HasMatchingProcess(FrameTree* tree, int render_process_id) {
181 for (FrameTreeNode* node : tree->Nodes()) { 181 for (FrameTreeNode* node : tree->Nodes()) {
182 if (node->current_frame_host()->GetProcess()->GetID() == render_process_id) 182 if (node->current_frame_host()->GetProcess()->GetID() == render_process_id)
183 return true; 183 return true;
184 } 184 }
185 return false; 185 return false;
186 } 186 }
187 187
188 void SendToAllFramesInternal(int* number_of_messages,
189 IPC::Message* message,
190 RenderFrameHost* rfh) {
191 *number_of_messages = *number_of_messages + 1;
192 IPC::Message* message_copy = new IPC::Message(*message);
193 message_copy->set_routing_id(rfh->GetRoutingID());
194 rfh->Send(message_copy);
195 }
196
197 void AddRenderWidgetHostViewToSet(std::set<RenderWidgetHostView*>* set,
198 RenderFrameHost* rfh) {
199 RenderWidgetHostView* rwhv = static_cast<RenderFrameHostImpl*>(rfh)
200 ->frame_tree_node()
201 ->render_manager()
202 ->GetRenderWidgetHostView();
203 set->insert(rwhv);
204 }
205
206 void SetAccessibilityModeOnFrame(AccessibilityMode mode, 188 void SetAccessibilityModeOnFrame(AccessibilityMode mode,
207 RenderFrameHost* frame_host) { 189 RenderFrameHost* frame_host) {
208 static_cast<RenderFrameHostImpl*>(frame_host)->SetAccessibilityMode(mode); 190 static_cast<RenderFrameHostImpl*>(frame_host)->SetAccessibilityMode(mode);
209 } 191 }
210 192
211 void ResetAccessibility(RenderFrameHost* rfh) { 193 void ResetAccessibility(RenderFrameHost* rfh) {
212 static_cast<RenderFrameHostImpl*>(rfh)->AccessibilityReset(); 194 static_cast<RenderFrameHostImpl*>(rfh)->AccessibilityReset();
213 } 195 }
214 196
215 } // namespace 197 } // namespace
(...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 return frame ? frame->current_frame_host() : nullptr; 763 return frame ? frame->current_frame_host() : nullptr;
782 } 764 }
783 765
784 void WebContentsImpl::ForEachFrame( 766 void WebContentsImpl::ForEachFrame(
785 const base::Callback<void(RenderFrameHost*)>& on_frame) { 767 const base::Callback<void(RenderFrameHost*)>& on_frame) {
786 for (FrameTreeNode* node : frame_tree_.Nodes()) { 768 for (FrameTreeNode* node : frame_tree_.Nodes()) {
787 on_frame.Run(node->current_frame_host()); 769 on_frame.Run(node->current_frame_host());
788 } 770 }
789 } 771 }
790 772
773 std::vector<RenderFrameHost*> WebContentsImpl::GetAllFrames() {
774 std::vector<RenderFrameHost*> frame_hosts;
775 for (FrameTreeNode* node : frame_tree_.Nodes())
776 frame_hosts.push_back(node->current_frame_host());
777 return frame_hosts;
778 }
779
791 int WebContentsImpl::SendToAllFrames(IPC::Message* message) { 780 int WebContentsImpl::SendToAllFrames(IPC::Message* message) {
792 int number_of_messages = 0; 781 int number_of_messages = 0;
793 ForEachFrame( 782 for (RenderFrameHost* rfh : GetAllFrames()) {
794 base::Bind(&SendToAllFramesInternal, &number_of_messages, message)); 783 ++number_of_messages;
784 IPC::Message* message_copy = new IPC::Message(*message);
785 message_copy->set_routing_id(rfh->GetRoutingID());
786 rfh->Send(message_copy);
787 }
795 delete message; 788 delete message;
796 return number_of_messages; 789 return number_of_messages;
797 } 790 }
798 791
799 RenderViewHostImpl* WebContentsImpl::GetRenderViewHost() const { 792 RenderViewHostImpl* WebContentsImpl::GetRenderViewHost() const {
800 return GetRenderManager()->current_host(); 793 return GetRenderManager()->current_host();
801 } 794 }
802 795
803 int WebContentsImpl::GetRoutingID() const { 796 int WebContentsImpl::GetRoutingID() const {
804 if (!GetRenderViewHost()) 797 if (!GetRenderViewHost())
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
907 900
908 FOR_EACH_OBSERVER(WebContentsObserver, observers_, 901 FOR_EACH_OBSERVER(WebContentsObserver, observers_,
909 UserAgentOverrideSet(override)); 902 UserAgentOverrideSet(override));
910 } 903 }
911 904
912 const std::string& WebContentsImpl::GetUserAgentOverride() const { 905 const std::string& WebContentsImpl::GetUserAgentOverride() const {
913 return renderer_preferences_.user_agent_override; 906 return renderer_preferences_.user_agent_override;
914 } 907 }
915 908
916 void WebContentsImpl::EnableTreeOnlyAccessibilityMode() { 909 void WebContentsImpl::EnableTreeOnlyAccessibilityMode() {
917 if (GetAccessibilityMode() != AccessibilityModeOff) 910 if (GetAccessibilityMode() != AccessibilityModeOff) {
918 ForEachFrame(base::Bind(&ResetAccessibility)); 911 for (RenderFrameHost* rfh : GetAllFrames())
919 else 912 ResetAccessibility(rfh);
913 } else {
920 AddAccessibilityMode(AccessibilityModeTreeOnly); 914 AddAccessibilityMode(AccessibilityModeTreeOnly);
915 }
921 } 916 }
922 917
923 bool WebContentsImpl::IsTreeOnlyAccessibilityModeForTesting() const { 918 bool WebContentsImpl::IsTreeOnlyAccessibilityModeForTesting() const {
924 return accessibility_mode_ == AccessibilityModeTreeOnly; 919 return accessibility_mode_ == AccessibilityModeTreeOnly;
925 } 920 }
926 921
927 bool WebContentsImpl::IsFullAccessibilityModeForTesting() const { 922 bool WebContentsImpl::IsFullAccessibilityModeForTesting() const {
928 return accessibility_mode_ == AccessibilityModeComplete; 923 return accessibility_mode_ == AccessibilityModeComplete;
929 } 924 }
930 925
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
1499 void WebContentsImpl::RemoveObserver(WebContentsObserver* observer) { 1494 void WebContentsImpl::RemoveObserver(WebContentsObserver* observer) {
1500 observers_.RemoveObserver(observer); 1495 observers_.RemoveObserver(observer);
1501 } 1496 }
1502 1497
1503 std::set<RenderWidgetHostView*> 1498 std::set<RenderWidgetHostView*>
1504 WebContentsImpl::GetRenderWidgetHostViewsInTree() { 1499 WebContentsImpl::GetRenderWidgetHostViewsInTree() {
1505 std::set<RenderWidgetHostView*> set; 1500 std::set<RenderWidgetHostView*> set;
1506 if (ShowingInterstitialPage()) { 1501 if (ShowingInterstitialPage()) {
1507 set.insert(GetRenderWidgetHostView()); 1502 set.insert(GetRenderWidgetHostView());
1508 } else { 1503 } else {
1509 ForEachFrame( 1504 for (RenderFrameHost* rfh : GetAllFrames()) {
1510 base::Bind(&AddRenderWidgetHostViewToSet, base::Unretained(&set))); 1505 RenderWidgetHostView* rwhv = static_cast<RenderFrameHostImpl*>(rfh)
1506 ->frame_tree_node()
1507 ->render_manager()
1508 ->GetRenderWidgetHostView();
1509 set.insert(rwhv);
1510 }
1511 } 1511 }
1512 return set; 1512 return set;
1513 } 1513 }
1514 1514
1515 void WebContentsImpl::Activate() { 1515 void WebContentsImpl::Activate() {
1516 if (delegate_) 1516 if (delegate_)
1517 delegate_->ActivateContents(this); 1517 delegate_->ActivateContents(this);
1518 } 1518 }
1519 1519
1520 void WebContentsImpl::LostCapture(RenderWidgetHostImpl* render_widget_host) { 1520 void WebContentsImpl::LostCapture(RenderWidgetHostImpl* render_widget_host) {
(...skipping 3231 matching lines...) Expand 10 before | Expand all | Expand 10 after
4752 const WebContentsObserver::MediaPlayerId& id) { 4752 const WebContentsObserver::MediaPlayerId& id) {
4753 FOR_EACH_OBSERVER(WebContentsObserver, observers_, MediaStartedPlaying(id)); 4753 FOR_EACH_OBSERVER(WebContentsObserver, observers_, MediaStartedPlaying(id));
4754 } 4754 }
4755 4755
4756 void WebContentsImpl::MediaStoppedPlaying( 4756 void WebContentsImpl::MediaStoppedPlaying(
4757 const WebContentsObserver::MediaPlayerId& id) { 4757 const WebContentsObserver::MediaPlayerId& id) {
4758 FOR_EACH_OBSERVER(WebContentsObserver, observers_, MediaStoppedPlaying(id)); 4758 FOR_EACH_OBSERVER(WebContentsObserver, observers_, MediaStoppedPlaying(id));
4759 } 4759 }
4760 4760
4761 } // namespace content 4761 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/web_contents/web_contents_impl.h ('k') | content/public/browser/web_contents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698