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.
5 #ifndef CONTENT_PUBLIC_COMMON_FRAME_NAVIGATE_PARAMS_H_
6 #define CONTENT_PUBLIC_COMMON_FRAME_NAVIGATE_PARAMS_H_
11 #include "content/common/content_export.h"
12 #include "content/public/common/page_transition_types.h"
13 #include "content/public/common/referrer.h"
14 #include "googleurl/src/gurl.h"
15 #include "net/base/host_port_pair.h"
16 #include "webkit/forms/password_form.h"
20 // Struct used by WebContentsObserver.
21 struct CONTENT_EXPORT FrameNavigateParams
{
22 FrameNavigateParams();
23 ~FrameNavigateParams();
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.
31 // URL of the page being loaded.
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.
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
;
45 // The type of transition.
46 PageTransition transition
;
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
;
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
;
58 // See SearchableFormData for a description of these.
59 GURL searchable_form_url
;
60 std::string searchable_form_encoding
;
62 // See password_form.h.
63 webkit::forms::PasswordForm password_form
;
65 // Contents MIME type of main frame.
66 std::string contents_mime_type
;
68 // Remote address of the socket which fetched this resource.
69 net::HostPortPair socket_address
;
72 } // namespace content
74 #endif // CONTENT_PUBLIC_COMMON_FRAME_NAVIGATE_PARAMS_H_