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

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

Issue 2368183004: Move redirect_chain from NavigationEntry to FrameNavigationEntry. (Closed)
Patch Set: Add tests + bugfix. 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 <set> 10 #include <set>
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 // Does nothing if there is no entry already and |url| is about:blank, since 217 // Does nothing if there is no entry already and |url| is about:blank, since
218 // that does not count as a real commit. 218 // that does not count as a real commit.
219 void AddOrUpdateFrameEntry( 219 void AddOrUpdateFrameEntry(
220 FrameTreeNode* frame_tree_node, 220 FrameTreeNode* frame_tree_node,
221 int64_t item_sequence_number, 221 int64_t item_sequence_number,
222 int64_t document_sequence_number, 222 int64_t document_sequence_number,
223 SiteInstanceImpl* site_instance, 223 SiteInstanceImpl* site_instance,
224 scoped_refptr<SiteInstanceImpl> source_site_instance, 224 scoped_refptr<SiteInstanceImpl> source_site_instance,
225 const GURL& url, 225 const GURL& url,
226 const Referrer& referrer, 226 const Referrer& referrer,
227 const std::vector<GURL>& redirect_chain,
227 const PageState& page_state, 228 const PageState& page_state,
228 const std::string& method, 229 const std::string& method,
229 int64_t post_id); 230 int64_t post_id);
230 231
231 // Returns the FrameNavigationEntry corresponding to |frame_tree_node|, if 232 // Returns the FrameNavigationEntry corresponding to |frame_tree_node|, if
232 // there is one in this NavigationEntry. 233 // there is one in this NavigationEntry.
233 FrameNavigationEntry* GetFrameEntry(FrameTreeNode* frame_tree_node) const; 234 FrameNavigationEntry* GetFrameEntry(FrameTreeNode* frame_tree_node) const;
234 235
235 // Returns a set of frame unique names for immediate children of the TreeNode 236 // Returns a set of frame unique names for immediate children of the TreeNode
236 // associated with |frame_tree_node|. The renderer process will use this list 237 // associated with |frame_tree_node|. The renderer process will use this list
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 // the state of the URL, it has to be reloaded in a different site instance. 496 // the state of the URL, it has to be reloaded in a different site instance.
496 // In such case, we must treat it as an existing navigation in the new site 497 // In such case, we must treat it as an existing navigation in the new site
497 // instance, instead of a new navigation. This value should not be persisted 498 // instance, instead of a new navigation. This value should not be persisted
498 // and is cleared in |ResetForCommit|. 499 // and is cleared in |ResetForCommit|.
499 // 500 //
500 // We also use this flag for cross-process redirect navigations, so that the 501 // We also use this flag for cross-process redirect navigations, so that the
501 // browser will replace the current navigation entry (which is the page 502 // browser will replace the current navigation entry (which is the page
502 // doing the redirect). 503 // doing the redirect).
503 bool should_replace_entry_; 504 bool should_replace_entry_;
504 505
505 // This is used when transferring a pending entry from one process to another.
506 // We also send this data through session sync for offline analysis.
507 // It is preserved after commit but should not be persisted.
508 std::vector<GURL> redirect_chain_;
509
510 // This is set to true when this entry's navigation should clear the session 506 // This is set to true when this entry's navigation should clear the session
511 // history both on the renderer and browser side. The browser side history 507 // history both on the renderer and browser side. The browser side history
512 // won't be cleared until the renderer has committed this navigation. This 508 // won't be cleared until the renderer has committed this navigation. This
513 // entry is not persisted by the session restore system, as it is always 509 // entry is not persisted by the session restore system, as it is always
514 // cleared in |ResetForCommit|. 510 // cleared in |ResetForCommit|.
515 bool should_clear_history_list_; 511 bool should_clear_history_list_;
516 512
517 // Set when this entry should be able to access local file:// resources. This 513 // Set when this entry should be able to access local file:// resources. This
518 // value is not needed after the entry commits and is not persisted. 514 // value is not needed after the entry commits and is not persisted.
519 bool can_load_local_resources_; 515 bool can_load_local_resources_;
(...skipping 25 matching lines...) Expand all
545 // persisted, unless specific data is taken out/put back in at save/restore 541 // persisted, unless specific data is taken out/put back in at save/restore
546 // time (see TabNavigation for an example of this). 542 // time (see TabNavigation for an example of this).
547 std::map<std::string, base::string16> extra_data_; 543 std::map<std::string, base::string16> extra_data_;
548 544
549 DISALLOW_COPY_AND_ASSIGN(NavigationEntryImpl); 545 DISALLOW_COPY_AND_ASSIGN(NavigationEntryImpl);
550 }; 546 };
551 547
552 } // namespace content 548 } // namespace content
553 549
554 #endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_ 550 #endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698