Home | History | Annotate | Download | only in browser
      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_public.browser;
      6 
      7 //import org.chromium.content_public.browser.NavigationEntry;
      8 
      9 import java.util.ArrayList;
     10 
     11 /**
     12  * {@link NavigationHistory} captures a snapshot of the navigation history of a
     13  * {@link ContentViewCore}. It is a copy and will not be updated as navigation
     14  * occurs on the source {@link ContentViewCore}.
     15  */
     16 public class NavigationHistory {
     17 
     18     private final ArrayList<NavigationEntry> mEntries = new ArrayList<NavigationEntry>();
     19     private int mCurrentEntryIndex;
     20 
     21     public void addEntry(NavigationEntry entry) {
     22         mEntries.add(entry);
     23     }
     24 
     25     public void setCurrentEntryIndex(int currentEntryIndex) {
     26         mCurrentEntryIndex = currentEntryIndex;
     27     }
     28 
     29     /**
     30      * @return The number of entries in the history.
     31      */
     32     public int getEntryCount() {
     33         return mEntries.size();
     34     }
     35 
     36     /**
     37      * Returns the {@link NavigationEntry} for the given index.
     38      */
     39     public NavigationEntry getEntryAtIndex(int index) {
     40         return mEntries.get(index);
     41     }
     42 
     43     /**
     44      * Returns the index of the entry the {@link ContentViewCore} was navigated to
     45      * when the history was fetched.
     46      */
     47     public int getCurrentEntryIndex() {
     48         return mCurrentEntryIndex;
     49     }
     50 
     51 }
     52