OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/frame_host/render_frame_host_impl.h" | 5 #include "content/browser/frame_host/render_frame_host_impl.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/containers/hash_tables.h" | 10 #include "base/containers/hash_tables.h" |
(...skipping 802 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
813 logging::LogMessage("CONSOLE", line_no, resolved_level).stream() | 813 logging::LogMessage("CONSOLE", line_no, resolved_level).stream() |
814 << "\"" << message << "\", source: " << source_id << " (" << line_no | 814 << "\"" << message << "\", source: " << source_id << " (" << line_no |
815 << ")"; | 815 << ")"; |
816 } | 816 } |
817 } | 817 } |
818 | 818 |
819 void RenderFrameHostImpl::OnCreateChildFrame( | 819 void RenderFrameHostImpl::OnCreateChildFrame( |
820 int new_routing_id, | 820 int new_routing_id, |
821 blink::WebTreeScopeType scope, | 821 blink::WebTreeScopeType scope, |
822 const std::string& frame_name, | 822 const std::string& frame_name, |
| 823 const std::string& frame_unique_name, |
823 blink::WebSandboxFlags sandbox_flags, | 824 blink::WebSandboxFlags sandbox_flags, |
824 const blink::WebFrameOwnerProperties& frame_owner_properties) { | 825 const blink::WebFrameOwnerProperties& frame_owner_properties) { |
| 826 // TODO(lukasza): Call ReceivedBadMessage when |frame_unique_name| is empty. |
| 827 DCHECK(!frame_unique_name.empty()); |
| 828 |
825 // It is possible that while a new RenderFrameHost was committed, the | 829 // It is possible that while a new RenderFrameHost was committed, the |
826 // RenderFrame corresponding to this host sent an IPC message to create a | 830 // RenderFrame corresponding to this host sent an IPC message to create a |
827 // frame and it is delivered after this host is swapped out. | 831 // frame and it is delivered after this host is swapped out. |
828 // Ignore such messages, as we know this RenderFrameHost is going away. | 832 // Ignore such messages, as we know this RenderFrameHost is going away. |
829 if (rfh_state_ != RenderFrameHostImpl::STATE_DEFAULT || | 833 if (rfh_state_ != RenderFrameHostImpl::STATE_DEFAULT || |
830 frame_tree_node_->current_frame_host() != this) | 834 frame_tree_node_->current_frame_host() != this) |
831 return; | 835 return; |
832 | 836 |
833 frame_tree_->AddFrame(frame_tree_node_, GetProcess()->GetID(), new_routing_id, | 837 frame_tree_->AddFrame(frame_tree_node_, GetProcess()->GetID(), new_routing_id, |
834 scope, frame_name, sandbox_flags, | 838 scope, frame_name, frame_unique_name, sandbox_flags, |
835 frame_owner_properties); | 839 frame_owner_properties); |
836 } | 840 } |
837 | 841 |
838 void RenderFrameHostImpl::OnDetach() { | 842 void RenderFrameHostImpl::OnDetach() { |
839 frame_tree_->RemoveFrame(frame_tree_node_); | 843 frame_tree_->RemoveFrame(frame_tree_node_); |
840 } | 844 } |
841 | 845 |
842 void RenderFrameHostImpl::OnFrameFocused() { | 846 void RenderFrameHostImpl::OnFrameFocused() { |
843 frame_tree_->SetFocusedFrame(frame_tree_node_, GetSiteInstance()); | 847 frame_tree_->SetFocusedFrame(frame_tree_node_, GetSiteInstance()); |
844 } | 848 } |
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1414 | 1418 |
1415 void RenderFrameHostImpl::OnDidAccessInitialDocument() { | 1419 void RenderFrameHostImpl::OnDidAccessInitialDocument() { |
1416 delegate_->DidAccessInitialDocument(); | 1420 delegate_->DidAccessInitialDocument(); |
1417 } | 1421 } |
1418 | 1422 |
1419 void RenderFrameHostImpl::OnDidChangeOpener(int32_t opener_routing_id) { | 1423 void RenderFrameHostImpl::OnDidChangeOpener(int32_t opener_routing_id) { |
1420 frame_tree_node_->render_manager()->DidChangeOpener(opener_routing_id, | 1424 frame_tree_node_->render_manager()->DidChangeOpener(opener_routing_id, |
1421 GetSiteInstance()); | 1425 GetSiteInstance()); |
1422 } | 1426 } |
1423 | 1427 |
1424 void RenderFrameHostImpl::OnDidChangeName(const std::string& name) { | 1428 void RenderFrameHostImpl::OnDidChangeName(const std::string& name, |
| 1429 const std::string& unique_name) { |
| 1430 if (GetParent() != nullptr) { |
| 1431 // TODO(lukasza): Call ReceivedBadMessage when |unique_name| is empty. |
| 1432 DCHECK(!unique_name.empty()); |
| 1433 } |
| 1434 |
1425 std::string old_name = frame_tree_node()->frame_name(); | 1435 std::string old_name = frame_tree_node()->frame_name(); |
1426 frame_tree_node()->SetFrameName(name); | 1436 frame_tree_node()->SetFrameName(name, unique_name); |
1427 if (old_name.empty() && !name.empty()) | 1437 if (old_name.empty() && !name.empty()) |
1428 frame_tree_node_->render_manager()->CreateProxiesForNewNamedFrame(); | 1438 frame_tree_node_->render_manager()->CreateProxiesForNewNamedFrame(); |
1429 delegate_->DidChangeName(this, name); | 1439 delegate_->DidChangeName(this, name); |
1430 } | 1440 } |
1431 | 1441 |
1432 void RenderFrameHostImpl::OnEnforceStrictMixedContentChecking() { | 1442 void RenderFrameHostImpl::OnEnforceStrictMixedContentChecking() { |
1433 frame_tree_node()->SetEnforceStrictMixedContentChecking(true); | 1443 frame_tree_node()->SetEnforceStrictMixedContentChecking(true); |
1434 } | 1444 } |
1435 | 1445 |
1436 void RenderFrameHostImpl::OnDidAssignPageId(int32_t page_id) { | 1446 void RenderFrameHostImpl::OnDidAssignPageId(int32_t page_id) { |
(...skipping 1132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2569 *dst = src; | 2579 *dst = src; |
2570 | 2580 |
2571 if (src.routing_id != -1) | 2581 if (src.routing_id != -1) |
2572 dst->tree_id = RoutingIDToAXTreeID(src.routing_id); | 2582 dst->tree_id = RoutingIDToAXTreeID(src.routing_id); |
2573 | 2583 |
2574 if (src.parent_routing_id != -1) | 2584 if (src.parent_routing_id != -1) |
2575 dst->parent_tree_id = RoutingIDToAXTreeID(src.parent_routing_id); | 2585 dst->parent_tree_id = RoutingIDToAXTreeID(src.parent_routing_id); |
2576 } | 2586 } |
2577 | 2587 |
2578 } // namespace content | 2588 } // namespace content |
OLD | NEW |