1/*
2 * Copyright (c) 2011 Motorola Mobility, Inc.  All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without modification,
5 * are permitted provided that the following conditions are met:
6 *
7 * Redistributions of source code must retain the above copyright notice,
8 * this list of conditions and the following disclaimer.
9 *
10 * Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation and/or
12 * other materials provided with the distribution.
13 *
14 * Neither the name of Motorola Mobility, Inc. nor the names of its contributors may
15 * be used to endorse or promote products derived from this software without
16 * specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
20 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
22 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
26 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31#if !defined(__WEBKIT2_H_INSIDE__) && !defined(WEBKIT2_COMPILATION)
32#error "Only <webkit2/webkit2.h> can be included directly."
33#endif
34
35#ifndef WebKitSettings_h
36#define WebKitSettings_h
37
38#include <glib-object.h>
39#include <webkit2/WebKitDefines.h>
40
41G_BEGIN_DECLS
42
43#define WEBKIT_TYPE_SETTINGS            (webkit_settings_get_type())
44#define WEBKIT_SETTINGS(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_SETTINGS, WebKitSettings))
45#define WEBKIT_SETTINGS_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass),  WEBKIT_TYPE_SETTINGS, WebKitSettingsClass))
46#define WEBKIT_IS_SETTINGS(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_SETTINGS))
47#define WEBKIT_IS_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),  WEBKIT_TYPE_SETTINGS))
48#define WEBKIT_SETTINGS_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj),  WEBKIT_TYPE_SETTINGS, WebKitSettingsClass))
49
50typedef struct _WebKitSettings WebKitSettings;
51typedef struct _WebKitSettingsClass WebKitSettingsClass;
52typedef struct _WebKitSettingsPrivate WebKitSettingsPrivate;
53
54struct _WebKitSettings {
55    GObject parent_instance;
56
57    WebKitSettingsPrivate *priv;
58};
59
60struct _WebKitSettingsClass {
61    GObjectClass parent_class;
62
63    void (*_webkit_reserved0) (void);
64    void (*_webkit_reserved1) (void);
65    void (*_webkit_reserved2) (void);
66    void (*_webkit_reserved3) (void);
67};
68
69WEBKIT_API GType
70webkit_settings_get_type(void);
71
72WEBKIT_API WebKitSettings *
73webkit_settings_new                                            (void);
74
75WEBKIT_API WebKitSettings *
76webkit_settings_new_with_settings                              (const gchar    *first_setting_name,
77                                                                ...);
78
79WEBKIT_API gboolean
80webkit_settings_get_enable_javascript                          (WebKitSettings *settings);
81
82WEBKIT_API void
83webkit_settings_set_enable_javascript                          (WebKitSettings *settings,
84                                                                gboolean        enabled);
85
86WEBKIT_API gboolean
87webkit_settings_get_auto_load_images                           (WebKitSettings *settings);
88
89WEBKIT_API void
90webkit_settings_set_auto_load_images                           (WebKitSettings *settings,
91                                                                gboolean        enabled);
92
93WEBKIT_API gboolean
94webkit_settings_get_load_icons_ignoring_image_load_setting     (WebKitSettings *settings);
95
96WEBKIT_API void
97webkit_settings_set_load_icons_ignoring_image_load_setting     (WebKitSettings *settings,
98                                                                gboolean        enabled);
99
100WEBKIT_API gboolean
101webkit_settings_get_enable_offline_web_application_cache       (WebKitSettings *settings);
102
103WEBKIT_API void
104webkit_settings_set_enable_offline_web_application_cache       (WebKitSettings *settings,
105                                                                gboolean        enabled);
106
107WEBKIT_API gboolean
108webkit_settings_get_enable_html5_local_storage                 (WebKitSettings *settings);
109
110WEBKIT_API void
111webkit_settings_set_enable_html5_local_storage                 (WebKitSettings *settings,
112                                                                gboolean        enabled);
113
114WEBKIT_API gboolean
115webkit_settings_get_enable_html5_database                      (WebKitSettings *settings);
116
117WEBKIT_API void
118webkit_settings_set_enable_html5_database                      (WebKitSettings *settings,
119                                                                gboolean        enabled);
120WEBKIT_API gboolean
121webkit_settings_get_enable_xss_auditor                         (WebKitSettings *settings);
122
123WEBKIT_API void
124webkit_settings_set_enable_xss_auditor                         (WebKitSettings *settings,
125                                                                gboolean        enabled);
126
127WEBKIT_API gboolean
128webkit_settings_get_enable_frame_flattening                    (WebKitSettings *settings);
129
130WEBKIT_API void
131webkit_settings_set_enable_frame_flattening                    (WebKitSettings *settings,
132                                                                gboolean        enabled);
133
134WEBKIT_API gboolean
135webkit_settings_get_enable_plugins                             (WebKitSettings *settings);
136
137WEBKIT_API void
138webkit_settings_set_enable_plugins                             (WebKitSettings *settings,
139                                                                gboolean        enabled);
140
141WEBKIT_API gboolean
142webkit_settings_get_enable_java                                (WebKitSettings *settings);
143
144WEBKIT_API void
145webkit_settings_set_enable_java                                (WebKitSettings *settings,
146                                                                gboolean        enabled);
147
148WEBKIT_API gboolean
149webkit_settings_get_javascript_can_open_windows_automatically  (WebKitSettings *settings);
150
151WEBKIT_API void
152webkit_settings_set_javascript_can_open_windows_automatically  (WebKitSettings *settings,
153                                                                gboolean        enabled);
154
155WEBKIT_API gboolean
156webkit_settings_get_enable_hyperlink_auditing                  (WebKitSettings *settings);
157
158WEBKIT_API void
159webkit_settings_set_enable_hyperlink_auditing                  (WebKitSettings *settings,
160                                                                gboolean        enabled);
161
162WEBKIT_API const gchar *
163webkit_settings_get_default_font_family                        (WebKitSettings *settings);
164
165WEBKIT_API void
166webkit_settings_set_default_font_family                        (WebKitSettings *settings,
167                                                                const gchar    *default_font_family);
168
169WEBKIT_API const gchar *
170webkit_settings_get_monospace_font_family                      (WebKitSettings *settings);
171
172WEBKIT_API void
173webkit_settings_set_monospace_font_family                      (WebKitSettings *settings,
174                                                                const gchar    *monospace_font_family);
175
176WEBKIT_API const gchar *
177webkit_settings_get_serif_font_family                          (WebKitSettings *settings);
178
179WEBKIT_API void
180webkit_settings_set_serif_font_family                          (WebKitSettings *settings,
181                                                                const gchar    *serif_font_family);
182
183WEBKIT_API const gchar *
184webkit_settings_get_sans_serif_font_family                     (WebKitSettings *settings);
185
186WEBKIT_API void
187webkit_settings_set_sans_serif_font_family                     (WebKitSettings *settings,
188                                                                const gchar    *sans_serif_font_family);
189
190WEBKIT_API const gchar *
191webkit_settings_get_cursive_font_family                        (WebKitSettings *settings);
192
193WEBKIT_API void
194webkit_settings_set_cursive_font_family                        (WebKitSettings *settings,
195                                                                const gchar    *cursive_font_family);
196
197WEBKIT_API const gchar *
198webkit_settings_get_fantasy_font_family                        (WebKitSettings *settings);
199
200WEBKIT_API void
201webkit_settings_set_fantasy_font_family                        (WebKitSettings *settings,
202                                                                const gchar    *fantasy_font_family);
203
204WEBKIT_API const gchar *
205webkit_settings_get_pictograph_font_family                     (WebKitSettings *settings);
206
207WEBKIT_API void
208webkit_settings_set_pictograph_font_family                     (WebKitSettings *settings,
209                                                                const gchar    *pictograph_font_family);
210
211WEBKIT_API guint32
212webkit_settings_get_default_font_size                          (WebKitSettings *settings);
213
214WEBKIT_API void
215webkit_settings_set_default_font_size                          (WebKitSettings *settings,
216                                                                guint32         font_size);
217
218WEBKIT_API guint32
219webkit_settings_get_default_monospace_font_size                (WebKitSettings *settings);
220
221WEBKIT_API void
222webkit_settings_set_default_monospace_font_size                (WebKitSettings *settings,
223                                                                guint32         font_size);
224
225WEBKIT_API guint32
226webkit_settings_get_minimum_font_size                          (WebKitSettings *settings);
227
228WEBKIT_API void
229webkit_settings_set_minimum_font_size                          (WebKitSettings *settings,
230                                                                guint32         font_size);
231
232WEBKIT_API const gchar *
233webkit_settings_get_default_charset                            (WebKitSettings *settings);
234
235WEBKIT_API void
236webkit_settings_set_default_charset                            (WebKitSettings *settings,
237                                                                const gchar    *default_charset);
238
239WEBKIT_API gboolean
240webkit_settings_get_enable_private_browsing                    (WebKitSettings *settings);
241
242WEBKIT_API void
243webkit_settings_set_enable_private_browsing                    (WebKitSettings *settings,
244                                                                gboolean        enabled);
245
246WEBKIT_API gboolean
247webkit_settings_get_enable_developer_extras                    (WebKitSettings *settings);
248
249WEBKIT_API void
250webkit_settings_set_enable_developer_extras                    (WebKitSettings *settings,
251                                                                gboolean        enabled);
252
253WEBKIT_API gboolean
254webkit_settings_get_enable_resizable_text_areas                (WebKitSettings *settings);
255
256WEBKIT_API void
257webkit_settings_set_enable_resizable_text_areas                (WebKitSettings *settings,
258                                                                gboolean        enabled);
259
260WEBKIT_API gboolean
261webkit_settings_get_enable_tabs_to_links                       (WebKitSettings *settings);
262
263WEBKIT_API void
264webkit_settings_set_enable_tabs_to_links                       (WebKitSettings *settings,
265                                                                gboolean        enabled);
266
267WEBKIT_API gboolean
268webkit_settings_get_enable_dns_prefetching                     (WebKitSettings *settings);
269
270WEBKIT_API void
271webkit_settings_set_enable_dns_prefetching                     (WebKitSettings *settings,
272                                                                gboolean        enabled);
273
274WEBKIT_API gboolean
275webkit_settings_get_enable_caret_browsing                      (WebKitSettings *settings);
276
277WEBKIT_API void
278webkit_settings_set_enable_caret_browsing                      (WebKitSettings *settings,
279                                                                gboolean        enabled);
280
281WEBKIT_API gboolean
282webkit_settings_get_enable_fullscreen                          (WebKitSettings *settings);
283
284WEBKIT_API void
285webkit_settings_set_enable_fullscreen                          (WebKitSettings *settings,
286                                                                gboolean        enabled);
287
288WEBKIT_API gboolean
289webkit_settings_get_print_backgrounds                          (WebKitSettings *settings);
290
291WEBKIT_API void
292webkit_settings_set_print_backgrounds                          (WebKitSettings *settings,
293                                                                gboolean        print_backgrounds);
294
295WEBKIT_API gboolean
296webkit_settings_get_enable_webaudio                            (WebKitSettings *settings);
297
298WEBKIT_API void
299webkit_settings_set_enable_webaudio                            (WebKitSettings *settings,
300                                                                gboolean        enabled);
301
302WEBKIT_API gboolean
303webkit_settings_get_enable_webgl                               (WebKitSettings *settings);
304
305WEBKIT_API void
306webkit_settings_set_enable_webgl                               (WebKitSettings *settings,
307                                                                gboolean        enabled);
308
309WEBKIT_API void
310webkit_settings_set_allow_modal_dialogs                        (WebKitSettings *settings,
311                                                                gboolean        allowed);
312
313WEBKIT_API gboolean
314webkit_settings_get_allow_modal_dialogs                        (WebKitSettings *settings);
315
316WEBKIT_API void
317webkit_settings_set_zoom_text_only                             (WebKitSettings *settings,
318                                                                gboolean        zoom_text_only);
319
320WEBKIT_API gboolean
321webkit_settings_get_zoom_text_only                             (WebKitSettings *settings);
322
323WEBKIT_API gboolean
324webkit_settings_get_javascript_can_access_clipboard            (WebKitSettings *settings);
325
326WEBKIT_API void
327webkit_settings_set_javascript_can_access_clipboard            (WebKitSettings *settings,
328                                                                gboolean        enabled);
329
330WEBKIT_API gboolean
331webkit_settings_get_media_playback_requires_user_gesture       (WebKitSettings *settings);
332
333WEBKIT_API void
334webkit_settings_set_media_playback_requires_user_gesture       (WebKitSettings *settings,
335                                                                gboolean        enabled);
336
337WEBKIT_API gboolean
338webkit_settings_get_media_playback_allows_inline               (WebKitSettings *settings);
339
340WEBKIT_API void
341webkit_settings_set_media_playback_allows_inline               (WebKitSettings *settings,
342                                                                gboolean        enabled);
343WEBKIT_API gboolean
344webkit_settings_get_draw_compositing_indicators                (WebKitSettings *settings);
345
346WEBKIT_API void
347webkit_settings_set_draw_compositing_indicators                (WebKitSettings *settings,
348                                                                gboolean        enabled);
349
350WEBKIT_API gboolean
351webkit_settings_get_enable_site_specific_quirks                (WebKitSettings *settings);
352
353WEBKIT_API void
354webkit_settings_set_enable_site_specific_quirks                (WebKitSettings *settings,
355                                                                gboolean        enabled);
356
357WEBKIT_API gboolean
358webkit_settings_get_enable_page_cache                          (WebKitSettings *settings);
359
360WEBKIT_API void
361webkit_settings_set_enable_page_cache                          (WebKitSettings *settings,
362                                                                gboolean        enabled);
363
364WEBKIT_API const gchar *
365webkit_settings_get_user_agent                                 (WebKitSettings *settings);
366
367WEBKIT_API void
368webkit_settings_set_user_agent                                 (WebKitSettings *settings,
369                                                                const gchar    *user_agent);
370WEBKIT_API void
371webkit_settings_set_user_agent_with_application_details        (WebKitSettings *settings,
372                                                                const gchar    *application_name,
373                                                                const gchar    *application_version);
374
375WEBKIT_API gboolean
376webkit_settings_get_enable_smooth_scrolling                    (WebKitSettings *settings);
377
378WEBKIT_API void
379webkit_settings_set_enable_smooth_scrolling                    (WebKitSettings *settings,
380                                                                gboolean        enabled);
381
382WEBKIT_API gboolean
383webkit_settings_get_enable_accelerated_2d_canvas               (WebKitSettings *settings);
384
385WEBKIT_API void
386webkit_settings_set_enable_accelerated_2d_canvas               (WebKitSettings *settings,
387                                                                gboolean        enabled);
388
389WEBKIT_API gboolean
390webkit_settings_get_enable_write_console_messages_to_stdout    (WebKitSettings *settings);
391
392WEBKIT_API void
393webkit_settings_set_enable_write_console_messages_to_stdout    (WebKitSettings *settings,
394                                                                gboolean        enabled);
395
396G_END_DECLS
397
398#endif /* WebKitSettings_h */
399