Chromium Code Reviews| Index: content/browser/frame_host/navigation_entry_impl.h |
| diff --git a/content/browser/frame_host/navigation_entry_impl.h b/content/browser/frame_host/navigation_entry_impl.h |
| index c69c978e0f416b60dab1fb6b7e9d9d307f56f8e9..f6d2a17f0ac222b141fe3270f6b10b6216021878 100644 |
| --- a/content/browser/frame_host/navigation_entry_impl.h |
| +++ b/content/browser/frame_host/navigation_entry_impl.h |
| @@ -90,6 +90,15 @@ class CONTENT_EXPORT NavigationEntryImpl |
| const std::vector<GURL>& GetRedirectChain() const override; |
| bool IsRestored() const override; |
| + // Creates a copy of this NavigationEntryImpl that can be modified |
| + // independently from the original. Does not copy any value that would be |
| + // cleared in ResetForCommit. |
| + // TODO(creis): Once we start sharing FrameNavigationEntries between |
| + // NavigationEntryImpls, we will need to support two versions of Clone: one |
| + // that shares the existing FrameNavigationEntries (for use within the same |
| + // tab) and one that draws them from a different pool (for use in a new tab). |
|
Avi (use Gerrit)
2015/03/12 16:59:19
Does this version of Clone have one of those behav
Charlie Reis
2015/03/12 17:07:43
Yeah, I hadn't thought closely about whether to ha
|
| + NavigationEntryImpl* Clone() const; |
| + |
| // Once a navigation entry is committed, we should no longer track several |
| // pieces of non-persisted state, as documented on the members below. |
| void ResetForCommit(); |
| @@ -245,6 +254,7 @@ class CONTENT_EXPORT NavigationEntryImpl |
| // later. If you add a new field that needs to be persisted you'll have to |
| // update SessionService/TabRestoreService and Android WebView |
| // state_serializer.cc appropriately. |
| + // For all new fields, update |Clone| and possibly |ResetForCommit|. |
| // WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING |
| // The FrameNavigationEntry for the main frame. |
| @@ -369,7 +379,7 @@ class CONTENT_EXPORT NavigationEntryImpl |
| // time (see TabNavigation for an example of this). |
| std::map<std::string, base::string16> extra_data_; |
| - // Copy and assignment is explicitly allowed for this class. |
| + DISALLOW_COPY_AND_ASSIGN(NavigationEntryImpl); |
| }; |
| } // namespace content |