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 android.graphics.Bitmap; 8 9 /** 10 * Represents one entry in the navigation history of a page. 11 */ 12 public class NavigationEntry { 13 14 private final int mIndex; 15 private final String mUrl; 16 private final String mOriginalUrl; 17 private final String mVirtualUrl; 18 private final String mTitle; 19 private Bitmap mFavicon; 20 21 /** 22 * Default constructor. 23 */ NavigationEntry(int index, String url, String virtualUrl, String originalUrl, String title, Bitmap favicon)24 public NavigationEntry(int index, String url, String virtualUrl, String originalUrl, 25 String title, Bitmap favicon) { 26 mIndex = index; 27 mUrl = url; 28 mVirtualUrl = virtualUrl; 29 mOriginalUrl = originalUrl; 30 mTitle = title; 31 mFavicon = favicon; 32 } 33 34 /** 35 * @return The index into the navigation history that this entry represents. 36 */ getIndex()37 public int getIndex() { 38 return mIndex; 39 } 40 41 /** 42 * @return The actual URL of the page. For some about pages, this may be a 43 * scary data: URL or something like that. Use GetVirtualURL() for 44 * showing to the user. 45 */ getUrl()46 public String getUrl() { 47 return mUrl; 48 } 49 50 /** 51 * @return The virtual URL, when nonempty, will override the actual URL of 52 * the page when we display it to the user. This allows us to have 53 * nice and friendly URLs that the user sees for things like about: 54 * URLs, but actually feed the renderer a data URL that results in 55 * the content loading. 56 * <p/> 57 * GetVirtualURL() will return the URL to display to the user in all 58 * cases, so if there is no overridden display URL, it will return 59 * the actual one. 60 */ getVirtualUrl()61 public String getVirtualUrl() { 62 return mVirtualUrl; 63 } 64 65 /** 66 * @return The URL that caused this NavigationEntry to be created. 67 */ getOriginalUrl()68 public String getOriginalUrl() { 69 return mOriginalUrl; 70 } 71 72 /** 73 * @return The title as set by the page. This will be empty if there is no 74 * title set. The caller is responsible for detecting when there is 75 * no title and displaying the appropriate "Untitled" label if this 76 * is being displayed to the user. 77 */ getTitle()78 public String getTitle() { 79 return mTitle; 80 } 81 82 /** 83 * @return The favicon of the page. This may be null. 84 */ getFavicon()85 public Bitmap getFavicon() { 86 return mFavicon; 87 } 88 89 /** 90 * @param favicon The updated favicon to replace the existing one with. 91 */ updateFavicon(Bitmap favicon)92 public void updateFavicon(Bitmap favicon) { 93 mFavicon = favicon; 94 } 95 } 96