1/* 2 * Copyright (C) 2006, 2007, 2008 Apple 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 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26cpp_quote("#define WebPreferencesChangedNotification TEXT(\"WebPreferencesChangedNotification\")") 27cpp_quote("#define WebPreferencesRemovedNotification TEXT(\"WebPreferencesRemovedNotification\")") 28 29#ifndef DO_NO_IMPORTS 30import "oaidl.idl"; 31import "ocidl.idl"; 32#endif 33 34typedef enum FontSmoothingType { 35 FontSmoothingTypeStandard=0, 36 FontSmoothingTypeLight, 37 FontSmoothingTypeMedium, 38 FontSmoothingTypeStrong, 39 FontSmoothingTypeWindows 40} FontSmoothingType; 41 42typedef enum WebKitEditableLinkBehavior { 43 WebKitEditableLinkDefaultBehavior = 0, 44 WebKitEditableLinkAlwaysLive, 45 WebKitEditableLinkOnlyLiveWithShiftKey, 46 WebKitEditableLinkLiveWhenNotFocused, 47 WebKitEditableLinkNeverLive 48} WebKitEditableLinkBehavior; 49 50typedef enum WebKitCookieStorageAcceptPolicy { 51 WebKitCookieStorageAcceptPolicyAlways = 0, 52 WebKitCookieStorageAcceptPolicyNever, 53 WebKitCookieStorageAcceptPolicyOnlyFromMainDocumentDomain 54} WebKitCookieStorageAcceptPolicy; 55 56typedef enum WebCacheModel { 57 WebCacheModelDocumentViewer = 0, 58 WebCacheModelDocumentBrowser = 1, 59 WebCacheModelPrimaryWebBrowser = 2 60} WebCacheModel; 61 62[ 63 object, 64 oleautomation, 65 hidden, 66 uuid(0930D594-A5A3-46e1-858E-AB17A13CD28E), 67 pointer_default(unique) 68] 69interface IWebPreferences : IUnknown 70{ 71 HRESULT standardPreferences([out, retval] IWebPreferences** standardPreferences); 72 73 HRESULT initWithIdentifier([in] BSTR anIdentifier, [out, retval] IWebPreferences** preferences); 74 HRESULT identifier([out, retval] BSTR* ident); 75 76 HRESULT standardFontFamily([out, retval] BSTR* family); 77 HRESULT setStandardFontFamily([in] BSTR family); 78 79 HRESULT fixedFontFamily([out, retval] BSTR* family); 80 HRESULT setFixedFontFamily([in] BSTR family); 81 82 HRESULT serifFontFamily([out, retval] BSTR* fontFamily); 83 HRESULT setSerifFontFamily([in] BSTR family); 84 85 HRESULT sansSerifFontFamily([out, retval] BSTR* family); 86 HRESULT setSansSerifFontFamily([in] BSTR family); 87 88 HRESULT cursiveFontFamily([out, retval] BSTR* family); 89 HRESULT setCursiveFontFamily([in] BSTR family); 90 91 HRESULT fantasyFontFamily([out, retval] BSTR* family); 92 HRESULT setFantasyFontFamily([in] BSTR family); 93 94 HRESULT defaultFontSize([out, retval] int* fontSize); 95 HRESULT setDefaultFontSize([in] int fontSize); 96 97 HRESULT defaultFixedFontSize([out, retval] int* fontSize); 98 HRESULT setDefaultFixedFontSize([in] int fontSize); 99 100 HRESULT minimumFontSize([out, retval] int* fontSize); 101 HRESULT setMinimumFontSize([in] int fontSize); 102 103 HRESULT minimumLogicalFontSize([out, retval] int* fontSize); 104 HRESULT setMinimumLogicalFontSize([in] int fontSize); 105 106 HRESULT defaultTextEncodingName([out, retval] BSTR* name); 107 HRESULT setDefaultTextEncodingName([in] BSTR name); 108 109 HRESULT userStyleSheetEnabled([out, retval] BOOL* enabled); 110 HRESULT setUserStyleSheetEnabled([in] BOOL enabled); 111 112 HRESULT userStyleSheetLocation([out, retval] BSTR* location); 113 HRESULT setUserStyleSheetLocation([in] BSTR location); 114 115 HRESULT isJavaEnabled([out, retval] BOOL* enabled); 116 HRESULT setJavaEnabled([in] BOOL enabled); 117 118 HRESULT isJavaScriptEnabled([out, retval] BOOL* enabled); 119 HRESULT setJavaScriptEnabled([in] BOOL enabled); 120 121 HRESULT javaScriptCanOpenWindowsAutomatically([out, retval] BOOL* enabled); 122 HRESULT setJavaScriptCanOpenWindowsAutomatically([in] BOOL enabled); 123 124 HRESULT arePlugInsEnabled([out, retval] BOOL* enabled); 125 HRESULT setPlugInsEnabled([in] BOOL enabled); 126 127 HRESULT allowsAnimatedImages([out, retval] BOOL* enabled); 128 HRESULT setAllowsAnimatedImages([in] BOOL enabled); 129 HRESULT allowAnimatedImageLooping([out, retval] BOOL* enabled); 130 HRESULT setAllowAnimatedImageLooping([in] BOOL enabled); 131 132 HRESULT setLoadsImagesAutomatically([in] BOOL enabled); 133 HRESULT loadsImagesAutomatically([out, retval] BOOL* enabled); 134 135 HRESULT setAutosaves([in] BOOL enabled); 136 HRESULT autosaves([out, retval] BOOL* enabled); 137 138 HRESULT setShouldPrintBackgrounds([in] BOOL enabled); 139 HRESULT shouldPrintBackgrounds([out, retval] BOOL* enabled); 140 141 HRESULT setPrivateBrowsingEnabled([in] BOOL enabled); 142 HRESULT privateBrowsingEnabled([out, retval] BOOL* enabled); 143 144 HRESULT setTabsToLinks([in] BOOL enabled); 145 HRESULT tabsToLinks([out, retval] BOOL* enabled); 146 147 HRESULT textAreasAreResizable([out, retval] BOOL* enabled); 148 HRESULT setTextAreasAreResizable([in] BOOL enabled); 149 150 HRESULT unused1(); 151 HRESULT unused2(); 152 153 HRESULT iconDatabaseLocation([out, retval] BSTR* location); 154 HRESULT setIconDatabaseLocation([in] BSTR location); 155 156 HRESULT iconDatabaseEnabled([out, retval] BOOL* enabled); 157 HRESULT setIconDatabaseEnabled([in] BOOL enabled); 158 159 HRESULT fontSmoothing([out, retval] FontSmoothingType* smoothingType); 160 HRESULT setFontSmoothing([in] FontSmoothingType smoothingType); 161 162 HRESULT editableLinkBehavior([out, retval] WebKitEditableLinkBehavior* editableLinkBehavior); 163 HRESULT setEditableLinkBehavior([in] WebKitEditableLinkBehavior behavior); 164 165 HRESULT cookieStorageAcceptPolicy([out, retval] WebKitCookieStorageAcceptPolicy* acceptPolicy); 166 HRESULT setCookieStorageAcceptPolicy([in] WebKitCookieStorageAcceptPolicy acceptPolicy); 167 168 HRESULT continuousSpellCheckingEnabled([out, retval] BOOL* enabled); 169 HRESULT setContinuousSpellCheckingEnabled([in] BOOL enabled); 170 HRESULT grammarCheckingEnabled([out, retval] BOOL* enabled); 171 HRESULT setGrammarCheckingEnabled([in] BOOL enabled); 172 HRESULT allowContinuousSpellChecking([out, retval] BOOL *allowed); 173 HRESULT setAllowContinuousSpellChecking([in] BOOL allowed); 174 175 HRESULT isDOMPasteAllowed([out, retval] BOOL *allowed); 176 HRESULT setDOMPasteAllowed([in] BOOL allowed); 177 178 HRESULT usesPageCache([out, retval] BOOL* usesPageCache); 179 HRESULT setUsesPageCache([in] BOOL usesPageCache); 180 181 HRESULT cacheModel([out, retval] WebCacheModel* cacheModel); 182 HRESULT setCacheModel([in] WebCacheModel cacheModel); 183 184 HRESULT setShouldPaintCustomScrollbars(BOOL shouldPaint); 185 HRESULT shouldPaintCustomScrollbars(BOOL *shouldPaint); 186 187 HRESULT setZoomsTextOnly(BOOL zoomsTextOnly); 188 HRESULT zoomsTextOnly(BOOL *zoomsTextOnly); 189} 190