/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.webview.chromium;
import org.chromium.content_public.browser.NavigationEntry;
import android.graphics.Bitmap;
import android.webkit.WebHistoryItem;
/**
* WebView Chromium implementation of WebHistoryItem. Simple immutable wrapper
* around NavigationEntry
*/
public class WebHistoryItemChromium extends WebHistoryItem {
private final String mUrl;
private final String mOriginalUrl;
private final String mTitle;
private final Bitmap mFavicon;
/* package */ WebHistoryItemChromium(NavigationEntry entry) {
mUrl = entry.getUrl();
mOriginalUrl = entry.getOriginalUrl();
mTitle = entry.getTitle();
mFavicon = entry.getFavicon();
}
/**
* See {@link android.webkit.WebHistoryItem#getId}.
*/
@Override
public int getId() {
// This method is deprecated in superclass. Returning constant -1 now.
return -1;
}
/**
* See {@link android.webkit.WebHistoryItem#getUrl}.
*/
@Override
public String getUrl() {
return mUrl;
}
/**
* See {@link android.webkit.WebHistoryItem#getOriginalUrl}.
*/
@Override
public String getOriginalUrl() {
return mOriginalUrl;
}
/**
* See {@link android.webkit.WebHistoryItem#getTitle}.
*/
@Override
public String getTitle() {
return mTitle;
}
/**
* See {@link android.webkit.WebHistoryItem#getFavicon}.
*/
@Override
public Bitmap getFavicon() {
return mFavicon;
}
// Clone constructor.
private WebHistoryItemChromium(
String url, String originalUrl, String title, Bitmap favicon) {
mUrl = url;
mOriginalUrl = originalUrl;
mTitle = title;
mFavicon = favicon;
}
/**
* See {@link android.webkit.WebHistoryItem#clone}.
*/
@Override
public synchronized WebHistoryItemChromium clone() {
return new WebHistoryItemChromium(mUrl, mOriginalUrl, mTitle, mFavicon);
}
}
|