697c763714bf63570a3204f679c5d84e5531178a
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / efl_integration / public / ewk_settings.h
1 // Copyright 2013 Samsung Electronics. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 /**
6  * @file    ewk_settings.h
7  * @brief   Describes the settings API.
8  *
9  * @note The ewk_settings is for setting the preference of specific ewk_view.
10  * We can get the ewk_settings from ewk_view using ewk_view_settings_get() API.
11  */
12
13 #ifndef ewk_settings_h
14 #define ewk_settings_h
15
16 #include <Eina.h>
17 #include <tizen.h>
18
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22
23 /** Creates a type name for Ewk_Settings */
24 typedef struct Ewk_Settings Ewk_Settings;
25
26 /**
27  * Creates a type name for the callback function used to notify the client when
28  * the continuous spell checking setting was changed by WebKit.
29  *
30  * @param enable @c EINA_TRUE if continuous spell checking is enabled or @c EINA_FALSE if it's disabled
31  */
32 typedef void (*Ewk_Settings_Continuous_Spell_Checking_Change_Cb)(Eina_Bool enable);
33
34 /**
35  * \enum    _Ewk_Editable_Link_Behavior
36  *
37  * @brief   Editable link behavior mode (Must remain in sync with WKEditableLinkBehavior)
38  */
39 enum _Ewk_Editable_Link_Behavior {
40     EWK_EDITABLE_LINK_BEHAVIOR_DEFAULT,
41     EWK_EDITABLE_LINK_BEHAVIOR_ALWAYS_LIVE,
42     EWK_EDITABLE_LINK_BEHAVIOR_ONLY_LIVE_WITH_SHIFTKEY,
43     EWK_EDITABLE_LINK_BEHAVIOR_LIVE_WHEN_NOT_FOCUSED,
44     EWK_EDITABLE_LINK_BEHAVIOR_NEVER_LIVE
45 };
46 typedef enum _Ewk_Editable_Link_Behavior Ewk_Editable_Link_Behavior;
47
48 enum _Ewk_Legacy_Font_Size_Mode {
49     EWK_LEGACY_FONT_SIZE_MODE_ALWAYS,
50     EWK_LEGACY_FONT_SIZE_MODE_ONLY_IF_PIXEL_VALUES_MATCH,
51     EWK_LEGACY_FONT_SIZE_MODE_NEVER
52 };
53
54 typedef enum _Ewk_Legacy_Font_Size_Mode Ewk_Legacy_Font_Size_Mode;
55
56 enum _Ewk_List_Style_Position {
57     EWK_LIST_STYLE_POSITION_OUTSIDE, /**< Default WebKit value. */
58     EWK_LIST_STYLE_POSITION_INSIDE
59 };
60 typedef enum _Ewk_List_Style_Position Ewk_List_Style_Position;
61
62 /*
63  * Enables/disables the Javascript Fullscreen API. The Javascript API allows
64  * to request full screen mode, for more information see:
65  * http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
66  *
67  * Default value for Javascript Fullscreen API setting is @c EINA_TRUE .
68  *
69  * @param settings settings object to enable Javascript Fullscreen API
70  * @param enable @c EINA_TRUE to enable Javascript Fullscreen API or
71  *               @c EINA_FALSE to disable
72  *
73  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
74  */
75 EXPORT_API Eina_Bool ewk_settings_fullscreen_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
76
77 /**
78  * Returns whether the Javascript Fullscreen API is enabled or not.
79  *
80  * @param settings settings object to query whether Javascript Fullscreen API is enabled
81  *
82  * @return @c EINA_TRUE if the Javascript Fullscreen API is enabled
83  *         @c EINA_FALSE if not or on failure
84  */
85 EXPORT_API Eina_Bool ewk_settings_fullscreen_enabled_get(const Ewk_Settings *settings);
86
87 /**
88  * Enables/disables the javascript executing.
89  *
90  * @param settings settings object to set javascript executing
91  * @param enable @c EINA_TRUE to enable javascript executing
92  *        @c EINA_FALSE to disable
93  *
94  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
95  */
96 EXPORT_API Eina_Bool ewk_settings_javascript_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
97
98 /**
99  * Returns the javascript can be executable or not.
100  *
101  * @param settings settings object to query if the javascript can be executed
102  *
103  * @return @c EINA_TRUE if the javascript can be executed
104  *         @c EINA_FALSE if not or on failure
105  */
106 EXPORT_API Eina_Bool ewk_settings_javascript_enabled_get(const Ewk_Settings *settings);
107
108 /**
109  * Enables/disables auto loading of the images.
110  *
111  * @param settings settings object to set auto loading of the images
112  * @param automatic @c EINA_TRUE to enable auto loading of the images,
113  *        @c EINA_FALSE to disable
114  *
115  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
116  */
117 EXPORT_API Eina_Bool ewk_settings_loads_images_automatically_set(Ewk_Settings *settings, Eina_Bool automatic);
118
119 /**
120  * Returns the images can be loaded automatically or not.
121  *
122  * @param settings settings object to get auto loading of the images
123  *
124  * @return @c EINA_TRUE if the images are loaded automatically,
125  *         @c EINA_FALSE if not or on failure
126  */
127 EXPORT_API Eina_Bool ewk_settings_loads_images_automatically_get(const Ewk_Settings *settings);
128
129 /**
130  * Requests enables/disables the plug-ins.
131  *
132  * @param settings settings object to set the plug-ins
133  * @param enable @c EINA_TRUE to enable the plug-ins
134  *        @c EINA_FALSE to disable
135  *
136  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
137  */
138 EXPORT_API Eina_Bool ewk_settings_plugins_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
139
140 /**
141  * Returs enables/disables the plug-ins.
142  *
143  * @param settings settings object to set the plug-ins
144 *
145  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
146  */
147 EXPORT_API Eina_Bool ewk_settings_plugins_enabled_get(const Ewk_Settings *settings);
148
149 /**
150  * Requests setting of auto fit.
151  *
152  * @param settings settings object to fit to width
153  * @param enable to fit to width.
154  *
155  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
156  */
157 EXPORT_API Eina_Bool ewk_settings_auto_fitting_set(Ewk_Settings *settings, Eina_Bool enable);
158
159 /**
160  * Returns the auto fit status.
161  *
162  * @param settings settings object to fit to width
163  *
164  * @return @c EINA_TRUE if enable auto fit or @c EINA_FALSE.
165  */
166 EXPORT_API Eina_Bool ewk_settings_auto_fitting_get(const Ewk_Settings *settings);
167
168 /**
169  * Requests setting of force zoom.
170  *
171  * @param settings settings object to enable force zoom
172  * @param enable to force zoom
173  *
174  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
175  */
176 EXPORT_API Eina_Bool ewk_settings_force_zoom_set(Ewk_Settings *settings, Eina_Bool enable);
177
178 /**
179  * Returns the force zoom status.
180  *
181  * @param settings settings object to enable force zoom
182  *
183  * @return @c EINA_TRUE if enable force zoom or @c EINA_FALSE.
184  */
185 EXPORT_API Eina_Bool ewk_settings_force_zoom_get(const Ewk_Settings *settings);
186
187 /**
188  * Requests to set the default font size.
189  *
190  * @param settings settings object to set the default font size
191  * @param size a new default font size to set
192  *
193  * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
194  */
195 EXPORT_API Eina_Bool ewk_settings_font_default_size_set(Ewk_Settings *settings, int size);
196
197 /**
198  * Returns the default font size.
199  *
200  * @param settings settings object to set the default font size
201  *
202  * @return @c default font size.
203  */
204 EXPORT_API int ewk_settings_font_default_size_get(const Ewk_Settings *settings);
205
206 /**
207  * Requests enables/disables if the scripts can open the new windows.
208  *
209  * @param settings settings object to set if the scripts can open the new windows
210  * @param allow @c EINA_TRUE if the scripts can open the new windows
211  *        @c EINA_FALSE if not
212  *
213  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (scripts are disabled)
214  */
215 EXPORT_API Eina_Bool ewk_settings_scripts_window_open_set(Ewk_Settings *settings, Eina_Bool allow);
216
217 /**
218  * Returns enables/disables if the scripts can open the new windows.
219  *
220  * @param settings settings object to set if the scripts can open the new windows
221  *
222  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (scripts are disabled)
223  */
224 EXPORT_API Eina_Bool ewk_settings_scripts_window_open_get(const Ewk_Settings *settings);
225
226 /**
227  * Requests for drawing layer borders.
228  *
229  * @param settings settings object to drawing layer borders.
230  * @param enable EINA_TRUE to draw layer borders.
231  *
232  * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
233  */
234
235 EXPORT_API Eina_Bool ewk_settings_compositing_borders_visible_set(Ewk_Settings *settings, Eina_Bool enable);
236
237 /**
238  * Checks whether WebKit supports the @a encoding.
239  *
240  * @param encoding the encoding string to check whether WebKit supports it
241  *
242  * @return @c EINA_TRUE if WebKit supports @a encoding or @c EINA_FALSE if not or
243  *      on failure
244  */
245 EXPORT_API Eina_Bool ewk_settings_is_encoding_valid(const char* encoding);
246
247 /**
248  * Requests to set default text encoding name.
249  *
250  * @param settings settings object to set default text encoding name
251  * @param encoding default text encoding name
252  *
253  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
254  */
255 EXPORT_API Eina_Bool ewk_settings_default_encoding_set(Ewk_Settings *settings, const char* encoding);
256
257 /**
258  * Returns default text encoding name.
259  *
260  * @param settings settings object to query default text encoding nae
261  *
262  * @return default text encoding name
263  */
264 EXPORT_API const char* ewk_settings_default_encoding_get(const Ewk_Settings *settings);
265
266 /**
267  * Requests enables/disables private browsing.
268  *
269  * @param settings settings object to set private browsing
270  * @param enable @c EINA_TRUE to enable private browsing
271  *        @c EINA_FALSE to disable
272  *
273  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
274  */
275 EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_private_browsing_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
276
277 /**
278  * Returns enables/disables private browsing.
279  *
280  * @param settings settings object to query if private browsing was enabled
281  *
282  * @return @c EINA_TRUE if private browsing was enabled
283  *         @c EINA_FALSE if not or on failure
284  */
285 EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_private_browsing_enabled_get(const Ewk_Settings *settings);
286
287 /**
288  * Requests to set editable link behavior.
289  *
290  * @param settings settings object to set editable link behavior
291  * @param behavior editable link behaviro
292  *
293  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
294  */
295 EXPORT_API Eina_Bool ewk_settings_editable_link_behavior_set(Ewk_Settings *settings, Ewk_Editable_Link_Behavior behavior);
296
297 /**
298  * Requests to set the load remote images enable/disable
299  *
300  * @param settings settings object to set load remote images
301  *
302  * @param loadRemoteImages @c EINA_TRUE to enable the load remote images
303  *        @c EINA_FALSE to disable
304  *
305  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
306  */
307 EXPORT_API Eina_Bool ewk_settings_load_remote_images_set(Ewk_Settings *settings, Eina_Bool loadRemoteImages);
308 /**
309  * Returns enable/disable the load remote images
310  *
311  * @param settings settings object to get editable link behavior
312  *
313  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
314  */
315 EXPORT_API Eina_Bool ewk_settings_load_remote_images_get(const Ewk_Settings *settings);
316
317 /**
318  * Sets link magnifier enabled.
319  *
320  * @param settings settings object
321  * @param enabled link magnifier enabled
322  */
323 EXPORT_API void ewk_settings_link_magnifier_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
324
325 /**
326  * Gets link magnifier enabled.
327  *
328  * @param settings settings object
329  *
330  * @return @c EINA_TRUE if link magnifier enabled, @c EINA_FALSE otherwise
331  */
332 EXPORT_API Eina_Bool ewk_settings_link_magnifier_enabled_get(const Ewk_Settings *settings);
333
334 /**
335  * Requests to enable/disable link effect
336  *
337  * @param settings settings object to enable/disable link effect
338  *
339  * @param linkEffectEnabled @c EINA_TRUE to enable the link effect
340  *        @c EINA_FALSE to disable
341  *
342  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
343  */
344 EXPORT_API Eina_Bool ewk_settings_link_effect_enabled_set(Ewk_Settings *settings, Eina_Bool linkEffectEnabled);
345
346 /**
347  * Returns enable/disable link effect
348  *
349  * @param settings settings object to get whether link effect is enabled or disabled
350  *
351  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
352  */
353 EXPORT_API Eina_Bool ewk_settings_link_effect_enabled_get(const Ewk_Settings *settings);
354
355 /**
356  * Requests to set the scan malware enable/disable.
357  *
358  * @param settings settings object to set scan malware
359  *
360  * @param scan_malware_enabled @c EINA_TRUE to enable the scan malware
361  *        @c EINA_FALSE to disable
362  *
363  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
364  */
365 EXPORT_API Eina_Bool ewk_settings_scan_malware_enabled_set(Ewk_Settings *settings, Eina_Bool scan_malware_enabled);
366
367 /**
368  * Requests to set the spdy enable/disable.
369  *
370  * @param settings settings object to set spdy on soup
371  *
372  * @param spdy_enabled @c EINA_TRUE to enable the spdy on soup
373  *        @c EINA_FALSE to disable
374  *
375  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
376  */
377 EXPORT_API Eina_Bool ewk_settings_spdy_enabled_set(Ewk_Settings *settings, Eina_Bool spdy_enabled);
378
379 /**
380  * Requests to set the performance features of soup enable/disable.
381  *
382  * @param settings settings object to set performance features on soup
383  *
384  * @param spdy_enabled @c EINA_TRUE to enable the performance features on soup
385  *        @c EINA_FALSE to disable
386  *
387  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
388  */
389 EXPORT_API Eina_Bool ewk_settings_performance_features_enabled_set(Ewk_Settings *settings, Eina_Bool performance_features_enabled);
390
391 /**
392  * Requests to set using encoding detector.
393  *
394  * @param settings settings object to set using encoding detector
395  * @param use use encoding detector
396  *
397  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
398  */
399 EXPORT_API Eina_Bool ewk_settings_uses_encoding_detector_set(Ewk_Settings *settings, Eina_Bool use);
400
401 /**
402  * Returns uses encoding detector.
403  *
404  * @param settings settings object to query uses encoding detector
405  *
406  * @return uses encoding detector
407  */
408 EXPORT_API Eina_Bool ewk_settings_uses_encoding_detector_get(const Ewk_Settings *settings);
409
410 /**
411  * Requests to set using default keypad (default value : true)
412  *
413  * @param settings settings object to use default keypad
414  * @param enable @c EINA_TRUE to use default keypad  @c EINA_FALSE to disable
415  *
416  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
417  */
418 EXPORT_API Eina_Bool ewk_settings_default_keypad_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
419
420 /**
421  * Returns enable/disable using default keypad
422  *
423  * @param settings settings object to use default keypad
424  *
425  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
426  */
427 EXPORT_API Eina_Bool ewk_settings_default_keypad_enabled_get(const Ewk_Settings *settings);
428
429 /**
430  * Requests to set using keypad without user action (default value : true)
431  *
432  * @param settings settings object using keypad without user action
433  * @param enable @c EINA_TRUE to use without user action @c EINA_FALSE to disable
434  *
435  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
436  */
437 EXPORT_API Eina_Bool ewk_settings_uses_keypad_without_user_action_set(Ewk_Settings *settings, Eina_Bool enable);
438
439 /**
440  * Returns using keypad without user action
441  *
442  * @param settings settings object using keypad without user action
443  * @param settings settings object to query using keypad without user action
444  *
445  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
446  */
447 EXPORT_API Eina_Bool ewk_settings_uses_keypad_without_user_action_get(const Ewk_Settings *settings);
448
449
450 /**
451  * Requests setting use of text zoom.
452  *
453  * @param settings settings object to text zoom
454  * @param enable to text zoom.
455  *
456  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
457  */
458 EXPORT_API Eina_Bool ewk_settings_text_zoom_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
459
460 /**
461  * Returns whether text zoom is enabled or not.
462  *
463  * @param settings settings object to text zoom
464  *
465  * @return @c EINA_TRUE if enable text zoom or @c EINA_FALSE.
466  */
467 EXPORT_API Eina_Bool ewk_settings_text_zoom_enabled_get(const Ewk_Settings *settings);
468
469 /**
470  * Requests enable/disable password form autofill
471  *
472  * @param setting setting object to set password form autofill
473  * @param enable @c EINA_TRUE to enable password form autofill
474  *        @c EINA_FALSE to disable
475  *
476  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
477  */
478 EXPORT_API Eina_Bool ewk_settings_autofill_password_form_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
479
480 /**
481  * Returns if password form autofill is enabled or disabled.
482  *
483  * @param setting setting object to get password form autofill
484  *
485  * @return @c EINA_TRUE if password form autofill is enabled
486  *         @c EINA_FALSE if password form autofill is disabled
487  */
488 EXPORT_API Eina_Bool ewk_settings_autofill_password_form_enabled_get(Ewk_Settings* settings);
489
490 /**
491  * Requests enable/disable form candidate data for autofill
492  *
493  * @param setting setting object to set form candidate data for autofill
494  * @param enable @c EINA_TRUE to enable form candidate data for autofill
495  *        @c EINA_FALSE to disable
496  *
497  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
498  */
499 EXPORT_API Eina_Bool ewk_settings_form_candidate_data_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
500
501 /**
502  * Returns if form candidate data for autofill is enabled or disabled.
503  *
504  * @param setting setting object to get form candidate data for autofill
505  *
506  * @return @c EINA_TRUE if form candidate data for autofill is enabled
507  *         @c EINA_FALSE if form candidate data for autofill is disabled
508  */
509 EXPORT_API Eina_Bool ewk_settings_form_candidate_data_enabled_get(Ewk_Settings* settings);
510
511 /**
512  * Enables/disables form autofill profile feature.
513  *
514  * By default, form autofill profile is disabled.
515  *
516  * @param settings settings object to set the form autofill profile
517  * @param enable @c EINA_TRUE to enable the text autosizing
518  *               @c EINA_FALSE to disable
519  *
520  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
521  *
522  * @see ewk_settings_form_profile_data_enabled_get()
523  */
524 EXPORT_API Eina_Bool ewk_settings_form_profile_data_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
525
526 /**
527  * Returns whether the autofill_text feature is enabled.
528  *
529  * @param settings settings object to query whether autofill_text feature is enabled
530  *
531  * @return @c EINA_TRUE if the autofill_text feature is enabled
532  *         @c EINA_FALSE if not or on failure
533  */
534 EXPORT_API Eina_Bool ewk_settings_form_profile_data_enabled_get(const Ewk_Settings *settings);
535
536 /**
537  * Requests enable/disable text selection by default WebKit.
538  *
539  * @param settings setting object to set text selection by default WebKit
540  * @param enable @c EINA_TRUE to enable text selection by default WebKit
541  *        @c EINA_FALSE to disable
542  *
543  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
544  */
545 EXPORT_API Eina_Bool ewk_settings_text_selection_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
546
547 /**
548  * Returns if text selection by default WebKit is enabled or disabled.
549  *
550  * @param settings setting object to get text selection by default WebKit
551  *
552  * @return @c EINA_TRUE if text selection by default WebKit is enabled
553  *         @c EINA_FALSE if not or on failure
554  */
555 EXPORT_API Eina_Bool ewk_settings_text_selection_enabled_get(const Ewk_Settings* settings);
556
557 /**
558  * Requests enables/disables to clear text selection when webview lose focus
559  *
560  * @param settings setting object to set to clear text selection when webview lose focus
561  * @param enable @c EINA_TRUE to clear text selection when webview lose focus
562  *        @c EINA_FALSE to disable
563  *
564  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
565  */
566 EXPORT_API Eina_Bool ewk_settings_clear_text_selection_automatically_set(Ewk_Settings* settings, Eina_Bool enable);
567
568 /**
569  * Returns whether text selection is cleared when webview lose focus or not.
570  *
571  * @param settings setting object to get whether text selection is cleared when webview lose focus or not
572  *
573  * @return @c EINA_TRUE if text selection is cleared when webview lose focus
574  *         @c EINA_FALSE if not or on failure
575  */
576 EXPORT_API Eina_Bool ewk_settings_clear_text_selection_automatically_get(const Ewk_Settings* settings);
577
578 /**
579  * Enables/disables text autosizing.
580  *
581  * By default, the text autosizing is disabled.
582  *
583  * @param settings settings object to set the text autosizing
584  * @param enable @c EINA_TRUE to enable the text autosizing
585  *               @c EINA_FALSE to disable
586  *
587  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
588  *
589  * @see ewk_settings_text_autosizing_enabled_get()
590  */
591 EXPORT_API Eina_Bool ewk_settings_text_autosizing_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
592
593 /**
594  * Returns whether the text autosizing is enabled.
595  *
596  * The text autosizing is a feature which adjusts the font size of text in wide
597  * columns, and makes text more legible.
598  *
599  * @param settings settings object to query whether text autosizing is enabled
600  *
601  * @return @c EINA_TRUE if the text autosizing is enabled
602  *         @c EINA_FALSE if not or on failure
603  */
604 EXPORT_API Eina_Bool ewk_settings_text_autosizing_enabled_get(const Ewk_Settings *settings);
605
606
607 /**
608  * Sets the scale factor for text autosizing.
609  *
610  * Default value is 1.0.
611  *
612  * @param settings settings object to set the text autosizing
613  * @param factor font scale factor for text autosizing
614  */
615 EXPORT_API Eina_Bool ewk_settings_text_autosizing_font_scale_factor_set(Ewk_Settings *settings, double factor);
616
617 /**
618  * Gets the current scale factor for text autosizing.
619  *
620  * @param settings settings object to set scale factor for text autosizing
621  *
622  * @return the current font scale factor for text autosizing.
623  * In case of error, it returns non-positive value.
624  */
625 EXPORT_API double ewk_settings_text_autosizing_font_scale_factor_get(const Ewk_Settings *settings);
626
627 /**
628  * Requests to enable/disable edge effect
629  *
630  * @param settings settings object to enable/disable edge effect
631  *
632  * @param enable @c EINA_TRUE to enable the edge effect
633  *        @c EINA_FALSE to disable
634  *
635  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
636  */
637 EXPORT_API Eina_Bool ewk_settings_edge_effect_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
638
639 /**
640  * Returns enable/disable edge effect
641  *
642  * @param settings settings object to get whether edge effect is enabled or disabled
643  *
644  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
645  */
646 EXPORT_API Eina_Bool ewk_settings_edge_effect_enabled_get(const Ewk_Settings* settings);
647
648 /**
649  * Sets text style for selection mode enabled.
650  *
651  * @param settings settings object
652  * @param enabled text style for selection mode
653  */
654
655 EXPORT_API void ewk_settings_text_style_state_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
656 /**
657  * Gets text style for selection mode enabled.
658  *
659  * @param settings settings object
660  *
661  * @return @c EINA_TRUE if text style for selection mode enabled, @c EINA_FALSE otherwise
662  */
663 EXPORT_API Eina_Bool ewk_settings_text_style_state_enabled_get(const Ewk_Settings *settings);
664
665 /**
666  * Requests to enable/disable to select word by double tap
667  *
668  * @param settings settings object to enable/disable to select word by double tap
669  * @param enable @c EINA_TRUE to select word by double tap
670  *        @c EINA_FALSE to disable
671  *
672  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
673  */
674 EXPORT_API Eina_Bool ewk_settings_select_word_automatically_set(Ewk_Settings *settings, Eina_Bool enabled);
675
676 /**
677  * Returns enable/disable text selection by double tap
678  *
679  * @param settings settings object to get whether word by double tap is selected
680  *
681  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
682  */
683 EXPORT_API Eina_Bool ewk_settings_select_word_automatically_get(const Ewk_Settings *settings);
684
685 /**
686  * Sets legacy font size mode
687  *
688  * @param settings settings object
689  * @param mode legacy font size mode
690  *
691  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
692  */
693 EXPORT_API Eina_Bool ewk_settings_current_legacy_font_size_mode_set(Ewk_Settings *settings, Ewk_Legacy_Font_Size_Mode mode);
694
695 /**
696  * Returns set legacy font size mode
697  *
698  * @param settings settings object
699  *
700  * @return @c Ewk_Legacy_Font_Size_Mode set legacy font size mode
701  */
702 EXPORT_API Ewk_Legacy_Font_Size_Mode ewk_settings_current_legacy_font_size_mode_get(const Ewk_Settings *settings);
703
704 /**
705  * Sets to paste image as URI (default: paste as base64-encoded-data)
706  *
707  * @param settings settings object
708 * @param enable @c EINA_TRUE to paste image as URI    @c EINA_FALSE to paste image as data
709  *
710  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
711  */
712 EXPORT_API Eina_Bool ewk_settings_paste_image_uri_mode_set(Ewk_Settings *settings, Eina_Bool enabled);
713
714 /**
715  * Returns whether  paste image as URI mode is enabled
716  *
717  * @param settings settings object
718  *
719  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
720  */
721 EXPORT_API Eina_Bool ewk_settings_paste_image_uri_mode_get(const Ewk_Settings *settings);
722
723 /**
724  * Gets the initial position value for the HTML list element <ul></ul>.
725  *
726  * @param settings setting object to get the initial position value
727  *
728  * @return the initial position value for the HTML list element.
729  */
730 EXPORT_API Ewk_List_Style_Position ewk_settings_initial_list_style_position_get(const Ewk_Settings* settings);
731
732 /**
733  * Sets the initial position value for the HTML list element <ul></ul>.
734  *
735  * This value affect the lists that are going to be created,
736  * does not make sense to manipulate it for existed elements.
737  *
738  * @param settings setting object to set the initial list style position
739  * @param style a new style to set
740  *
741  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
742  */
743 EXPORT_API Eina_Bool ewk_settings_initial_list_style_position_set(Ewk_Settings* settings, Ewk_List_Style_Position style);
744
745 /**
746  * Enable or disable supporting of -webkit-text-size-adjust
747  *
748  * -webkit-text-size-adjust affects text size adjusting feature.
749  *
750  * @param settings setting object to set the support of -webkit-text-size-adjust
751  * @param enable @c EINA_TRUE to support -webkit-text-size-adjust, @c EINA_FALSE not to support
752  *
753  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
754  */
755 EXPORT_API Eina_Bool ewk_settings_webkit_text_size_adjust_enabled_set(Ewk_Settings* settings, Eina_Bool enabled);
756
757 /**
758  * Requests to enable/disable to detect email address when tapping on email address without link property
759  *
760  * @param settings settings object to enable/disable to detect email address when tapping on email address without link property
761  *
762  * @param enable @c EINA_TRUE to enable to detect email address when tapping on email address without link property
763  *        @c EINA_FALSE to disable
764  */
765 EXPORT_API void ewk_settings_detect_contents_automatically_set(Ewk_Settings* settings, Eina_Bool enable);
766
767 /**
768  * Returns enable/disable to detect email address when tapping on email address without link property
769  *
770  * @param settings settings object to get whether email address is detected when tapping on email address without link property
771  *
772  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
773  */
774 EXPORT_API Eina_Bool ewk_settings_detect_contents_automatically_get(const Ewk_Settings* settings);
775
776 /**
777  * Sets cache builder mode enabled.
778  *
779  * @param settings settings object
780  * @param enabled cache builder mode
781  */
782 EXPORT_API void ewk_settings_cache_builder_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
783
784 /**
785  * Returns the default font size.
786  *
787  * @param settings settings object to get the default font size
788  *
789  * @return @c the default font size or @c 0 on failure
790  */
791 EXPORT_API int ewk_settings_default_font_size_get(const Ewk_Settings *settings);
792
793 /**
794  * Sets the default font size.
795  *
796  * By default, the default font size is @c 16.
797  *
798  * @param settings settings object to set the default font size
799  * @param size a new default font size to set
800  *
801  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
802  */
803 EXPORT_API Eina_Bool ewk_settings_default_font_size_set(Ewk_Settings *settings, int size);
804
805 /**
806  * Gets the default text encoding name.
807  *
808  * @param settings settings object to get default text encoding name
809  *
810  * @return @c encoding default text encoding name
811  */
812 EXPORT_API const char* ewk_settings_default_text_encoding_name_get(Ewk_Settings *settings);
813
814 /**
815  * Sets the default text encoding name.
816  *
817  * @param settings settings object to set default text encoding name
818  * @param encoding default text encoding name
819  *
820  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
821  */
822 EXPORT_API Eina_Bool ewk_settings_default_text_encoding_name_set(Ewk_Settings *settings, const char *encoding);
823
824 /**
825  * Enables/disables the encoding detector.
826  *
827  * By default, the encoding detector is disabled.
828  *
829  * @param settings settings object to set the encoding detector
830  * @param enable @c EINA_TRUE to enable the encoding detector,
831  *        @c EINA_FALSE to disable
832  *
833  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
834  */
835 EXPORT_API Eina_Bool ewk_settings_encoding_detector_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
836
837 /**
838  * Enables/disables if the scripts can open new windows.
839  *
840  * By default, the scripts can open new windows.
841  *
842  * @param settings settings object to set if the scripts can open new windows
843  * @param enable @c EINA_TRUE if the scripts can open new windows
844  *        @c EINA_FALSE if not
845  *
846  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (scripts are disabled)
847  */
848 EXPORT_API Eina_Bool ewk_settings_scripts_can_open_windows_set(Ewk_Settings *settings, Eina_Bool enable);
849
850 /**
851  * @brief Returns whether the scripts can open new windows.
852  *
853  * @since_tizen 2.3
854  *
855  * @param[in] settings The settingings object to query whether the scripts can open new windows
856  *
857  * @return @c EINA_TRUE if the scripts can open new windows\n
858  *         otherwise @c EINA_FALSE if not or on failure (scripts are disabled)
859  */
860 EXPORT_API Eina_Bool ewk_settings_scripts_can_open_windows_get(const Ewk_Settings *settings);
861
862 /**
863  * Requests enables/disables to the specific extra feature
864  *
865  * @param settings setting object to enable/disable the specific extra feature
866  * @param feature feature name
867  * @param enable @c EINA_TRUE to enable the specific extra feature
868  *        @c EINA_FALSE to disable
869  *
870  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
871  */
872 EXPORT_API void ewk_settings_extra_feature_set(Ewk_Settings* settings, const char* feature, Eina_Bool enable);
873
874 /**
875  * Returns enable/disable to the specific extra feature
876  *
877  * @param settings settings object to get whether the specific extra feature is enabled or not.
878  * @param feature feature name
879  *
880  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
881  */
882 EXPORT_API Eina_Bool ewk_settings_extra_feature_get(const Ewk_Settings* settings, const char* feature);
883
884 #ifdef __cplusplus
885 }
886 #endif
887 #endif // ewk_settings_h