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