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/ssl/ssl_manager.h" | 17 #include "content/browser/ssl/ssl_manager.h" |
18 #include "content/common/content_export.h" | 18 #include "content/common/content_export.h" |
19 #include "content/common/navigation_types.h" | 19 #include "content/common/navigation_types.h" |
20 #include "content/common/page_transition_types.h" | 20 #include "content/public/common/page_transition_types.h" |
21 | 21 |
22 class NavigationEntry; | 22 class NavigationEntry; |
23 class SessionStorageNamespace; | 23 class SessionStorageNamespace; |
24 class SiteInstance; | 24 class SiteInstance; |
25 class TabContents; | 25 class TabContents; |
26 struct ViewHostMsg_FrameNavigate_Params; | 26 struct ViewHostMsg_FrameNavigate_Params; |
27 | 27 |
28 namespace content { | 28 namespace content { |
29 class BrowserContext; | 29 class BrowserContext; |
30 struct LoadCommittedDetails; | 30 struct LoadCommittedDetails; |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 // Returns the transient entry if any. Note that the returned entry is owned | 170 // Returns the transient entry if any. Note that the returned entry is owned |
171 // by the navigation controller and may be deleted at any time. | 171 // by the navigation controller and may be deleted at any time. |
172 NavigationEntry* GetTransientEntry() const; | 172 NavigationEntry* GetTransientEntry() const; |
173 | 173 |
174 // New navigations ----------------------------------------------------------- | 174 // New navigations ----------------------------------------------------------- |
175 | 175 |
176 // Loads the specified URL, specifying extra http headers to add to the | 176 // Loads the specified URL, specifying extra http headers to add to the |
177 // request. Extra headers are separated by \n. | 177 // request. Extra headers are separated by \n. |
178 void LoadURL(const GURL& url, | 178 void LoadURL(const GURL& url, |
179 const GURL& referrer, | 179 const GURL& referrer, |
180 PageTransition::Type type, | 180 content::PageTransition type, |
181 const std::string& extra_headers); | 181 const std::string& extra_headers); |
182 | 182 |
183 // Loads the current page if this NavigationController was restored from | 183 // Loads the current page if this NavigationController was restored from |
184 // history and the current page has not loaded yet. | 184 // history and the current page has not loaded yet. |
185 void LoadIfNecessary(); | 185 void LoadIfNecessary(); |
186 | 186 |
187 // Renavigation -------------------------------------------------------------- | 187 // Renavigation -------------------------------------------------------------- |
188 | 188 |
189 // Navigation relative to the "current entry" | 189 // Navigation relative to the "current entry" |
190 bool CanGoBack() const; | 190 bool CanGoBack() const; |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 | 323 |
324 // Returns true if we are navigating to the URL the tab is opened with. | 324 // Returns true if we are navigating to the URL the tab is opened with. |
325 bool IsInitialNavigation(); | 325 bool IsInitialNavigation(); |
326 | 326 |
327 // Creates navigation entry and translates the virtual url to a real one. | 327 // Creates navigation entry and translates the virtual url to a real one. |
328 // Used when navigating to a new URL using LoadURL. Extra headers are | 328 // Used when navigating to a new URL using LoadURL. Extra headers are |
329 // separated by \n. | 329 // separated by \n. |
330 static NavigationEntry* CreateNavigationEntry( | 330 static NavigationEntry* CreateNavigationEntry( |
331 const GURL& url, | 331 const GURL& url, |
332 const GURL& referrer, | 332 const GURL& referrer, |
333 PageTransition::Type transition, | 333 content::PageTransition transition, |
334 const std::string& extra_headers, | 334 const std::string& extra_headers, |
335 content::BrowserContext* browser_context); | 335 content::BrowserContext* browser_context); |
336 | 336 |
337 private: | 337 private: |
338 class RestoreHelper; | 338 class RestoreHelper; |
339 friend class RestoreHelper; | 339 friend class RestoreHelper; |
340 friend class TabContents; // For invoking OnReservedPageIDRange. | 340 friend class TabContents; // For invoking OnReservedPageIDRange. |
341 | 341 |
342 // Classifies the given renderer navigation (see the NavigationType enum). | 342 // Classifies the given renderer navigation (see the NavigationType enum). |
343 NavigationType::Type ClassifyNavigation( | 343 NavigationType::Type ClassifyNavigation( |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
479 static size_t max_entry_count_; | 479 static size_t max_entry_count_; |
480 | 480 |
481 // If a repost is pending, its type (RELOAD or RELOAD_IGNORING_CACHE), | 481 // If a repost is pending, its type (RELOAD or RELOAD_IGNORING_CACHE), |
482 // NO_RELOAD otherwise. | 482 // NO_RELOAD otherwise. |
483 ReloadType pending_reload_; | 483 ReloadType pending_reload_; |
484 | 484 |
485 DISALLOW_COPY_AND_ASSIGN(NavigationController); | 485 DISALLOW_COPY_AND_ASSIGN(NavigationController); |
486 }; | 486 }; |
487 | 487 |
488 #endif // CONTENT_BROWSER_TAB_CONTENTS_NAVIGATION_CONTROLLER_H_ | 488 #endif // CONTENT_BROWSER_TAB_CONTENTS_NAVIGATION_CONTROLLER_H_ |
OLD | NEW |