1 // Copyright 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 package org.chromium.content.browser; 6 7 import java.util.ArrayList; 8 9 /** 10 * {@link NavigationHistory} captures a snapshot of the navigation history of a 11 * {@link ContentView}. It is a copy and will not be updated as navigation 12 * occurs on the source {@link ContentView}. 13 */ 14 public class NavigationHistory { 15 16 private ArrayList<NavigationEntry> mEntries = new ArrayList<NavigationEntry>(); 17 private int mCurrentEntryIndex; 18 addEntry(NavigationEntry entry)19 protected void addEntry(NavigationEntry entry) { 20 mEntries.add(entry); 21 } 22 setCurrentEntryIndex(int currentEntryIndex)23 /* package */ void setCurrentEntryIndex(int currentEntryIndex) { 24 mCurrentEntryIndex = currentEntryIndex; 25 } 26 27 /** 28 * @return The number of entries in the history. 29 */ getEntryCount()30 public int getEntryCount() { 31 return mEntries.size(); 32 } 33 34 /** 35 * Returns the {@link NavigationEntry} for the given index. 36 */ getEntryAtIndex(int index)37 public NavigationEntry getEntryAtIndex(int index) { 38 return mEntries.get(index); 39 } 40 41 /** 42 * Returns the index of the entry the {@link ContentView} was navigated to 43 * when the history was fetched. 44 */ getCurrentEntryIndex()45 public int getCurrentEntryIndex() { 46 return mCurrentEntryIndex; 47 } 48 49 } 50