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_ |