| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CONTENT_COMMON_NAVIGATION_PARAMS_H_ | 5 #ifndef CONTENT_COMMON_NAVIGATION_PARAMS_H_ |
| 6 #define CONTENT_COMMON_NAVIGATION_PARAMS_H_ | 6 #define CONTENT_COMMON_NAVIGATION_PARAMS_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 // Whether or not the CSP of the main world should apply. When the navigation | 149 // Whether or not the CSP of the main world should apply. When the navigation |
| 150 // is initiated from a content script in an isolated world, the CSP defined | 150 // is initiated from a content script in an isolated world, the CSP defined |
| 151 // in the main world should not apply. | 151 // in the main world should not apply. |
| 152 // TODO(arthursonzogni): Instead of this boolean, the origin of the isolated | 152 // TODO(arthursonzogni): Instead of this boolean, the origin of the isolated |
| 153 // world which has initiated the navigation should be passed. | 153 // world which has initiated the navigation should be passed. |
| 154 // See https://crbug.com/702540 | 154 // See https://crbug.com/702540 |
| 155 CSPDisposition should_check_main_world_csp; | 155 CSPDisposition should_check_main_world_csp; |
| 156 }; | 156 }; |
| 157 | 157 |
| 158 // Provided by the renderer ---------------------------------------------------- | 158 // Provided by the renderer ---------------------------------------------------- |
| 159 // | 159 |
| 160 const int kInvalidRenderNavigationId = -1; |
| 161 |
| 160 // This struct holds parameters sent by the renderer to the browser. It is only | 162 // This struct holds parameters sent by the renderer to the browser. It is only |
| 161 // used in PlzNavigate (since in the current architecture, the renderer does not | 163 // used in PlzNavigate (since in the current architecture, the renderer does not |
| 162 // inform the browser of navigations until they commit). | 164 // inform the browser of navigations until they commit). |
| 163 | 165 |
| 164 // This struct is not used outside of the PlzNavigate project. | 166 // This struct is not used outside of the PlzNavigate project. |
| 165 // PlzNavigate: parameters needed to start a navigation on the IO thread, | 167 // PlzNavigate: parameters needed to start a navigation on the IO thread, |
| 166 // following a renderer-initiated navigation request. | 168 // following a renderer-initiated navigation request. |
| 167 struct CONTENT_EXPORT BeginNavigationParams { | 169 struct CONTENT_EXPORT BeginNavigationParams { |
| 168 // TODO(clamy): See if it is possible to reuse this in | 170 // TODO(clamy): See if it is possible to reuse this in |
| 169 // ResourceMsg_Request_Params. | 171 // ResourceMsg_Request_Params. |
| 170 BeginNavigationParams(); | 172 BeginNavigationParams(); |
| 171 BeginNavigationParams( | 173 BeginNavigationParams( |
| 172 std::string headers, | 174 std::string headers, |
| 173 int load_flags, | 175 int load_flags, |
| 174 bool has_user_gesture, | 176 bool has_user_gesture, |
| 175 bool skip_service_worker, | 177 bool skip_service_worker, |
| 176 RequestContextType request_context_type, | 178 RequestContextType request_context_type, |
| 177 blink::WebMixedContentContextType mixed_content_context_type, | 179 blink::WebMixedContentContextType mixed_content_context_type, |
| 178 const base::Optional<url::Origin>& initiator_origin); | 180 const base::Optional<url::Origin>& initiator_origin, |
| 181 int renderer_navigation_id); |
| 179 BeginNavigationParams(const BeginNavigationParams& other); | 182 BeginNavigationParams(const BeginNavigationParams& other); |
| 180 ~BeginNavigationParams(); | 183 ~BeginNavigationParams(); |
| 181 | 184 |
| 182 // Additional HTTP request headers. | 185 // Additional HTTP request headers. |
| 183 std::string headers; | 186 std::string headers; |
| 184 | 187 |
| 185 // net::URLRequest load flags (net::LOAD_NORMAL) by default). | 188 // net::URLRequest load flags (net::LOAD_NORMAL) by default). |
| 186 int load_flags; | 189 int load_flags; |
| 187 | 190 |
| 188 // True if the request was user initiated. | 191 // True if the request was user initiated. |
| (...skipping 13 matching lines...) Expand all Loading... |
| 202 std::string searchable_form_encoding; | 205 std::string searchable_form_encoding; |
| 203 | 206 |
| 204 // Indicates the initiator of the request. In auxilliary navigations, this is | 207 // Indicates the initiator of the request. In auxilliary navigations, this is |
| 205 // the origin of the document that triggered the navigation. This parameter | 208 // the origin of the document that triggered the navigation. This parameter |
| 206 // can be null during browser-initiated navigations. | 209 // can be null during browser-initiated navigations. |
| 207 base::Optional<url::Origin> initiator_origin; | 210 base::Optional<url::Origin> initiator_origin; |
| 208 | 211 |
| 209 // If the transition type is a client side redirect, then this holds the URL | 212 // If the transition type is a client side redirect, then this holds the URL |
| 210 // of the page that had the client side redirect. | 213 // of the page that had the client side redirect. |
| 211 GURL client_side_redirect_url; | 214 GURL client_side_redirect_url; |
| 215 |
| 216 // ID provided by the renderer to identify this navigation. It will be sent |
| 217 // back to the renderer if the browser decides to drop the navigation. |
| 218 // kInvalidRenderNavigationId means that this navigation wasn't initiated by |
| 219 // the renderer process through the BeginNavigation IPC. |
| 220 int renderer_navigation_id; |
| 212 }; | 221 }; |
| 213 | 222 |
| 214 // Provided by the browser ----------------------------------------------------- | 223 // Provided by the browser ----------------------------------------------------- |
| 215 // | 224 // |
| 216 // These structs are sent by the browser to the renderer to start/commit a | 225 // These structs are sent by the browser to the renderer to start/commit a |
| 217 // navigation depending on whether browser-side navigation is enabled. | 226 // navigation depending on whether browser-side navigation is enabled. |
| 218 // Parameters used both in the current architecture and PlzNavigate should be | 227 // Parameters used both in the current architecture and PlzNavigate should be |
| 219 // put in RequestNavigationParams. Parameters only used by the current | 228 // put in RequestNavigationParams. Parameters only used by the current |
| 220 // architecture should go in StartNavigationParams. | 229 // architecture should go in StartNavigationParams. |
| 221 | 230 |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 ~NavigationParams(); | 407 ~NavigationParams(); |
| 399 | 408 |
| 400 CommonNavigationParams common_params; | 409 CommonNavigationParams common_params; |
| 401 StartNavigationParams start_params; | 410 StartNavigationParams start_params; |
| 402 RequestNavigationParams request_params; | 411 RequestNavigationParams request_params; |
| 403 }; | 412 }; |
| 404 | 413 |
| 405 } // namespace content | 414 } // namespace content |
| 406 | 415 |
| 407 #endif // CONTENT_COMMON_NAVIGATION_PARAMS_H_ | 416 #endif // CONTENT_COMMON_NAVIGATION_PARAMS_H_ |
| OLD | NEW |