WebKit2 does not have application cache
[WebKit.git] / WebKit2 / Shared / WebPreferencesStore.h
1 /*
2  * Copyright (C) 2010 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. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 #ifndef WebPreferencesStore_h
27 #define WebPreferencesStore_h
28
29 #include "ArgumentDecoder.h"
30 #include "ArgumentEncoder.h"
31 #include "WebCoreArgumentCoders.h"
32 #include <WebCore/PlatformString.h>
33
34 namespace WebKit {
35
36 struct WebPreferencesStore {
37     WebPreferencesStore();
38     WebPreferencesStore(const WebPreferencesStore&);
39     WebPreferencesStore& operator=(const WebPreferencesStore&);
40     void swap(WebPreferencesStore&);
41
42     void encode(CoreIPC::ArgumentEncoder& encoder) const
43     {
44         encoder.encode(javaScriptEnabled);
45         encoder.encode(loadsImagesAutomatically);
46         encoder.encode(pluginsEnabled);
47         encoder.encode(offlineWebApplicationCacheEnabled);
48         encoder.encode(minimumFontSize);
49         encoder.encode(minimumLogicalFontSize);
50         encoder.encode(defaultFontSize);
51         encoder.encode(defaultFixedFontSize);
52         encoder.encode(standardFontFamily);
53         encoder.encode(cursiveFontFamily);
54         encoder.encode(fantasyFontFamily);
55         encoder.encode(fixedFontFamily);
56         encoder.encode(sansSerifFontFamily);
57         encoder.encode(serifFontFamily);
58     }
59
60     static bool decode(CoreIPC::ArgumentDecoder& decoder, WebPreferencesStore& s)
61     {
62         if (!decoder.decode(s.javaScriptEnabled))
63             return false;
64         if (!decoder.decode(s.loadsImagesAutomatically))
65             return false;
66         if (!decoder.decode(s.pluginsEnabled))
67             return false;
68         if (!decoder.decode(s.offlineWebApplicationCacheEnabled))
69             return false;
70         if (!decoder.decode(s.minimumFontSize))
71             return false;
72         if (!decoder.decode(s.minimumLogicalFontSize))
73             return false;
74         if (!decoder.decode(s.defaultFontSize))
75             return false;
76         if (!decoder.decode(s.defaultFixedFontSize))
77             return false;
78         if (!decoder.decode(s.standardFontFamily))
79             return false;
80         if (!decoder.decode(s.cursiveFontFamily))
81             return false;
82         if (!decoder.decode(s.fantasyFontFamily))
83             return false;
84         if (!decoder.decode(s.fixedFontFamily))
85             return false;
86         if (!decoder.decode(s.sansSerifFontFamily))
87             return false;
88         if (!decoder.decode(s.serifFontFamily))
89             return false;
90         return true;
91     }
92
93     bool javaScriptEnabled;
94     bool loadsImagesAutomatically;
95     bool pluginsEnabled;
96     bool offlineWebApplicationCacheEnabled;
97
98     uint32_t minimumFontSize;
99     uint32_t minimumLogicalFontSize;
100     uint32_t defaultFontSize;
101     uint32_t defaultFixedFontSize;
102     WebCore::String standardFontFamily;
103     WebCore::String cursiveFontFamily;
104     WebCore::String fantasyFontFamily;
105     WebCore::String fixedFontFamily;
106     WebCore::String sansSerifFontFamily;
107     WebCore::String serifFontFamily;
108 };
109
110 } // namespace WebKit
111
112 #endif // WebPreferencesStore_h