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

Side by Side Diff: content/browser/frame_host/navigation_controller_impl.cc

Issue 1029893002: OOPIF: Create subframe FrameNavigationEntries for AUTO_SUBFRAME navigations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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
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 #include "content/browser/frame_host/navigation_controller_impl.h" 5 #include "content/browser/frame_host/navigation_controller_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 1276 matching lines...) Expand 10 before | Expand all | Expand 10 after
1287 return false; 1287 return false;
1288 } 1288 }
1289 1289
1290 // Update the current navigation entry in case we're going back/forward. 1290 // Update the current navigation entry in case we're going back/forward.
1291 if (entry_index != last_committed_entry_index_) { 1291 if (entry_index != last_committed_entry_index_) {
1292 last_committed_entry_index_ = entry_index; 1292 last_committed_entry_index_ = entry_index;
1293 DiscardNonCommittedEntriesInternal(); 1293 DiscardNonCommittedEntriesInternal();
1294 return true; 1294 return true;
1295 } 1295 }
1296 1296
1297 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
1298 switches::kSitePerProcess)) {
1299 // This may be a "new auto" case where we add a new FrameNavigationEntry, or
1300 // it may be a "history auto" case where we update an existing one.
1301 int64 frame_tree_node_id = rfh->frame_tree_node()->frame_tree_node_id();
1302 NavigationEntryImpl* last_committed = GetLastCommittedEntry();
1303 last_committed->AddOrUpdateFrameEntry(frame_tree_node_id,
1304 rfh->GetSiteInstance(),
1305 params.url,
1306 params.referrer);
1307 }
1308
1297 // We do not need to discard the pending entry in this case, since we will 1309 // We do not need to discard the pending entry in this case, since we will
1298 // not generate commit notifications for this auto-subframe navigation. 1310 // not generate commit notifications for this auto-subframe navigation.
1299 return false; 1311 return false;
1300 } 1312 }
1301 1313
1302 int NavigationControllerImpl::GetIndexOfEntry( 1314 int NavigationControllerImpl::GetIndexOfEntry(
1303 const NavigationEntryImpl* entry) const { 1315 const NavigationEntryImpl* entry) const {
1304 const NavigationEntries::const_iterator i(std::find( 1316 const NavigationEntries::const_iterator i(std::find(
1305 entries_.begin(), 1317 entries_.begin(),
1306 entries_.end(), 1318 entries_.end(),
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
1815 } 1827 }
1816 } 1828 }
1817 } 1829 }
1818 1830
1819 void NavigationControllerImpl::SetGetTimestampCallbackForTest( 1831 void NavigationControllerImpl::SetGetTimestampCallbackForTest(
1820 const base::Callback<base::Time()>& get_timestamp_callback) { 1832 const base::Callback<base::Time()>& get_timestamp_callback) {
1821 get_timestamp_callback_ = get_timestamp_callback; 1833 get_timestamp_callback_ = get_timestamp_callback;
1822 } 1834 }
1823 1835
1824 } // namespace content 1836 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698