1/* 2 * Copyright (C) 2006, 2007, 2008, 2009 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 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 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 26#ifndef WebPreferences_H 27#define WebPreferences_H 28 29#include "WebKit.h" 30#include <CoreFoundation/CoreFoundation.h> 31#include <WebCore/BString.h> 32#include <wtf/RetainPtr.h> 33 34class WebPreferences : public IWebPreferences, public IWebPreferencesPrivate { 35public: 36 static WebPreferences* createInstance(); 37protected: 38 WebPreferences(); 39 ~WebPreferences(); 40 41public: 42 // IUnknown 43 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 44 virtual ULONG STDMETHODCALLTYPE AddRef(void); 45 virtual ULONG STDMETHODCALLTYPE Release(void); 46 47 // IWebPreferences 48 virtual HRESULT STDMETHODCALLTYPE standardPreferences( 49 /* [retval][out] */ IWebPreferences** standardPreferences); 50 51 virtual HRESULT STDMETHODCALLTYPE initWithIdentifier( 52 /* [in] */ BSTR anIdentifier, 53 /* [retval][out] */ IWebPreferences** preferences); 54 55 virtual HRESULT STDMETHODCALLTYPE identifier( 56 /* [retval][out] */ BSTR* ident); 57 58 virtual HRESULT STDMETHODCALLTYPE standardFontFamily( 59 /* [retval][out] */ BSTR* family); 60 61 virtual HRESULT STDMETHODCALLTYPE setStandardFontFamily( 62 /* [in] */ BSTR family); 63 64 virtual HRESULT STDMETHODCALLTYPE fixedFontFamily( 65 /* [retval][out] */ BSTR* family); 66 67 virtual HRESULT STDMETHODCALLTYPE setFixedFontFamily( 68 /* [in] */ BSTR family); 69 70 virtual HRESULT STDMETHODCALLTYPE serifFontFamily( 71 /* [retval][out] */ BSTR* fontFamily); 72 73 virtual HRESULT STDMETHODCALLTYPE setSerifFontFamily( 74 /* [in] */ BSTR family); 75 76 virtual HRESULT STDMETHODCALLTYPE sansSerifFontFamily( 77 /* [retval][out] */ BSTR* family); 78 79 virtual HRESULT STDMETHODCALLTYPE setSansSerifFontFamily( 80 /* [in] */ BSTR family); 81 82 virtual HRESULT STDMETHODCALLTYPE cursiveFontFamily( 83 /* [retval][out] */ BSTR* family); 84 85 virtual HRESULT STDMETHODCALLTYPE setCursiveFontFamily( 86 /* [in] */ BSTR family); 87 88 virtual HRESULT STDMETHODCALLTYPE fantasyFontFamily( 89 /* [retval][out] */ BSTR* family); 90 91 virtual HRESULT STDMETHODCALLTYPE setFantasyFontFamily( 92 /* [in] */ BSTR family); 93 94 virtual HRESULT STDMETHODCALLTYPE pictographFontFamily( 95 /* [retval][out] */ BSTR* family); 96 97 virtual HRESULT STDMETHODCALLTYPE setPictographFontFamily( 98 /* [in] */ BSTR family); 99 100 virtual HRESULT STDMETHODCALLTYPE defaultFontSize( 101 /* [retval][out] */ int* fontSize); 102 103 virtual HRESULT STDMETHODCALLTYPE setDefaultFontSize( 104 /* [in] */ int fontSize); 105 106 virtual HRESULT STDMETHODCALLTYPE defaultFixedFontSize( 107 /* [retval][out] */ int* fontSize); 108 109 virtual HRESULT STDMETHODCALLTYPE setDefaultFixedFontSize( 110 /* [in] */ int fontSize); 111 112 virtual HRESULT STDMETHODCALLTYPE minimumFontSize( 113 /* [retval][out] */ int* fontSize); 114 115 virtual HRESULT STDMETHODCALLTYPE setMinimumFontSize( 116 /* [in] */ int fontSize); 117 118 virtual HRESULT STDMETHODCALLTYPE minimumLogicalFontSize( 119 /* [retval][out] */ int* fontSize); 120 121 virtual HRESULT STDMETHODCALLTYPE setMinimumLogicalFontSize( 122 /* [in] */ int fontSize); 123 124 virtual HRESULT STDMETHODCALLTYPE defaultTextEncodingName( 125 /* [retval][out] */ BSTR* name); 126 127 virtual HRESULT STDMETHODCALLTYPE setDefaultTextEncodingName( 128 /* [in] */ BSTR name); 129 130 virtual HRESULT STDMETHODCALLTYPE userStyleSheetEnabled( 131 /* [retval][out] */ BOOL* enabled); 132 133 virtual HRESULT STDMETHODCALLTYPE setUserStyleSheetEnabled( 134 /* [in] */ BOOL enabled); 135 136 virtual HRESULT STDMETHODCALLTYPE userStyleSheetLocation( 137 /* [retval][out] */ BSTR* location); 138 139 virtual HRESULT STDMETHODCALLTYPE setUserStyleSheetLocation( 140 /* [in] */ BSTR location); 141 142 virtual HRESULT STDMETHODCALLTYPE isJavaEnabled( 143 /* [retval][out] */ BOOL* enabled); 144 145 virtual HRESULT STDMETHODCALLTYPE setJavaEnabled( 146 /* [in] */ BOOL enabled); 147 148 virtual HRESULT STDMETHODCALLTYPE isJavaScriptEnabled( 149 /* [retval][out] */ BOOL* enabled); 150 151 virtual HRESULT STDMETHODCALLTYPE setJavaScriptEnabled( 152 /* [in] */ BOOL enabled); 153 154 virtual HRESULT STDMETHODCALLTYPE javaScriptCanOpenWindowsAutomatically( 155 /* [retval][out] */ BOOL* enabled); 156 157 virtual HRESULT STDMETHODCALLTYPE setJavaScriptCanOpenWindowsAutomatically( 158 /* [in] */ BOOL enabled); 159 160 virtual HRESULT STDMETHODCALLTYPE arePlugInsEnabled( 161 /* [retval][out] */ BOOL* enabled); 162 163 virtual HRESULT STDMETHODCALLTYPE setPlugInsEnabled( 164 /* [in] */ BOOL enabled); 165 166 virtual HRESULT STDMETHODCALLTYPE isCSSRegionsEnabled( 167 /* [retval][out] */ BOOL* enabled); 168 169 virtual HRESULT STDMETHODCALLTYPE setCSSRegionsEnabled( 170 /* [in] */ BOOL); 171 172 virtual HRESULT STDMETHODCALLTYPE unused7(); 173 virtual HRESULT STDMETHODCALLTYPE unused8(); 174 175 virtual HRESULT STDMETHODCALLTYPE allowsAnimatedImages( 176 /* [retval][out] */ BOOL* enabled); 177 178 virtual HRESULT STDMETHODCALLTYPE setAllowsAnimatedImages( 179 /* [in] */ BOOL enabled); 180 181 virtual HRESULT STDMETHODCALLTYPE allowAnimatedImageLooping( 182 /* [retval][out] */ BOOL* enabled); 183 184 virtual HRESULT STDMETHODCALLTYPE setAllowAnimatedImageLooping( 185 /* [in] */ BOOL enabled); 186 187 virtual HRESULT STDMETHODCALLTYPE setLoadsImagesAutomatically( 188 /* [in] */ BOOL enabled); 189 190 virtual HRESULT STDMETHODCALLTYPE loadsImagesAutomatically( 191 /* [retval][out] */ BOOL* enabled); 192 193 virtual HRESULT STDMETHODCALLTYPE setAutosaves( 194 /* [in] */ BOOL enabled); 195 196 virtual HRESULT STDMETHODCALLTYPE autosaves( 197 /* [retval][out] */ BOOL* enabled); 198 199 virtual HRESULT STDMETHODCALLTYPE setShouldPrintBackgrounds( 200 /* [in] */ BOOL enabled); 201 202 virtual HRESULT STDMETHODCALLTYPE shouldPrintBackgrounds( 203 /* [retval][out] */ BOOL* enabled); 204 205 virtual HRESULT STDMETHODCALLTYPE setPrivateBrowsingEnabled( 206 /* [in] */ BOOL enabled); 207 208 virtual HRESULT STDMETHODCALLTYPE privateBrowsingEnabled( 209 /* [retval][out] */ BOOL* enabled); 210 211 virtual HRESULT STDMETHODCALLTYPE setTabsToLinks( 212 /* [in] */ BOOL enabled); 213 214 virtual HRESULT STDMETHODCALLTYPE tabsToLinks( 215 /* [retval][out] */ BOOL* enabled); 216 217 virtual HRESULT STDMETHODCALLTYPE textAreasAreResizable( 218 /* [retval][out] */ BOOL *enabled); 219 220 virtual HRESULT STDMETHODCALLTYPE setTextAreasAreResizable( 221 /* [in] */ BOOL enabled); 222 223 virtual HRESULT STDMETHODCALLTYPE usesPageCache( 224 /* [retval][out] */ BOOL *usesPageCache); 225 226 virtual HRESULT STDMETHODCALLTYPE setUsesPageCache( 227 /* [in] */ BOOL usesPageCache); 228 229 virtual HRESULT STDMETHODCALLTYPE unused1(); 230 virtual HRESULT STDMETHODCALLTYPE unused2(); 231 232 virtual HRESULT STDMETHODCALLTYPE iconDatabaseLocation( 233 /* [retval][out] */ BSTR* location); 234 235 virtual HRESULT STDMETHODCALLTYPE setIconDatabaseLocation( 236 /* [in] */ BSTR location); 237 238 virtual HRESULT STDMETHODCALLTYPE iconDatabaseEnabled( 239 /* [retval][out] */ BOOL* enabled); 240 241 virtual HRESULT STDMETHODCALLTYPE setIconDatabaseEnabled( 242 /* [in] */ BOOL enabled); 243 244 virtual HRESULT STDMETHODCALLTYPE fontSmoothing( 245 /* [retval][out] */ FontSmoothingType* smoothingType); 246 247 virtual HRESULT STDMETHODCALLTYPE setFontSmoothing( 248 /* [in] */ FontSmoothingType smoothingType); 249 250 virtual HRESULT STDMETHODCALLTYPE editableLinkBehavior( 251 /* [retval][out] */ WebKitEditableLinkBehavior* behavior); 252 253 virtual HRESULT STDMETHODCALLTYPE setEditableLinkBehavior( 254 /* [in] */ WebKitEditableLinkBehavior behavior); 255 256 virtual HRESULT STDMETHODCALLTYPE unused5(); 257 virtual HRESULT STDMETHODCALLTYPE unused6(); 258 259 virtual HRESULT STDMETHODCALLTYPE cookieStorageAcceptPolicy( 260 /* [retval][out] */ WebKitCookieStorageAcceptPolicy *acceptPolicy); 261 262 virtual HRESULT STDMETHODCALLTYPE setCookieStorageAcceptPolicy( 263 /* [in] */ WebKitCookieStorageAcceptPolicy acceptPolicy); 264 265 virtual HRESULT STDMETHODCALLTYPE continuousSpellCheckingEnabled( 266 /* [retval][out] */ BOOL *enabled); 267 268 virtual HRESULT STDMETHODCALLTYPE setContinuousSpellCheckingEnabled( 269 /* [in] */ BOOL enabled); 270 271 virtual HRESULT STDMETHODCALLTYPE grammarCheckingEnabled( 272 /* [retval][out] */ BOOL *enabled); 273 274 virtual HRESULT STDMETHODCALLTYPE setGrammarCheckingEnabled( 275 /* [in] */ BOOL enabled); 276 277 virtual HRESULT STDMETHODCALLTYPE allowContinuousSpellChecking( 278 /* [retval][out] */ BOOL *enabled); 279 280 virtual HRESULT STDMETHODCALLTYPE setAllowContinuousSpellChecking( 281 /* [in] */ BOOL enabled); 282 283 virtual HRESULT STDMETHODCALLTYPE isDOMPasteAllowed( 284 /* [retval][out] */ BOOL *enabled); 285 286 virtual HRESULT STDMETHODCALLTYPE setDOMPasteAllowed( 287 /* [in] */ BOOL enabled); 288 289 virtual HRESULT STDMETHODCALLTYPE cacheModel( 290 /* [retval][out] */ WebCacheModel* cacheModel); 291 292 virtual HRESULT STDMETHODCALLTYPE setCacheModel( 293 /* [in] */ WebCacheModel cacheModel); 294 295 virtual HRESULT STDMETHODCALLTYPE unused3(); 296 virtual HRESULT STDMETHODCALLTYPE unused4(); 297 298 virtual HRESULT STDMETHODCALLTYPE setAVFoundationEnabled( 299 /* [in] */ BOOL); 300 301 virtual HRESULT STDMETHODCALLTYPE avFoundationEnabled( 302 /* [retval][out] */ BOOL*); 303 304 virtual HRESULT STDMETHODCALLTYPE setShouldDisplaySubtitles( 305 /* [in] */ BOOL); 306 307 virtual HRESULT STDMETHODCALLTYPE shouldDisplaySubtitles( 308 /* [retval][out] */ BOOL*); 309 310 virtual HRESULT STDMETHODCALLTYPE setShouldDisplayCaptions( 311 /* [in] */ BOOL); 312 313 virtual HRESULT STDMETHODCALLTYPE shouldDisplayCaptions( 314 /* [retval][out] */ BOOL*); 315 316 virtual HRESULT STDMETHODCALLTYPE setShouldDisplayTextDescriptions( 317 /* [in] */ BOOL); 318 319 virtual HRESULT STDMETHODCALLTYPE shouldDisplayTextDescriptions( 320 /* [retval][out] */ BOOL*); 321 322 // IWebPreferencesPrivate 323 virtual HRESULT STDMETHODCALLTYPE setDeveloperExtrasEnabled( 324 /* [in] */ BOOL); 325 326 virtual HRESULT STDMETHODCALLTYPE developerExtrasEnabled( 327 /* [retval][out] */ BOOL*); 328 329 virtual HRESULT STDMETHODCALLTYPE setAutomaticallyDetectsCacheModel( 330 /* [in] */ BOOL automaticallyDetectsCacheModel); 331 332 virtual HRESULT STDMETHODCALLTYPE automaticallyDetectsCacheModel( 333 /* [out, retval] */ BOOL* automaticallyDetectsCacheModel); 334 335 virtual HRESULT STDMETHODCALLTYPE setAuthorAndUserStylesEnabled(BOOL); 336 virtual HRESULT STDMETHODCALLTYPE authorAndUserStylesEnabled(BOOL*); 337 338 virtual HRESULT STDMETHODCALLTYPE inApplicationChromeMode( 339 /* [retval][out] */ BOOL *enabled); 340 341 virtual HRESULT STDMETHODCALLTYPE setApplicationChromeMode( 342 /* [in] */ BOOL enabled); 343 344 virtual HRESULT STDMETHODCALLTYPE setOfflineWebApplicationCacheEnabled( 345 /* [in] */ BOOL enabled); 346 347 virtual HRESULT STDMETHODCALLTYPE offlineWebApplicationCacheEnabled( 348 /* [retval][out] */ BOOL *enabled); 349 350 virtual HRESULT STDMETHODCALLTYPE setDatabasesEnabled( 351 /* [in] */ BOOL enabled); 352 353 virtual HRESULT STDMETHODCALLTYPE databasesEnabled( 354 /* [retval][out] */ BOOL *enabled); 355 356 virtual HRESULT STDMETHODCALLTYPE setLocalStorageEnabled( 357 /* [in] */ BOOL enabled); 358 359 virtual HRESULT STDMETHODCALLTYPE localStorageEnabled( 360 /* [retval][out] */ BOOL *enabled); 361 362 virtual HRESULT STDMETHODCALLTYPE localStorageDatabasePath( 363 /* [out, retval] */ BSTR* location); 364 365 virtual HRESULT STDMETHODCALLTYPE setLocalStorageDatabasePath( 366 /* [in] */ BSTR location); 367 368 virtual HRESULT STDMETHODCALLTYPE experimentalNotificationsEnabled( 369 /* [retval][out] */ BOOL *enabled); 370 371 virtual HRESULT STDMETHODCALLTYPE setExperimentalNotificationsEnabled( 372 /* [in] */ BOOL enabled); 373 374 virtual HRESULT STDMETHODCALLTYPE setShouldPaintNativeControls( 375 /* [in] */ BOOL shouldPaint); 376 377 virtual HRESULT STDMETHODCALLTYPE shouldPaintNativeControls( 378 /* [retval][out] */ BOOL *shouldPaint); 379 380 virtual HRESULT STDMETHODCALLTYPE setZoomsTextOnly( 381 /* [retval][out] */ BOOL zoomsTextOnly); 382 383 virtual HRESULT STDMETHODCALLTYPE zoomsTextOnly( 384 /* [retval][out] */ BOOL *zoomsTextOnly); 385 386 virtual HRESULT STDMETHODCALLTYPE fontSmoothingContrast( 387 /* [retval][out] */ float* contrast); 388 389 virtual HRESULT STDMETHODCALLTYPE setFontSmoothingContrast( 390 /* [in] */ float contrast); 391 392 virtual HRESULT STDMETHODCALLTYPE isWebSecurityEnabled( 393 /* [retval][out] */ BOOL* enabled); 394 395 virtual HRESULT STDMETHODCALLTYPE setWebSecurityEnabled( 396 /* [in] */ BOOL enabled); 397 398 virtual HRESULT STDMETHODCALLTYPE allowUniversalAccessFromFileURLs( 399 /* [retval][out] */ BOOL* allowAccess); 400 401 virtual HRESULT STDMETHODCALLTYPE setAllowUniversalAccessFromFileURLs( 402 /* [in] */ BOOL allowAccess); 403 404 virtual HRESULT STDMETHODCALLTYPE allowFileAccessFromFileURLs( 405 /* [retval][out] */ BOOL* allowAccess); 406 407 virtual HRESULT STDMETHODCALLTYPE setAllowFileAccessFromFileURLs( 408 /* [in] */ BOOL allowAccess); 409 410 virtual HRESULT STDMETHODCALLTYPE javaScriptCanAccessClipboard( 411 /* [retval][out] */ BOOL* enabled); 412 413 virtual HRESULT STDMETHODCALLTYPE setJavaScriptCanAccessClipboard( 414 /* [in] */ BOOL enabled); 415 416 virtual HRESULT STDMETHODCALLTYPE isXSSAuditorEnabled( 417 /* [retval][out] */ BOOL* enabled); 418 419 virtual HRESULT STDMETHODCALLTYPE setXSSAuditorEnabled( 420 /* [in] */ BOOL enabled); 421 422 virtual HRESULT STDMETHODCALLTYPE setShouldUseHighResolutionTimers( 423 /* [in] */ BOOL useHighResolutionTimers); 424 425 virtual HRESULT STDMETHODCALLTYPE shouldUseHighResolutionTimers( 426 /* [retval][out] */ BOOL* useHighResolutionTimers); 427 428 virtual HRESULT STDMETHODCALLTYPE isFrameFlatteningEnabled( 429 /* [retval][out] */ BOOL* enabled); 430 431 virtual HRESULT STDMETHODCALLTYPE setFrameFlatteningEnabled( 432 /* [in] */ BOOL enabled); 433 434 virtual HRESULT STDMETHODCALLTYPE setPreferenceForTest( 435 /* [in] */ BSTR key, 436 /* [in] */ BSTR value); 437 438 virtual HRESULT STDMETHODCALLTYPE setAcceleratedCompositingEnabled(BOOL); 439 virtual HRESULT STDMETHODCALLTYPE acceleratedCompositingEnabled(BOOL*); 440 441 virtual HRESULT STDMETHODCALLTYPE setCustomDragCursorsEnabled(BOOL); 442 virtual HRESULT STDMETHODCALLTYPE customDragCursorsEnabled(BOOL*); 443 444 virtual HRESULT STDMETHODCALLTYPE setShowDebugBorders(BOOL); 445 virtual HRESULT STDMETHODCALLTYPE showDebugBorders(BOOL*); 446 447 virtual HRESULT STDMETHODCALLTYPE setShowRepaintCounter(BOOL); 448 virtual HRESULT STDMETHODCALLTYPE showRepaintCounter(BOOL*); 449 450 virtual HRESULT STDMETHODCALLTYPE setDNSPrefetchingEnabled(BOOL); 451 virtual HRESULT STDMETHODCALLTYPE isDNSPrefetchingEnabled(BOOL*); 452 453 virtual HRESULT STDMETHODCALLTYPE hyperlinkAuditingEnabled(BOOL*); 454 virtual HRESULT STDMETHODCALLTYPE setHyperlinkAuditingEnabled(BOOL); 455 456 virtual HRESULT STDMETHODCALLTYPE loadsSiteIconsIgnoringImageLoadingPreference(BOOL*); 457 virtual HRESULT STDMETHODCALLTYPE setLoadsSiteIconsIgnoringImageLoadingPreference(BOOL); 458 459 virtual HRESULT STDMETHODCALLTYPE setFullScreenEnabled(BOOL); 460 virtual HRESULT STDMETHODCALLTYPE isFullScreenEnabled(BOOL*); 461 462 virtual HRESULT STDMETHODCALLTYPE hixie76WebSocketProtocolEnabled(BOOL*); 463 virtual HRESULT STDMETHODCALLTYPE setHixie76WebSocketProtocolEnabled(BOOL); 464 465 virtual HRESULT STDMETHODCALLTYPE mediaPlaybackRequiresUserGesture(BOOL*); 466 virtual HRESULT STDMETHODCALLTYPE setMediaPlaybackRequiresUserGesture(BOOL); 467 468 virtual HRESULT STDMETHODCALLTYPE mediaPlaybackAllowsInline(BOOL*); 469 virtual HRESULT STDMETHODCALLTYPE setMediaPlaybackAllowsInline(BOOL); 470 471 virtual HRESULT STDMETHODCALLTYPE showsToolTipOverTruncatedText(BOOL*); 472 virtual HRESULT STDMETHODCALLTYPE setShowsToolTipOverTruncatedText(BOOL); 473 474 virtual HRESULT STDMETHODCALLTYPE shouldInvertColors(BOOL*); 475 virtual HRESULT STDMETHODCALLTYPE setShouldInvertColors(BOOL); 476 477 virtual HRESULT STDMETHODCALLTYPE requestAnimationFrameEnabled(BOOL*); 478 virtual HRESULT STDMETHODCALLTYPE setRequestAnimationFrameEnabled(BOOL); 479 480 virtual HRESULT STDMETHODCALLTYPE mockScrollbarsEnabled(BOOL*); 481 virtual HRESULT STDMETHODCALLTYPE setMockScrollbarsEnabled(BOOL); 482 483 virtual HRESULT STDMETHODCALLTYPE screenFontSubstitutionEnabled(BOOL*); 484 virtual HRESULT STDMETHODCALLTYPE setScreenFontSubstitutionEnabled(BOOL); 485 486 virtual HRESULT STDMETHODCALLTYPE isInheritURIQueryComponentEnabled(BOOL*); 487 virtual HRESULT STDMETHODCALLTYPE setEnableInheritURIQueryComponent(BOOL); 488 489 // WebPreferences 490 491 // This method accesses a different preference key than developerExtrasEnabled. 492 // See <rdar://5343767> for the justification. 493 bool developerExtrasDisabledByOverride(); 494 495 static BSTR webPreferencesChangedNotification(); 496 static BSTR webPreferencesRemovedNotification(); 497 498 static void setInstance(WebPreferences* instance, BSTR identifier); 499 static void removeReferenceForIdentifier(BSTR identifier); 500 static WebPreferences* sharedStandardPreferences(); 501 502 // From WebHistory.h 503 HRESULT historyItemLimit(int* limit); 504 HRESULT setHistoryItemLimit(int limit); 505 HRESULT historyAgeInDaysLimit(int* limit); 506 HRESULT setHistoryAgeInDaysLimit(int limit); 507 508 void willAddToWebView(); 509 void didRemoveFromWebView(); 510 511 HRESULT postPreferencesChangesNotification(); 512 513protected: 514 void setValueForKey(CFStringRef key, CFPropertyListRef value); 515 RetainPtr<CFPropertyListRef> valueForKey(CFStringRef key); 516 void setValueForKey(const char* key, CFPropertyListRef value); 517 RetainPtr<CFPropertyListRef> valueForKey(const char* key); 518 BSTR stringValueForKey(const char* key); 519 int integerValueForKey(const char* key); 520 BOOL boolValueForKey(const char* key); 521 float floatValueForKey(const char* key); 522 LONGLONG longlongValueForKey(const char* key); 523 void setStringValue(const char* key, BSTR value); 524 void setIntegerValue(const char* key, int value); 525 void setBoolValue(const char* key, BOOL value); 526 void setFloatValue(const char* key, float value); 527 void setLongLongValue(const char* key, LONGLONG value); 528 static WebPreferences* getInstanceForIdentifier(BSTR identifier); 529 static void initializeDefaultSettings(); 530 void save(); 531 void load(); 532 void migrateWebKitPreferencesToCFPreferences(); 533 void copyWebKitPreferencesToCFPreferences(CFDictionaryRef); 534 535protected: 536 ULONG m_refCount; 537 RetainPtr<CFMutableDictionaryRef> m_privatePrefs; 538 WebCore::BString m_identifier; 539 bool m_autoSaves; 540 bool m_automaticallyDetectsCacheModel; 541 unsigned m_numWebViews; 542}; 543 544#endif 545