Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(490)

Unified Diff: content/browser/frame_host/render_frame_host_impl.h

Issue 989473003: Reland of Refactor the loading tracking logic in WebContentsImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert change + nits Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/frame_host/frame_tree_node.cc ('k') | content/browser/frame_host/render_frame_host_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/frame_host/render_frame_host_impl.h
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h
index dc6c42b32025bddf8ee3381cf759aece36aab3e3..764c6bedc0ac6e00868165833ce77bf85ce9d693 100644
--- a/content/browser/frame_host/render_frame_host_impl.h
+++ b/content/browser/frame_host/render_frame_host_impl.h
@@ -95,6 +95,15 @@ class CONTENT_EXPORT RenderFrameHostImpl
: public RenderFrameHost,
public BrowserAccessibilityDelegate {
public:
+ // These values indicate the loading progress status. The minimum progress
+ // value matches what Blink's ProgressTracker has traditionally used for a
+ // minimum progress value.
+ // TODO(fdegans): Move these values to the implementation when the relevant
+ // IPCs are moved from WebContentsImpl to RenderFrameHost.
+ static const double kLoadingProgressNotStarted;
+ static const double kLoadingProgressMinimum;
+ static const double kLoadingProgressDone;
+
// Keeps track of the state of the RenderFrameHostImpl, particularly with
// respect to swap out.
enum RenderFrameHostImplState {
@@ -204,6 +213,26 @@ class CONTENT_EXPORT RenderFrameHostImpl
RenderFrameHostDelegate* delegate() { return delegate_; }
FrameTreeNode* frame_tree_node() { return frame_tree_node_; }
+ // Sets this RenderFrameHost's loading state.
+ void set_is_loading(bool is_loading) {
+ is_loading_ = is_loading;
+ }
+
+ // Returns this RenderFrameHost's loading state. This method is only used by
+ // FrameTreeNode. The proper way to check whether a frame is loading is to
+ // call FrameTreeNode::IsLoading.
+ bool is_loading() const { return is_loading_; }
+
+ // Sets this RenderFrameHost's loading progress (from 0 to 1).
+ void set_loading_progress(double loading_progress) {
+ loading_progress_ = loading_progress;
+ }
+
+ // Returns this RenderFrameHost's loading progress. This is only used by
+ // FrameTreeNode. The proper way to check a frame loading progress is to call
+ // FrameTreeNode::GetLoadingProgress.
+ double loading_progress() const { return loading_progress_; }
+
// This returns the RenderFrameHost's owned RenderWidgetHost if it has one,
// or else it returns nullptr.
// If the RenderFrameHost is the page's main frame, this returns instead a
@@ -668,6 +697,13 @@ class CONTENT_EXPORT RenderFrameHostImpl
// PlzNavigate: all navigations require a beforeUnload ACK.
bool unload_ack_is_for_navigation_;
+ // Indicates whether this RenderFrameHost is in the process of loading a
+ // document or not.
+ bool is_loading_;
+
+ // Used to track this RenderFrameHost's loading progress (from 0 to 1).
+ double loading_progress_;
+
// Used to swap out or shut down this RFH when the unload event is taking too
// long to execute, depending on the number of active frames in the
// SiteInstance.
« no previous file with comments | « content/browser/frame_host/frame_tree_node.cc ('k') | content/browser/frame_host/render_frame_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698