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 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
822 logging::LogMessage("CONSOLE", line_no, resolved_level).stream() | 822 logging::LogMessage("CONSOLE", line_no, resolved_level).stream() |
823 << "\"" << message << "\", source: " << source_id << " (" << line_no | 823 << "\"" << message << "\", source: " << source_id << " (" << line_no |
824 << ")"; | 824 << ")"; |
825 } | 825 } |
826 } | 826 } |
827 | 827 |
828 void RenderFrameHostImpl::OnCreateChildFrame( | 828 void RenderFrameHostImpl::OnCreateChildFrame( |
829 int new_routing_id, | 829 int new_routing_id, |
830 blink::WebTreeScopeType scope, | 830 blink::WebTreeScopeType scope, |
831 const std::string& frame_name, | 831 const std::string& frame_name, |
| 832 const std::string& frame_unique_name, |
832 blink::WebSandboxFlags sandbox_flags, | 833 blink::WebSandboxFlags sandbox_flags, |
833 const blink::WebFrameOwnerProperties& frame_owner_properties) { | 834 const blink::WebFrameOwnerProperties& frame_owner_properties) { |
| 835 // TODO(lukasza): Call ReceivedBadMessage when |frame_unique_name| is empty. |
| 836 DCHECK(!frame_unique_name.empty()); |
| 837 |
834 // It is possible that while a new RenderFrameHost was committed, the | 838 // It is possible that while a new RenderFrameHost was committed, the |
835 // RenderFrame corresponding to this host sent an IPC message to create a | 839 // RenderFrame corresponding to this host sent an IPC message to create a |
836 // frame and it is delivered after this host is swapped out. | 840 // frame and it is delivered after this host is swapped out. |
837 // Ignore such messages, as we know this RenderFrameHost is going away. | 841 // Ignore such messages, as we know this RenderFrameHost is going away. |
838 if (rfh_state_ != RenderFrameHostImpl::STATE_DEFAULT || | 842 if (rfh_state_ != RenderFrameHostImpl::STATE_DEFAULT || |
839 frame_tree_node_->current_frame_host() != this) | 843 frame_tree_node_->current_frame_host() != this) |
840 return; | 844 return; |
841 | 845 |
842 frame_tree_->AddFrame(frame_tree_node_, GetProcess()->GetID(), new_routing_id, | 846 frame_tree_->AddFrame(frame_tree_node_, GetProcess()->GetID(), new_routing_id, |
843 scope, frame_name, sandbox_flags, | 847 scope, frame_name, frame_unique_name, sandbox_flags, |
844 frame_owner_properties); | 848 frame_owner_properties); |
845 } | 849 } |
846 | 850 |
847 void RenderFrameHostImpl::OnDetach() { | 851 void RenderFrameHostImpl::OnDetach() { |
848 frame_tree_->RemoveFrame(frame_tree_node_); | 852 frame_tree_->RemoveFrame(frame_tree_node_); |
849 } | 853 } |
850 | 854 |
851 void RenderFrameHostImpl::OnFrameFocused() { | 855 void RenderFrameHostImpl::OnFrameFocused() { |
852 frame_tree_->SetFocusedFrame(frame_tree_node_, GetSiteInstance()); | 856 frame_tree_->SetFocusedFrame(frame_tree_node_, GetSiteInstance()); |
853 } | 857 } |
(...skipping 560 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 1140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2577 *dst = src; | 2587 *dst = src; |
2578 | 2588 |
2579 if (src.routing_id != -1) | 2589 if (src.routing_id != -1) |
2580 dst->tree_id = RoutingIDToAXTreeID(src.routing_id); | 2590 dst->tree_id = RoutingIDToAXTreeID(src.routing_id); |
2581 | 2591 |
2582 if (src.parent_routing_id != -1) | 2592 if (src.parent_routing_id != -1) |
2583 dst->parent_tree_id = RoutingIDToAXTreeID(src.parent_routing_id); | 2593 dst->parent_tree_id = RoutingIDToAXTreeID(src.parent_routing_id); |
2584 } | 2594 } |
2585 | 2595 |
2586 } // namespace content | 2596 } // namespace content |
OLD | NEW |