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

Side by Side Diff: content/renderer/history_controller.h

Issue 281653003: DRAFT CL: Add FrameNavigationEntry and track subframe session histories. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 5 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « content/public/common/frame_navigate_params.h ('k') | content/renderer/history_controller.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 /* 5 /*
6 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 6 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved.
8 * (http://www.torchmobile.com/) 8 * (http://www.torchmobile.com/)
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 // HistoryNode 2_0 (WebHistoryItem C (url: bar.com)) *REUSED* 102 // HistoryNode 2_0 (WebHistoryItem C (url: bar.com)) *REUSED*
103 // HistoryNode 2_1: (WebHistoryItem G (url: bar.com/e)) 103 // HistoryNode 2_1: (WebHistoryItem G (url: bar.com/e))
104 // HistoryNode 2_3: (WebHistoryItem H (url: bar.com/f)) 104 // HistoryNode 2_3: (WebHistoryItem H (url: bar.com/f))
105 // HistoryNode 2_2: (WebHistoryItem E (url: bar.com/c)) *REUSED* 105 // HistoryNode 2_2: (WebHistoryItem E (url: bar.com/c)) *REUSED*
106 // 106 //
107 class CONTENT_EXPORT HistoryController { 107 class CONTENT_EXPORT HistoryController {
108 public: 108 public:
109 explicit HistoryController(RenderViewImpl* render_view); 109 explicit HistoryController(RenderViewImpl* render_view);
110 ~HistoryController(); 110 ~HistoryController();
111 111
112 void GoToEntry(scoped_ptr<HistoryEntry> entry,
113 blink::WebURLRequest::CachePolicy cache_policy);
114
115 void UpdateForCommit(RenderFrameImpl* frame, 112 void UpdateForCommit(RenderFrameImpl* frame,
116 const blink::WebHistoryItem& item, 113 const blink::WebHistoryItem& item,
117 blink::WebHistoryCommitType commit_type, 114 blink::WebHistoryCommitType commit_type,
118 bool navigation_within_page); 115 bool navigation_within_page);
119 116
120 HistoryEntry* GetCurrentEntry(); 117 HistoryEntry* GetCurrentEntry();
121 blink::WebHistoryItem GetItemForNewChildFrame(RenderFrameImpl* frame) const; 118 blink::WebHistoryItem GetItemForNewChildFrame(RenderFrameImpl* frame) const;
122 void RemoveChildrenForRedirect(RenderFrameImpl* frame); 119 void RemoveChildrenForRedirect(RenderFrameImpl* frame);
123 120
124 private: 121 private:
125 typedef std::vector<std::pair<blink::WebFrame*, blink::WebHistoryItem> > 122 typedef std::vector<std::pair<blink::WebFrame*, blink::WebHistoryItem> >
126 HistoryFrameLoadVector; 123 HistoryFrameLoadVector;
127 void RecursiveGoToEntry(blink::WebFrame* frame,
128 HistoryFrameLoadVector& sameDocumentLoads,
129 HistoryFrameLoadVector& differentDocumentLoads);
130 124
131 void UpdateForInitialLoadInChildFrame(RenderFrameImpl* frame, 125 void UpdateForInitialLoadInChildFrame(RenderFrameImpl* frame,
132 const blink::WebHistoryItem& item); 126 const blink::WebHistoryItem& item);
133 void CreateNewBackForwardItem(RenderFrameImpl* frame, 127 void CreateNewBackForwardItem(RenderFrameImpl* frame,
134 const blink::WebHistoryItem& item, 128 const blink::WebHistoryItem& item,
135 bool clone_children_of_target); 129 bool clone_children_of_target);
136 130
137 RenderViewImpl* render_view_; 131 RenderViewImpl* render_view_;
138 132
139 scoped_ptr<HistoryEntry> current_entry_; 133 scoped_ptr<HistoryEntry> current_entry_;
140 scoped_ptr<HistoryEntry> provisional_entry_; 134 scoped_ptr<HistoryEntry> provisional_entry_;
141 135
142 DISALLOW_COPY_AND_ASSIGN(HistoryController); 136 DISALLOW_COPY_AND_ASSIGN(HistoryController);
143 }; 137 };
144 138
145 } // namespace content 139 } // namespace content
146 140
147 #endif // CONTENT_RENDERER_HISTORY_CONTROLLER_H_ 141 #endif // CONTENT_RENDERER_HISTORY_CONTROLLER_H_
OLDNEW
« no previous file with comments | « content/public/common/frame_navigate_params.h ('k') | content/renderer/history_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698