OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_BROWSER_TAB_CONTENTS_NAVIGATION_CONTROLLER_H_ | 5 #ifndef CONTENT_BROWSER_TAB_CONTENTS_NAVIGATION_CONTROLLER_H_ |
6 #define CONTENT_BROWSER_TAB_CONTENTS_NAVIGATION_CONTROLLER_H_ | 6 #define CONTENT_BROWSER_TAB_CONTENTS_NAVIGATION_CONTROLLER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "build/build_config.h" | 9 #include "build/build_config.h" |
10 | 10 |
11 #include <string> | 11 #include <string> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/memory/linked_ptr.h" | 14 #include "base/memory/linked_ptr.h" |
15 #include "base/time.h" | 15 #include "base/time.h" |
16 #include "googleurl/src/gurl.h" | 16 #include "googleurl/src/gurl.h" |
| 17 #include "content/browser/renderer_host/global_request_id.h" |
17 #include "content/browser/ssl/ssl_manager.h" | 18 #include "content/browser/ssl/ssl_manager.h" |
18 #include "content/common/content_export.h" | 19 #include "content/common/content_export.h" |
19 #include "content/public/browser/navigation_type.h" | 20 #include "content/public/browser/navigation_type.h" |
20 #include "content/public/common/page_transition_types.h" | 21 #include "content/public/common/page_transition_types.h" |
21 | 22 |
22 class NavigationEntry; | 23 class NavigationEntry; |
23 class SessionStorageNamespace; | 24 class SessionStorageNamespace; |
24 class SiteInstance; | 25 class SiteInstance; |
25 class TabContents; | 26 class TabContents; |
26 struct ViewHostMsg_FrameNavigate_Params; | 27 struct ViewHostMsg_FrameNavigate_Params; |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 content::PageTransition type, | 181 content::PageTransition type, |
181 const std::string& extra_headers); | 182 const std::string& extra_headers); |
182 | 183 |
183 // Same as LoadURL, but for renderer-initiated navigations. This state is | 184 // Same as LoadURL, but for renderer-initiated navigations. This state is |
184 // important for tracking whether to display pending URLs. | 185 // important for tracking whether to display pending URLs. |
185 void LoadURLFromRenderer(const GURL& url, | 186 void LoadURLFromRenderer(const GURL& url, |
186 const GURL& referrer, | 187 const GURL& referrer, |
187 content::PageTransition type, | 188 content::PageTransition type, |
188 const std::string& extra_headers); | 189 const std::string& extra_headers); |
189 | 190 |
| 191 // Behaves like LoadURL() and LoadURLFromRenderer() but marks the new |
| 192 // navigation as being transferred from one RVH to another. In this case the |
| 193 // browser can recycle the old request once the new renderer wants to |
| 194 // navigate. |
| 195 // |transferred_global_request_id| identifies the request ID of the old |
| 196 // request. |
| 197 void TransferURL( |
| 198 const GURL& url, |
| 199 const GURL& referrer, |
| 200 content::PageTransition transition, |
| 201 const std::string& extra_headers, |
| 202 const GlobalRequestID& transferred_global_request_id, |
| 203 bool is_renderer_initiated); |
| 204 |
190 // Loads the current page if this NavigationController was restored from | 205 // Loads the current page if this NavigationController was restored from |
191 // history and the current page has not loaded yet. | 206 // history and the current page has not loaded yet. |
192 void LoadIfNecessary(); | 207 void LoadIfNecessary(); |
193 | 208 |
194 // Renavigation -------------------------------------------------------------- | 209 // Renavigation -------------------------------------------------------------- |
195 | 210 |
196 // Navigation relative to the "current entry" | 211 // Navigation relative to the "current entry" |
197 bool CanGoBack() const; | 212 bool CanGoBack() const; |
198 bool CanGoForward() const; | 213 bool CanGoForward() const; |
199 void GoBack(); | 214 void GoBack(); |
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
487 static size_t max_entry_count_; | 502 static size_t max_entry_count_; |
488 | 503 |
489 // If a repost is pending, its type (RELOAD or RELOAD_IGNORING_CACHE), | 504 // If a repost is pending, its type (RELOAD or RELOAD_IGNORING_CACHE), |
490 // NO_RELOAD otherwise. | 505 // NO_RELOAD otherwise. |
491 ReloadType pending_reload_; | 506 ReloadType pending_reload_; |
492 | 507 |
493 DISALLOW_COPY_AND_ASSIGN(NavigationController); | 508 DISALLOW_COPY_AND_ASSIGN(NavigationController); |
494 }; | 509 }; |
495 | 510 |
496 #endif // CONTENT_BROWSER_TAB_CONTENTS_NAVIGATION_CONTROLLER_H_ | 511 #endif // CONTENT_BROWSER_TAB_CONTENTS_NAVIGATION_CONTROLLER_H_ |
OLD | NEW |