WebSettingsImpl.h 5.79 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
/*
 * Copyright (C) 2009 Google 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:
 *
 *     * Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 *     * 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.
 *     * Neither the name of Google Inc. 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 THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
 * OWNER OR 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.
 */

#ifndef WebSettingsImpl_h
#define WebSettingsImpl_h

34
#include "WebSettings.h"
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

namespace WebCore {
class Settings;
}

namespace WebKit {

class WebSettingsImpl : public WebSettings {
public:
    explicit WebSettingsImpl(WebCore::Settings*);
    virtual ~WebSettingsImpl() { }

    virtual void setStandardFontFamily(const WebString&);
    virtual void setFixedFontFamily(const WebString&);
    virtual void setSerifFontFamily(const WebString&);
    virtual void setSansSerifFontFamily(const WebString&);
    virtual void setCursiveFontFamily(const WebString&);
    virtual void setFantasyFontFamily(const WebString&);
    virtual void setDefaultFontSize(int);
    virtual void setDefaultFixedFontSize(int);
    virtual void setMinimumFontSize(int);
    virtual void setMinimumLogicalFontSize(int);
    virtual void setDefaultTextEncodingName(const WebString&);
    virtual void setJavaScriptEnabled(bool);
    virtual void setWebSecurityEnabled(bool);
    virtual void setJavaScriptCanOpenWindowsAutomatically(bool);
    virtual void setLoadsImagesAutomatically(bool);
62
    virtual void setImagesEnabled(bool);
63 64 65
    virtual void setPluginsEnabled(bool);
    virtual void setDOMPasteAllowed(bool);
    virtual void setDeveloperExtrasEnabled(bool);
66
    virtual void setNeedsSiteSpecificQuirks(bool);
67 68 69 70 71 72
    virtual void setShrinksStandaloneImagesToFit(bool);
    virtual void setUsesEncodingDetector(bool);
    virtual void setTextAreasAreResizable(bool);
    virtual void setJavaEnabled(bool);
    virtual void setAllowScriptsToCloseWindows(bool);
    virtual void setUserStyleSheetLocation(const WebURL&);
73
    virtual void setAuthorAndUserStylesEnabled(bool);
74 75
    virtual void setUsesPageCache(bool);
    virtual void setDownloadableBinaryFontsEnabled(bool);
76
    virtual void setJavaScriptCanAccessClipboard(bool);
77
    virtual void setXSSAuditorEnabled(bool);
78
    virtual void setDNSPrefetchingEnabled(bool);
79 80
    virtual void setLocalStorageEnabled(bool);
    virtual void setEditableLinkBehaviorNeverLive();
81
    virtual void setFrameFlatteningEnabled(bool);
82 83 84
    virtual void setFontRenderingModeNormal();
    virtual void setShouldPaintCustomScrollbars(bool);
    virtual void setAllowUniversalAccessFromFileURLs(bool);
85
    virtual void setAllowFileAccessFromFileURLs(bool);
86 87
    virtual void setTextDirectionSubmenuInclusionBehaviorNeverIncluded();
    virtual void setOfflineWebApplicationCacheEnabled(bool);
88
    virtual void setWebAudioEnabled(bool);
89
    virtual void setExperimentalWebGLEnabled(bool);
90
    virtual void setOpenGLMultisamplingEnabled(bool);
91
    virtual void setShowDebugBorders(bool);
92 93 94 95
    virtual void setShowFPSCounter(bool);
    virtual bool showFPSCounter() const { return m_showFPSCounter; }
    virtual void setShowPlatformLayerTree(bool);
    virtual bool showPlatformLayerTree() const { return m_showPlatformLayerTree; }
96
    virtual void setEditingBehavior(EditingBehavior);
97
    virtual void setAcceleratedCompositingEnabled(bool);
98
    virtual void setForceCompositingMode(bool);
99 100
    virtual void setCompositeToTextureEnabled(bool);
    virtual bool compositeToTextureEnabled() const { return m_compositeToTextureEnabled; }
101 102 103 104
    virtual void setAcceleratedCompositingFor3DTransformsEnabled(bool);
    virtual void setAcceleratedCompositingForVideoEnabled(bool);
    virtual void setAcceleratedCompositingForPluginsEnabled(bool);
    virtual void setAcceleratedCompositingForCanvasEnabled(bool);
105
    virtual void setAcceleratedCompositingForAnimationEnabled(bool);
106
    virtual void setAccelerated2dCanvasEnabled(bool);
107
    virtual void setLegacyAccelerated2dCanvasEnabled(bool);
108
    virtual void setAcceleratedDrawingEnabled(bool);
109
    virtual void setMemoryInfoEnabled(bool);
110
    virtual void setHyperlinkAuditingEnabled(bool);
111
    virtual void setAsynchronousSpellCheckingEnabled(bool);
112
    virtual void setCaretBrowsingEnabled(bool);
113
    virtual void setInteractiveFormValidationEnabled(bool);
114
    virtual void setValidationMessageTimerMagnification(int);
115
    virtual void setMinimumTimerInterval(double);
116
    virtual void setFullScreenEnabled(bool);
117 118
    virtual void setAllowDisplayOfInsecureContent(bool);
    virtual void setAllowRunningOfInsecureContent(bool);
119 120 121

private:
    WebCore::Settings* m_settings;
122
    bool m_compositeToTextureEnabled;
123 124
    bool m_showFPSCounter;
    bool m_showPlatformLayerTree;
125 126 127 128 129
};

} // namespace WebKit

#endif