Chromium Code Reviews| Index: content/browser/frame_host/navigation_parameters.h |
| diff --git a/content/browser/frame_host/navigation_parameters.h b/content/browser/frame_host/navigation_parameters.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..91fb610115d9ee6f808c3b7651383a5faa83de74 |
| --- /dev/null |
| +++ b/content/browser/frame_host/navigation_parameters.h |
| @@ -0,0 +1,111 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CONTENT_BROWSER_FRAME_HOST_NAVIGATION_PARAMETERS_H_ |
| +#define CONTENT_BROWSER_FRAME_HOST_NAVIGATION_PARAMETERS_H_ |
| + |
| +#include <string> |
| + |
| +#include "base/basictypes.h" |
| +#include "base/time/time.h" |
| +#include "content/common/frame_message_enums.h" |
| +#include "content/public/common/page_state.h" |
| +#include "content/public/common/page_transition_types.h" |
| +#include "content/public/common/referrer.h" |
| +#include "url/gurl.h" |
| +struct FrameHostMsg_BeginNavigation_Params; |
| +struct FrameMsg_CommitNavigation_Params; |
| + |
| +namespace content { |
| +class NavigationControllerImpl; |
| +class NavigationEntryImpl; |
| +struct NavigationBeforeCommitInfo; |
| + |
| +// PlzNavigate |
| +// This class holds parameters for a Navigation. It is first created when the |
|
(Do not use) nasko
2014/09/05 17:04:48
nit: "navigation", no need to uppercase.
|
| +// the navigation is requested, then updated when the navigation begins and when |
|
(Do not use) nasko
2014/09/05 17:04:48
In the case of renderer initiated, there will be n
|
| +// the navigation is ready to commit. |
| +class NavigationParameters { |
|
clamy
2014/09/03 22:23:44
Disclaimer: if you have a great name for that clas
(Do not use) nasko
2014/09/05 17:04:48
I don't have anything greater than what you've alr
|
| + public: |
| + NavigationParameters(const NavigationEntryImpl& entry, |
| + NavigationControllerImpl* controller, |
| + base::TimeTicks navigation_start, |
| + FrameMsg_Navigate_Type::Value navigation_type); |
| + ~NavigationParameters(); |
| + |
| + bool allow_download() const { return allow_download_; } |
| + FrameMsg_Navigate_Type::Value navigation_type_for_testing() const { |
| + return navigation_type_; |
| + } |
| + |
| + void UpdateFromBeginNavigationParams( |
|
(Do not use) nasko
2014/09/05 17:04:48
nit: I'd drop the "Params" part of the name, it is
|
| + const FrameHostMsg_BeginNavigation_Params& begin_navigation_params); |
| + void UpdateFromCommitInfo(const NavigationBeforeCommitInfo& commit_info); |
| + |
| + // Simulates the response from the renderer when there is no live renderer. |
| + FrameHostMsg_BeginNavigation_Params SimulateRendererResponse() const; |
|
(Do not use) nasko
2014/09/05 17:04:48
Is this intended for tests? Or temporary? It shoul
|
| + |
| + FrameMsg_CommitNavigation_Params MakeCommitNavigationParams() const; |
| + |
| + private: |
| + // The URL to navigate to. May be modified when th enavigation is ready to |
|
(Do not use) nasko
2014/09/05 17:04:48
"the navigation"
|
| + // commit. |
| + GURL url_; |
| + |
| + // The URL to request to the browser to get access to the stream of data. |
|
(Do not use) nasko
2014/09/05 17:04:48
nit: "The URL the renderer should request from the
|
| + GURL stream_url_; |
| + |
| + bool is_post_; |
|
(Do not use) nasko
2014/09/05 17:04:48
comment?
|
| + |
| + // The page_id for this navigation, or -1 if it is a new navigation. Back, |
| + // Forward, and Reload navigations should have a valid page_id. If the load |
| + // succeeds, then this page_id will be reflected in the resultant |
| + // FrameHostMsg_DidCommitProvisionalLoad message. |
| + int32 page_id_; |
| + |
| + // Informs the RenderView the session history should be cleared. In that |
|
(Do not use) nasko
2014/09/05 17:04:48
nit: Let's start using RenderFrame in all new code
|
| + // case, the RenderView needs to notify the browser that the clearing was |
| + // succesful when the navigation commits. |
| + bool should_clear_history_list_; |
| + |
| + // If page_id is -1, then pending_history_list_offset will also be -1. |
| + // Otherwise, it contains the offset into the history list corresponding to |
| + // the current navigation. |
| + int pending_history_list_offset_; |
| + |
| + // Used to inform the RenderView of where its current page contents reside in |
| + // session history and the total size of the session history list. |
| + int current_history_list_offset_; |
| + int current_history_list_length_; |
| + |
| + // The URL to send in the "Referer" header field. Can be empty if there is |
| + // no referrer. |
| + Referrer referrer_; |
| + |
| + // The type of transition. |
| + PageTransition transition_; |
| + |
| + // Opaque history state (received by ViewHostMsg_UpdateState). |
| + PageState page_state_; |
| + |
| + // Type of navigation. |
| + FrameMsg_Navigate_Type::Value navigation_type_; |
| + |
| + // Whether or not the user agent override string should be used. |
| + bool is_overriding_user_agent_; |
| + |
| + // Whether this navigation should replace the current session history entry on |
| + // commit. |
| + bool should_replace_current_entry_; |
| + |
| + // Whether or not we should allow the URL to download. |
| + bool allow_download_; |
| + |
| + // The navigationStart time to expose through the Navigation Timing API to JS. |
| + base::TimeTicks browser_navigation_start_; |
|
(Do not use) nasko
2014/09/05 17:04:48
This is mostly a copy of FrameMsg_Navigate_Params.
clamy
2014/09/05 18:21:25
So if we split up the IPCs in having some sort of
|
| +}; |
| + |
| +} // namespace content |
| + |
| +#endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATION_PARAMETERS_H_ |