Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Side by Side Diff: content/browser/frame_host/navigation_entry_impl.h

Issue 2368183004: Move redirect_chain from NavigationEntry to FrameNavigationEntry. (Closed)
Patch Set: Addressed comments. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_ 5 #ifndef CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_
6 #define CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_ 6 #define CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 // Does nothing if there is no entry already and |url| is about:blank, since 214 // Does nothing if there is no entry already and |url| is about:blank, since
215 // that does not count as a real commit. 215 // that does not count as a real commit.
216 void AddOrUpdateFrameEntry( 216 void AddOrUpdateFrameEntry(
217 FrameTreeNode* frame_tree_node, 217 FrameTreeNode* frame_tree_node,
218 int64_t item_sequence_number, 218 int64_t item_sequence_number,
219 int64_t document_sequence_number, 219 int64_t document_sequence_number,
220 SiteInstanceImpl* site_instance, 220 SiteInstanceImpl* site_instance,
221 scoped_refptr<SiteInstanceImpl> source_site_instance, 221 scoped_refptr<SiteInstanceImpl> source_site_instance,
222 const GURL& url, 222 const GURL& url,
223 const Referrer& referrer, 223 const Referrer& referrer,
224 const std::vector<GURL>& redirect_chain,
224 const PageState& page_state, 225 const PageState& page_state,
225 const std::string& method, 226 const std::string& method,
226 int64_t post_id); 227 int64_t post_id);
227 228
228 // Returns the FrameNavigationEntry corresponding to |frame_tree_node|, if 229 // Returns the FrameNavigationEntry corresponding to |frame_tree_node|, if
229 // there is one in this NavigationEntry. 230 // there is one in this NavigationEntry.
230 FrameNavigationEntry* GetFrameEntry(FrameTreeNode* frame_tree_node) const; 231 FrameNavigationEntry* GetFrameEntry(FrameTreeNode* frame_tree_node) const;
231 232
232 // Returns whether the TreeNode associated with |frame_tree_node| has any 233 // Returns whether the TreeNode associated with |frame_tree_node| has any
233 // children. If not, the renderer process does not need to ask the browser 234 // children. If not, the renderer process does not need to ask the browser
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 // the state of the URL, it has to be reloaded in a different site instance. 477 // the state of the URL, it has to be reloaded in a different site instance.
477 // In such case, we must treat it as an existing navigation in the new site 478 // In such case, we must treat it as an existing navigation in the new site
478 // instance, instead of a new navigation. This value should not be persisted 479 // instance, instead of a new navigation. This value should not be persisted
479 // and is cleared in |ResetForCommit|. 480 // and is cleared in |ResetForCommit|.
480 // 481 //
481 // We also use this flag for cross-process redirect navigations, so that the 482 // We also use this flag for cross-process redirect navigations, so that the
482 // browser will replace the current navigation entry (which is the page 483 // browser will replace the current navigation entry (which is the page
483 // doing the redirect). 484 // doing the redirect).
484 bool should_replace_entry_; 485 bool should_replace_entry_;
485 486
486 // This is used when transferring a pending entry from one process to another.
487 // We also send this data through session sync for offline analysis.
488 // It is preserved after commit but should not be persisted.
489 std::vector<GURL> redirect_chain_;
490
491 // This is set to true when this entry's navigation should clear the session 487 // This is set to true when this entry's navigation should clear the session
492 // history both on the renderer and browser side. The browser side history 488 // history both on the renderer and browser side. The browser side history
493 // won't be cleared until the renderer has committed this navigation. This 489 // won't be cleared until the renderer has committed this navigation. This
494 // entry is not persisted by the session restore system, as it is always 490 // entry is not persisted by the session restore system, as it is always
495 // cleared in |ResetForCommit|. 491 // cleared in |ResetForCommit|.
496 bool should_clear_history_list_; 492 bool should_clear_history_list_;
497 493
498 // Set when this entry should be able to access local file:// resources. This 494 // Set when this entry should be able to access local file:// resources. This
499 // value is not needed after the entry commits and is not persisted. 495 // value is not needed after the entry commits and is not persisted.
500 bool can_load_local_resources_; 496 bool can_load_local_resources_;
(...skipping 18 matching lines...) Expand all
519 // persisted, unless specific data is taken out/put back in at save/restore 515 // persisted, unless specific data is taken out/put back in at save/restore
520 // time (see TabNavigation for an example of this). 516 // time (see TabNavigation for an example of this).
521 std::map<std::string, base::string16> extra_data_; 517 std::map<std::string, base::string16> extra_data_;
522 518
523 DISALLOW_COPY_AND_ASSIGN(NavigationEntryImpl); 519 DISALLOW_COPY_AND_ASSIGN(NavigationEntryImpl);
524 }; 520 };
525 521
526 } // namespace content 522 } // namespace content
527 523
528 #endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_ 524 #endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698