JavaScriptCore:
[WebKit-https.git] / WebKit / WebView / WebPreferencesPrivate.h
1 /*
2  * Copyright (C) 2005 Apple Computer, Inc.  All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * 1.  Redistributions of source code must retain the above copyright
9  *     notice, this list of conditions and the following disclaimer. 
10  * 2.  Redistributions in binary form must reproduce the above copyright
11  *     notice, this list of conditions and the following disclaimer in the
12  *     documentation and/or other materials provided with the distribution. 
13  * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
14  *     its contributors may be used to endorse or promote products derived
15  *     from this software without specific prior written permission. 
16  *
17  * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
18  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20  * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 #import <WebKit/WebPreferences.h>
30
31 #import <Quartz/Quartz.h>
32
33 // WebKitEditableLinkBehavior needs to match the EditableLinkBehavior enum in WebCore
34 typedef enum {
35     WebKitEditableLinkDefaultBehavior = 0,
36     WebKitEditableLinkAlwaysLive,
37     WebKitEditableLinkOnlyLiveWithShiftKey,
38     WebKitEditableLinkLiveWhenNotFocused,
39     WebKitEditableLinkNeverLive
40 } WebKitEditableLinkBehavior;
41
42 @interface WebPreferences (WebPrivate)
43
44 // Preferences that might be public in a future release
45 - (BOOL)respectStandardStyleKeyEquivalents;
46 - (void)setRespectStandardStyleKeyEquivalents:(BOOL)flag;
47
48 - (BOOL)showsURLsInToolTips;
49 - (void)setShowsURLsInToolTips:(BOOL)flag;
50
51 - (BOOL)textAreasAreResizable;
52 - (void)setTextAreasAreResizable:(BOOL)flag;
53
54 - (PDFDisplayMode)PDFDisplayMode;
55 - (void)setPDFDisplayMode:(PDFDisplayMode)mode;
56
57 - (BOOL)shrinksStandaloneImagesToFit;
58 - (void)setShrinksStandaloneImagesToFit:(BOOL)flag;
59
60 // zero means do AutoScale
61 - (float)PDFScaleFactor;
62 - (void)setPDFScaleFactor:(float)scale;
63
64 - (WebKitEditableLinkBehavior)editableLinkBehavior;
65 - (void)setEditableLinkBehavior:(WebKitEditableLinkBehavior)behavior;
66
67 // If site-specific spoofing is enabled, some pages that do inappropriate user-agent string checks will be
68 // passed a nonstandard user-agent string to get them to work correctly. This method might be removed in
69 // the future when there's no more need for it.
70 - (BOOL)_useSiteSpecificSpoofing;
71 - (void)_setUseSiteSpecificSpoofing:(BOOL)newValue;
72
73 // For debugging purposes, can be removed when no longer needed
74 - (BOOL)_usePDFPreviewView;
75 - (void)_setUsePDFPreviewView:(BOOL)newValue;
76
77 // WARNING: Allowing paste through the DOM API opens a security hole. We only use it for testing purposes.
78 - (BOOL)isDOMPasteAllowed;
79 - (void)setDOMPasteAllowed:(BOOL)DOMPasteAllowed;
80
81 - (NSString *)_ftpDirectoryTemplatePath;
82 - (void)_setFTPDirectoryTemplatePath:(NSString *)path;
83 - (void)_setForceFTPDirectoryListings:(BOOL)force;
84 - (BOOL)_forceFTPDirectoryListings;
85
86 // Other private methods
87 - (size_t)_pageCacheSize;
88 - (size_t)_objectCacheSize;
89 - (void)_postPreferencesChangesNotification;
90 + (WebPreferences *)_getInstanceForIdentifier:(NSString *)identifier;
91 + (void)_setInstance:(WebPreferences *)instance forIdentifier:(NSString *)identifier;
92 + (void)_removeReferenceForIdentifier:(NSString *)identifier;
93 - (NSTimeInterval)_backForwardCacheExpirationInterval;
94 + (CFStringEncoding)_systemCFStringEncoding;
95 + (void)_setInitialDefaultTextEncodingToSystemEncoding;
96 + (void)_setIBCreatorID:(NSString *)string;
97
98 @end