| // Copyright 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package org.chromium.content.browser; |
| |
| import android.graphics.Bitmap; |
| |
| /** |
| * Represents one entry in the navigation history of a page. |
| */ |
| public class NavigationEntry { |
| |
| private final int mIndex; |
| private final String mUrl; |
| private final String mOriginalUrl; |
| private final String mVirtualUrl; |
| private final String mTitle; |
| private Bitmap mFavicon; |
| |
| /** |
| * Default constructor. |
| */ |
| protected NavigationEntry(int index, String url, String virtualUrl, String originalUrl, |
| String title, Bitmap favicon) { |
| mIndex = index; |
| mUrl = url; |
| mVirtualUrl = virtualUrl; |
| mOriginalUrl = originalUrl; |
| mTitle = title; |
| mFavicon = favicon; |
| } |
| |
| /** |
| * @return The index into the navigation history that this entry represents. |
| */ |
| public int getIndex() { |
| return mIndex; |
| } |
| |
| /** |
| * @return The actual URL of the page. For some about pages, this may be a |
| * scary data: URL or something like that. Use GetVirtualURL() for |
| * showing to the user. |
| */ |
| public String getUrl() { |
| return mUrl; |
| } |
| |
| /** |
| * @return The virtual URL, when nonempty, will override the actual URL of |
| * the page when we display it to the user. This allows us to have |
| * nice and friendly URLs that the user sees for things like about: |
| * URLs, but actually feed the renderer a data URL that results in |
| * the content loading. |
| * <p/> |
| * GetVirtualURL() will return the URL to display to the user in all |
| * cases, so if there is no overridden display URL, it will return |
| * the actual one. |
| */ |
| public String getVirtualUrl() { |
| return mVirtualUrl; |
| } |
| |
| /** |
| * @return The URL that caused this NavigationEntry to be created. |
| */ |
| public String getOriginalUrl() { |
| return mOriginalUrl; |
| } |
| |
| /** |
| * @return The title as set by the page. This will be empty if there is no |
| * title set. The caller is responsible for detecting when there is |
| * no title and displaying the appropriate "Untitled" label if this |
| * is being displayed to the user. |
| */ |
| public String getTitle() { |
| return mTitle; |
| } |
| |
| /** |
| * @return The favicon of the page. This may be null. |
| */ |
| public Bitmap getFavicon() { |
| return mFavicon; |
| } |
| |
| /** |
| * @param favicon The updated favicon to replace the existing one with. |
| */ |
| public void updateFavicon(Bitmap favicon) { |
| mFavicon = favicon; |
| } |
| } |