| Index: content/common/navigation_params.h
|
| diff --git a/content/common/navigation_params.h b/content/common/navigation_params.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d30d382322dd815a452538c3157ac0bb1813265e
|
| --- /dev/null
|
| +++ b/content/common/navigation_params.h
|
| @@ -0,0 +1,104 @@
|
| +// 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_COMMON_NAVIGATION_PARAMS_H_
|
| +#define CONTENT_COMMON_NAVIGATION_PARAMS_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/basictypes.h"
|
| +#include "base/time/time.h"
|
| +#include "content/common/content_export.h"
|
| +#include "content/common/frame_message_enums.h"
|
| +#include "content/public/common/page_state.h"
|
| +#include "content/public/common/referrer.h"
|
| +#include "ui/base/page_transition_types.h"
|
| +#include "url/gurl.h"
|
| +
|
| +namespace base {
|
| +class RefCountedMemory;
|
| +}
|
| +
|
| +namespace content {
|
| +class NavigationEntry;
|
| +
|
| +// The following structures hold parameters used during a navigation. In
|
| +// particular they are used by FrameMsg_Navigate, FrameMsg_CommitNavigation and
|
| +// FrameHostMsg_BeginNavigation.
|
| +// TODO(clamy): Depending on the avancement of the history refactoring move the
|
| +// history parameters from FrameMsg_Navigate into one of the structs.
|
| +
|
| +// Used by all navigation IPCs.
|
| +struct CONTENT_EXPORT CommonNavigationParams {
|
| + CommonNavigationParams();
|
| + CommonNavigationParams(const GURL& url,
|
| + const Referrer& referrer,
|
| + ui::PageTransition transition,
|
| + FrameMsg_Navigate_Type::Value navigation_type,
|
| + bool allow_download);
|
| + ~CommonNavigationParams();
|
| +
|
| + // The URL to navigate to.
|
| + // PlzNavigate: May be modified when the navigation is ready to commit.
|
| + GURL url;
|
| +
|
| + // The URL to send in the "Referer" header field. Can be empty if there is
|
| + // no referrer.
|
| + Referrer referrer;
|
| +
|
| + // The type of transition.
|
| + ui::PageTransition transition;
|
| +
|
| + // Type of navigation.
|
| + FrameMsg_Navigate_Type::Value navigation_type;
|
| +
|
| + // Allows the URL to be downloaded (true by default).
|
| + // Avoid downloading when in view-source mode.
|
| + bool allow_download;
|
| +};
|
| +
|
| +// Used by FrameMsg_Navigate.
|
| +// PlzNavigate: sent to the renderer when requesting a navigation.
|
| +struct CONTENT_EXPORT RequestNavigationParams {
|
| + RequestNavigationParams();
|
| + RequestNavigationParams(bool is_post,
|
| + const std::string& extra_headers,
|
| + const base::RefCountedMemory* post_data);
|
| + ~RequestNavigationParams();
|
| +
|
| + // Whether the navigation is a POST request (as opposed to a GET).
|
| + bool is_post;
|
| +
|
| + // Extra headers (separated by \n) to send during the request.
|
| + std::string extra_headers;
|
| +
|
| + // If is_post is true, holds the post_data information from browser. Empty
|
| + // otherwise.
|
| + std::vector<unsigned char> browser_initiated_post_data;
|
| +};
|
| +
|
| +// Used by FrameMsg_Navigate.
|
| +// PlzNavigate: sent to the renderer when the navigation is ready to commit.
|
| +struct CONTENT_EXPORT CommitNavigationParams {
|
| + CommitNavigationParams();
|
| + CommitNavigationParams(const PageState& page_state,
|
| + bool is_overriding_user_agent,
|
| + base::TimeTicks navigation_start);
|
| + ~CommitNavigationParams();
|
| +
|
| + // Opaque history state (received by ViewHostMsg_UpdateState).
|
| + PageState page_state;
|
| +
|
| + // Whether or not the user agent override string should be used.
|
| + bool is_overriding_user_agent;
|
| +
|
| + // The navigationStart time to expose through the Navigation Timing API to JS.
|
| + base::TimeTicks browser_navigation_start;
|
| +
|
| + // TODO(clamy): Move the redirect chain here.
|
| +};
|
| +
|
| +} // namespace content
|
| +
|
| +#endif // CONTENT_COMMON_NAVIGATION_PARAMS_H_
|
|
|