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) { | |
40 } | 39 } |
41 | 40 |
42 FrameTreeNode::~FrameTreeNode() { | 41 FrameTreeNode::~FrameTreeNode() { |
43 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 42 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
44 switches::kEnableBrowserSideNavigation)) { | 43 switches::kEnableBrowserSideNavigation)) { |
45 navigator_->CancelNavigation(this); | 44 navigator_->CancelNavigation(this); |
46 } | 45 } |
47 } | 46 } |
48 | 47 |
49 bool FrameTreeNode::IsMainFrame() const { | 48 bool FrameTreeNode::IsMainFrame() const { |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 return false; | 108 return false; |
110 | 109 |
111 for (FrameTreeNode* node = parent(); node; node = node->parent()) { | 110 for (FrameTreeNode* node = parent(); node; node = node->parent()) { |
112 if (node == other) | 111 if (node == other) |
113 return true; | 112 return true; |
114 } | 113 } |
115 | 114 |
116 return false; | 115 return false; |
117 } | 116 } |
118 | 117 |
| 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 |
119 bool FrameTreeNode::CommitPendingSandboxFlags() { | 140 bool FrameTreeNode::CommitPendingSandboxFlags() { |
120 bool did_change_flags = | 141 bool did_change_flags = |
121 effective_sandbox_flags_ != replication_state_.sandbox_flags; | 142 effective_sandbox_flags_ != replication_state_.sandbox_flags; |
122 effective_sandbox_flags_ = replication_state_.sandbox_flags; | 143 effective_sandbox_flags_ = replication_state_.sandbox_flags; |
123 return did_change_flags; | 144 return did_change_flags; |
124 } | 145 } |
125 | 146 |
126 } // namespace content | 147 } // namespace content |
OLD | NEW |