278 lines
8.7 KiB
Objective-C
278 lines
8.7 KiB
Objective-C
/*
|
|
* Copyright (C) 2003, 2004, 2005, 2012 Apple Inc. All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
* 3. Neither the name of Apple Inc. ("Apple") nor the names of
|
|
* its contributors may be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import <WebKitLegacy/WebKitAvailability.h>
|
|
|
|
/*!
|
|
@enum WebCacheModel
|
|
|
|
@abstract Specifies a usage model for a WebView, which WebKit will use to
|
|
determine its caching behavior.
|
|
|
|
@constant WebCacheModelDocumentViewer Appropriate for a WebView displaying
|
|
a fixed document -- like a splash screen, a chat document, or a word processing
|
|
document -- with no UI for navigation. The WebView will behave like any other
|
|
view, releasing resources when they are no longer referenced. Remote resources,
|
|
if any, will be cached to disk. This is the most memory-efficient setting.
|
|
|
|
Examples: iChat, Mail, TextMate, Growl.
|
|
|
|
@constant WebCacheModelDocumentBrowser Appropriate for a WebView displaying
|
|
a browsable series of documents with a UI for navigating between them -- for
|
|
example, a reference materials browser or a website designer. The WebView will
|
|
cache a reasonable number of resources and previously viewed documents in
|
|
memory and/or on disk.
|
|
|
|
Examples: Dictionary, Help Viewer, Coda.
|
|
|
|
@constant WebCacheModelPrimaryWebBrowser Appropriate for a WebView in the
|
|
application that acts as the user's primary web browser. The WebView will cache
|
|
a very large number of resources and previously viewed documents in memory
|
|
and/or on disk.
|
|
|
|
Examples: Safari, OmniWeb, Shiira.
|
|
*/
|
|
typedef NS_ENUM(NSUInteger, WebCacheModel) {
|
|
WebCacheModelDocumentViewer = 0,
|
|
WebCacheModelDocumentBrowser = 1,
|
|
WebCacheModelPrimaryWebBrowser = 2
|
|
} WEBKIT_ENUM_DEPRECATED_MAC(10_5, 10_14);
|
|
|
|
typedef struct WebPreferencesPrivate WebPreferencesPrivate;
|
|
|
|
extern NSString *WebPreferencesChangedNotification WEBKIT_DEPRECATED_MAC(10_3, 10_14);
|
|
|
|
/*!
|
|
@class WebPreferences
|
|
*/
|
|
WEBKIT_CLASS_DEPRECATED_MAC(10_3, 10_14)
|
|
@interface WebPreferences: NSObject <NSCoding>
|
|
{
|
|
@package
|
|
WebPreferencesPrivate *_private;
|
|
}
|
|
|
|
/*!
|
|
@method standardPreferences
|
|
*/
|
|
+ (WebPreferences *)standardPreferences;
|
|
|
|
/*!
|
|
@method initWithIdentifier:
|
|
@param anIdentifier A string used to identify the WebPreferences.
|
|
@discussion WebViews can share instances of WebPreferences by using an instance of WebPreferences with
|
|
the same identifier. Typically, instance are not created directly. Instead you set the preferences
|
|
identifier on a WebView. The identifier is used as a prefix that is added to the user defaults keys
|
|
for the WebPreferences.
|
|
@result Returns a new instance of WebPreferences or a previously allocated instance with the same identifier.
|
|
*/
|
|
- (instancetype)initWithIdentifier:(NSString *)anIdentifier;
|
|
|
|
/*!
|
|
@property identifier
|
|
@result Returns the identifier for this WebPreferences.
|
|
*/
|
|
@property (nonatomic, readonly, copy) NSString *identifier;
|
|
|
|
/*!
|
|
@property standardFontFamily
|
|
*/
|
|
@property (nonatomic, copy) NSString *standardFontFamily;
|
|
|
|
/*!
|
|
@property fixedFontFamily
|
|
*/
|
|
@property (nonatomic, copy) NSString *fixedFontFamily;
|
|
|
|
/*!
|
|
@property serifFontFamily
|
|
*/
|
|
@property (nonatomic, copy) NSString *serifFontFamily;
|
|
|
|
/*!
|
|
@property sansSerifFontFamily
|
|
*/
|
|
@property (nonatomic, copy) NSString *sansSerifFontFamily;
|
|
|
|
/*!
|
|
@property cursiveFontFamily
|
|
*/
|
|
@property (nonatomic, copy) NSString *cursiveFontFamily;
|
|
|
|
/*!
|
|
@property fantasyFontFamily
|
|
*/
|
|
@property (nonatomic, copy) NSString *fantasyFontFamily;
|
|
|
|
/*!
|
|
@property defaultFontSize
|
|
*/
|
|
@property (nonatomic) int defaultFontSize;
|
|
|
|
/*!
|
|
@property defaultFixedFontSize
|
|
*/
|
|
@property (nonatomic) int defaultFixedFontSize;
|
|
|
|
/*!
|
|
@property minimumFontSize
|
|
*/
|
|
@property (nonatomic) int minimumFontSize;
|
|
|
|
/*!
|
|
@property minimumLogicalFontSize
|
|
*/
|
|
@property (nonatomic) int minimumLogicalFontSize;
|
|
|
|
/*!
|
|
@property defaultTextEncodingName
|
|
*/
|
|
@property (nonatomic, copy) NSString *defaultTextEncodingName;
|
|
|
|
/*!
|
|
@property userStyleSheetEnabled
|
|
*/
|
|
@property (nonatomic) BOOL userStyleSheetEnabled;
|
|
|
|
/*!
|
|
@property userStyleSheetLocation
|
|
@abstract The location of the user style sheet.
|
|
*/
|
|
@property (nonatomic, strong) NSURL *userStyleSheetLocation;
|
|
|
|
/*!
|
|
@property javaEnabled
|
|
*/
|
|
@property (nonatomic, getter=isJavaEnabled) BOOL javaEnabled;
|
|
|
|
/*!
|
|
@property javaScriptEnabled
|
|
*/
|
|
@property (nonatomic, getter=isJavaScriptEnabled) BOOL javaScriptEnabled;
|
|
|
|
/*!
|
|
@property javaScriptCanOpenWindowsAutomatically
|
|
*/
|
|
@property (nonatomic) BOOL javaScriptCanOpenWindowsAutomatically;
|
|
|
|
/*!
|
|
@property plugInsEnabled
|
|
*/
|
|
@property (nonatomic, getter=arePlugInsEnabled) BOOL plugInsEnabled;
|
|
|
|
/*!
|
|
@property allowsAnimatedImages
|
|
*/
|
|
@property (nonatomic) BOOL allowsAnimatedImages;
|
|
|
|
/*!
|
|
@property allowsAnimatedImageLooping
|
|
*/
|
|
@property (nonatomic) BOOL allowsAnimatedImageLooping;
|
|
|
|
/*!
|
|
@property willLoadImagesAutomatically
|
|
*/
|
|
@property (nonatomic) BOOL loadsImagesAutomatically;
|
|
|
|
/*!
|
|
@property autosaves
|
|
@discussion If autosaves is YES the settings represented by
|
|
WebPreferences will be stored in the user defaults database.
|
|
*/
|
|
@property (nonatomic) BOOL autosaves;
|
|
|
|
#if !TARGET_OS_IPHONE
|
|
/*!
|
|
@property shouldPrintBackgrounds
|
|
*/
|
|
@property (nonatomic) BOOL shouldPrintBackgrounds;
|
|
#endif
|
|
|
|
/*!
|
|
@property privateBrowsingEnabled:
|
|
@abstract If private browsing is enabled, WebKit will not store information
|
|
about sites the user visits.
|
|
*/
|
|
@property (nonatomic) BOOL privateBrowsingEnabled;
|
|
|
|
#if !TARGET_OS_IPHONE
|
|
/*!
|
|
@property tabsToLinks
|
|
@abstract If tabsToLinks is YES, the tab key will focus links and form controls.
|
|
The option key temporarily reverses this preference.
|
|
*/
|
|
@property (nonatomic) BOOL tabsToLinks;
|
|
#endif
|
|
|
|
/*!
|
|
@property usesPageCache
|
|
@abstract Whether the receiver's associated WebViews use the shared
|
|
page cache.
|
|
@discussion Pages are cached as they are added to a WebBackForwardList, and
|
|
removed from the cache as they are removed from a WebBackForwardList. Because
|
|
the page cache is global, caching a page in one WebBackForwardList may cause
|
|
a page in another WebBackForwardList to be evicted from the cache.
|
|
*/
|
|
@property (nonatomic) BOOL usesPageCache;
|
|
|
|
/*!
|
|
@property cacheModel
|
|
@abstract Specifies a usage model for a WebView, which WebKit will use to
|
|
determine its caching behavior. If necessary, WebKit
|
|
will prune its caches to match cacheModel when set.
|
|
|
|
@discussion Research indicates that users tend to browse within clusters of
|
|
documents that hold resources in common, and to revisit previously visited
|
|
documents. WebKit and the frameworks below it include built-in caches that take
|
|
advantage of these patterns, substantially improving document load speed in
|
|
browsing situations. The WebKit cache model controls the behaviors of all of
|
|
these caches, including NSURLCache and the various WebCore caches.
|
|
|
|
Applications with a browsing interface can improve document load speed
|
|
substantially by specifying WebCacheModelDocumentBrowser. Applications without
|
|
a browsing interface can reduce memory usage substantially by specifying
|
|
WebCacheModelDocumentViewer.
|
|
|
|
If cacheModel is not set, WebKit will select a cache model automatically.
|
|
*/
|
|
@property (nonatomic) WebCacheModel cacheModel;
|
|
|
|
/*!
|
|
@property suppressesIncrementalRendering
|
|
*/
|
|
@property (nonatomic) BOOL suppressesIncrementalRendering;
|
|
|
|
/*!
|
|
@property allowsAirPlayForMediaPlayback
|
|
*/
|
|
@property (nonatomic) BOOL allowsAirPlayForMediaPlayback;
|
|
|
|
@end
|