frame_navigate_params.h revision 7dbb3d5cf0c15f500944d211057644d6a2f37371
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_PUBLIC_COMMON_FRAME_NAVIGATE_PARAMS_H_
6#define CONTENT_PUBLIC_COMMON_FRAME_NAVIGATE_PARAMS_H_
7
8#include <string>
9#include <vector>
10
11#include "content/common/content_export.h"
12#include "content/public/common/page_transition_types.h"
13#include "content/public/common/password_form.h"
14#include "content/public/common/referrer.h"
15#include "net/base/host_port_pair.h"
16#include "url/gurl.h"
17
18namespace content {
19
20// Struct used by WebContentsObserver.
21struct CONTENT_EXPORT FrameNavigateParams {
22  FrameNavigateParams();
23  ~FrameNavigateParams();
24
25  // Page ID of this navigation. The renderer creates a new unique page ID
26  // anytime a new session history entry is created. This means you'll get new
27  // page IDs for user actions, and the old page IDs will be reloaded when
28  // iframes are loaded automatically.
29  int32 page_id;
30
31  // URL of the page being loaded.
32  GURL url;
33
34  // The base URL for the page's document when the frame was committed. Empty if
35  // similar to 'url' above. Note that any base element in the page has not been
36  // parsed yet and is therefore not reflected.
37  // This is of interest when a MHTML file is loaded, as the base URL has been
38  // set to original URL of the site the MHTML represents.
39  GURL base_url;
40
41  // URL of the referrer of this load. WebKit generates this based on the
42  // source of the event that caused the load.
43  content::Referrer referrer;
44
45  // The type of transition.
46  PageTransition transition;
47
48  // Lists the redirects that occurred on the way to the current page. This
49  // vector has the same format as reported by the WebDataSource in the glue,
50  // with the current page being the last one in the list (so even when
51  // there's no redirect, there will be one entry in the list.
52  std::vector<GURL> redirects;
53
54  // Set to false if we want to update the session history but not update
55  // the browser history.  E.g., on unreachable urls.
56  bool should_update_history;
57
58  // See SearchableFormData for a description of these.
59  GURL searchable_form_url;
60  std::string searchable_form_encoding;
61
62  // See password_form.h.
63  content::PasswordForm password_form;
64
65  // Contents MIME type of main frame.
66  std::string contents_mime_type;
67
68  // Remote address of the socket which fetched this resource.
69  net::HostPortPair socket_address;
70};
71
72}  // namespace content
73
74#endif  // CONTENT_PUBLIC_COMMON_FRAME_NAVIGATE_PARAMS_H_
75