| 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 c27846075d8df9aa8e9bd426f0ec265e6201b34f..da0a0d0ec319f408ea80d78a95c72ea1907a1e7c 100644
|
| --- a/content/browser/web_contents/web_contents_impl.cc
|
| +++ b/content/browser/web_contents/web_contents_impl.cc
|
| @@ -185,24 +185,6 @@ bool HasMatchingProcess(FrameTree* tree, int render_process_id) {
|
| return false;
|
| }
|
|
|
| -void SendToAllFramesInternal(int* number_of_messages,
|
| - IPC::Message* message,
|
| - RenderFrameHost* rfh) {
|
| - *number_of_messages = *number_of_messages + 1;
|
| - IPC::Message* message_copy = new IPC::Message(*message);
|
| - message_copy->set_routing_id(rfh->GetRoutingID());
|
| - rfh->Send(message_copy);
|
| -}
|
| -
|
| -void AddRenderWidgetHostViewToSet(std::set<RenderWidgetHostView*>* set,
|
| - RenderFrameHost* rfh) {
|
| - RenderWidgetHostView* rwhv = static_cast<RenderFrameHostImpl*>(rfh)
|
| - ->frame_tree_node()
|
| - ->render_manager()
|
| - ->GetRenderWidgetHostView();
|
| - set->insert(rwhv);
|
| -}
|
| -
|
| void SetAccessibilityModeOnFrame(AccessibilityMode mode,
|
| RenderFrameHost* frame_host) {
|
| static_cast<RenderFrameHostImpl*>(frame_host)->SetAccessibilityMode(mode);
|
| @@ -788,10 +770,21 @@ void WebContentsImpl::ForEachFrame(
|
| }
|
| }
|
|
|
| +std::vector<RenderFrameHost*> WebContentsImpl::GetAllFrames() {
|
| + std::vector<RenderFrameHost*> frame_hosts;
|
| + for (FrameTreeNode* node : frame_tree_.Nodes())
|
| + frame_hosts.push_back(node->current_frame_host());
|
| + return frame_hosts;
|
| +}
|
| +
|
| int WebContentsImpl::SendToAllFrames(IPC::Message* message) {
|
| int number_of_messages = 0;
|
| - ForEachFrame(
|
| - base::Bind(&SendToAllFramesInternal, &number_of_messages, message));
|
| + for (RenderFrameHost* rfh : GetAllFrames()) {
|
| + ++number_of_messages;
|
| + IPC::Message* message_copy = new IPC::Message(*message);
|
| + message_copy->set_routing_id(rfh->GetRoutingID());
|
| + rfh->Send(message_copy);
|
| + }
|
| delete message;
|
| return number_of_messages;
|
| }
|
| @@ -914,10 +907,12 @@ const std::string& WebContentsImpl::GetUserAgentOverride() const {
|
| }
|
|
|
| void WebContentsImpl::EnableTreeOnlyAccessibilityMode() {
|
| - if (GetAccessibilityMode() != AccessibilityModeOff)
|
| - ForEachFrame(base::Bind(&ResetAccessibility));
|
| - else
|
| + if (GetAccessibilityMode() != AccessibilityModeOff) {
|
| + for (RenderFrameHost* rfh : GetAllFrames())
|
| + ResetAccessibility(rfh);
|
| + } else {
|
| AddAccessibilityMode(AccessibilityModeTreeOnly);
|
| + }
|
| }
|
|
|
| bool WebContentsImpl::IsTreeOnlyAccessibilityModeForTesting() const {
|
| @@ -1506,8 +1501,13 @@ WebContentsImpl::GetRenderWidgetHostViewsInTree() {
|
| if (ShowingInterstitialPage()) {
|
| set.insert(GetRenderWidgetHostView());
|
| } else {
|
| - ForEachFrame(
|
| - base::Bind(&AddRenderWidgetHostViewToSet, base::Unretained(&set)));
|
| + for (RenderFrameHost* rfh : GetAllFrames()) {
|
| + RenderWidgetHostView* rwhv = static_cast<RenderFrameHostImpl*>(rfh)
|
| + ->frame_tree_node()
|
| + ->render_manager()
|
| + ->GetRenderWidgetHostView();
|
| + set.insert(rwhv);
|
| + }
|
| }
|
| return set;
|
| }
|
|
|