18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2003 Apple Computer, Inc. All rights reserved. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met: 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * its contributors may be used to endorse or promote products derived 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * from this software without specific prior written permission. 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import <Cocoa/Cocoa.h> 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class WebHistoryItemPrivate; 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class NSURL; 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion Notification sent when history item is modified. 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @constant WebHistoryItemChanged Posted from whenever the value of 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project either the item's title, alternate title, url strings, or last visited interval 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project changes. The userInfo will be nil. 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern NSString *WebHistoryItemChangedNotification; 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*! 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @class WebHistoryItem 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion WebHistoryItems are created by WebKit to represent pages visited. 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project The WebBackForwardList and WebHistory classes both use WebHistoryItems to represent 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project pages visited. With the exception of the displayTitle, the properties of 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project WebHistoryItems are set by WebKit. WebHistoryItems are normally never created directly. 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@interface WebHistoryItem : NSObject <NSCopying> 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@private 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project WebHistoryItemPrivate *_private; 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*! 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method initWithURLString:title:lastVisitedTimeInterval: 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param URLString The URL string for the item. 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param title The title to use for the item. This is normally the <title> of a page. 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param time The time used to indicate when the item was used. 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Initialize a new WebHistoryItem 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion WebHistoryItems are normally created for you by the WebKit. 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project You may use this method to prepopulate a WebBackForwardList, or create 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 'artificial' items to add to a WebBackForwardList. When first initialized 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project the URLString and originalURLString will be the same. 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (id)initWithURLString:(NSString *)URLString title:(NSString *)title lastVisitedTimeInterval:(NSTimeInterval)time; 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*! 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method originalURLString 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract The string representation of the originial URL of this item. 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project This value is normally set by the WebKit. 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @result The string corresponding to the initial URL of this item. 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSString *)originalURLString; 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*! 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method URLString 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract The string representation of the URL represented by this item. 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion The URLString may be different than the originalURLString if the page 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project redirected to a new location. This value is normally set by the WebKit. 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @result The string corresponding to the final URL of this item. 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSString *)URLString; 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*! 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method title 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract The title of the page represented by this item. 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion This title cannot be changed by the client. This value 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project is normally set by the WebKit when a page title for the item is received. 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @result The title of this item. 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSString *)title; 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*! 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method lastVisitedTimeInterval 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract The last time the page represented by this item was visited. The interval 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project is since the reference date as determined by NSDate. This value is normally set by 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project the WebKit. 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @result The last time this item was visited. 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSTimeInterval)lastVisitedTimeInterval; 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*! 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method setAlternateTitle: 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param alternateTitle The new display title for this item. 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract A title that may be used by the client to display this item. 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)setAlternateTitle:(NSString *)alternateTitle; 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method title 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract A title that may be used by the client to display this item. 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @result The alternate title for this item. 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSString *)alternateTitle; 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*! 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method icon 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract The favorite icon of the page represented by this item. 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion This icon returned will be determined by the WebKit. 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @result The icon associated with this item's URL. 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSImage *)icon; 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@end 127