| 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/frame_tree_node.h" | 5 #include "content/browser/frame_host/frame_tree_node.h" |
| 6 | 6 |
| 7 #include <queue> | 7 #include <queue> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 : frame_tree_(frame_tree), | 28 : frame_tree_(frame_tree), |
| 29 navigator_(navigator), | 29 navigator_(navigator), |
| 30 render_manager_(this, | 30 render_manager_(this, |
| 31 render_frame_delegate, | 31 render_frame_delegate, |
| 32 render_view_delegate, | 32 render_view_delegate, |
| 33 render_widget_delegate, | 33 render_widget_delegate, |
| 34 manager_delegate), | 34 manager_delegate), |
| 35 frame_tree_node_id_(next_frame_tree_node_id_++), | 35 frame_tree_node_id_(next_frame_tree_node_id_++), |
| 36 parent_(NULL), | 36 parent_(NULL), |
| 37 replication_state_(name), | 37 replication_state_(name), |
| 38 effective_sandbox_flags_(SandboxFlags::NONE) { | 38 effective_sandbox_flags_(SandboxFlags::NONE), |
| 39 is_loading_(false) { |
| 39 } | 40 } |
| 40 | 41 |
| 41 FrameTreeNode::~FrameTreeNode() { | 42 FrameTreeNode::~FrameTreeNode() { |
| 42 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 43 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 43 switches::kEnableBrowserSideNavigation)) { | 44 switches::kEnableBrowserSideNavigation)) { |
| 44 navigator_->CancelNavigation(this); | 45 navigator_->CancelNavigation(this); |
| 45 } | 46 } |
| 46 } | 47 } |
| 47 | 48 |
| 48 bool FrameTreeNode::IsMainFrame() const { | 49 bool FrameTreeNode::IsMainFrame() const { |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 return false; | 109 return false; |
| 109 | 110 |
| 110 for (FrameTreeNode* node = parent(); node; node = node->parent()) { | 111 for (FrameTreeNode* node = parent(); node; node = node->parent()) { |
| 111 if (node == other) | 112 if (node == other) |
| 112 return true; | 113 return true; |
| 113 } | 114 } |
| 114 | 115 |
| 115 return false; | 116 return false; |
| 116 } | 117 } |
| 117 | 118 |
| 118 bool FrameTreeNode::IsLoading() const { | |
| 119 RenderFrameHostImpl* current_frame_host = | |
| 120 render_manager_.current_frame_host(); | |
| 121 RenderFrameHostImpl* pending_frame_host = | |
| 122 render_manager_.pending_frame_host(); | |
| 123 | |
| 124 DCHECK(current_frame_host); | |
| 125 // TODO(fdegans): Change the implementation logic for PlzNavigate once | |
| 126 // DidStartLoading and DidStopLoading are properly called. | |
| 127 if (pending_frame_host && pending_frame_host->is_loading()) | |
| 128 return true; | |
| 129 return current_frame_host->is_loading(); | |
| 130 } | |
| 131 | |
| 132 double FrameTreeNode::GetLoadingProgress() const { | |
| 133 RenderFrameHostImpl* current_frame_host = | |
| 134 render_manager_.current_frame_host(); | |
| 135 | |
| 136 DCHECK(current_frame_host); | |
| 137 return current_frame_host->loading_progress(); | |
| 138 } | |
| 139 | |
| 140 bool FrameTreeNode::CommitPendingSandboxFlags() { | 119 bool FrameTreeNode::CommitPendingSandboxFlags() { |
| 141 bool did_change_flags = | 120 bool did_change_flags = |
| 142 effective_sandbox_flags_ != replication_state_.sandbox_flags; | 121 effective_sandbox_flags_ != replication_state_.sandbox_flags; |
| 143 effective_sandbox_flags_ = replication_state_.sandbox_flags; | 122 effective_sandbox_flags_ = replication_state_.sandbox_flags; |
| 144 return did_change_flags; | 123 return did_change_flags; |
| 145 } | 124 } |
| 146 | 125 |
| 147 } // namespace content | 126 } // namespace content |
| OLD | NEW |