Home | History | Annotate | Download | only in common
      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 
     18 namespace content {
     19 
     20 // Struct used by WebContentsObserver.
     21 struct 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