0548b5ce1095ad0c86987b30471fffb9dcafd907
[platform/framework/web/crosswalk-tizen.git] /
1 /*
2  * Copyright (C) 2013-2016 Samsung Electronics. 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 SAMSUNG ELECTRONICS. AND ITS CONTRIBUTORS
14  * "AS IS" 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 SAMSUNG ELECTRONICS. OR ITS
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 PROFITS;
20  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
22  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
23  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 /**
27  * @file    ewk_settings_product.h
28  * @brief   Describes the settings API.
29  *
30  * @note The ewk_settings is for setting the preference of specific ewk_view.
31  * We can get the ewk_settings from ewk_view using ewk_view_settings_get() API.
32  */
33
34 #ifndef ewk_settings_product_h
35 #define ewk_settings_product_h
36
37 #include "ewk_settings_internal.h"
38
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42
43 /**
44  * Requests setting of force zoom.
45  *
46  * @param settings settings object to enable force zoom
47  * @param enable to force zoom
48  *
49  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
50  */
51 EXPORT_API Eina_Bool ewk_settings_force_zoom_set(Ewk_Settings *settings, Eina_Bool enable);
52
53 /**
54  * Returns the force zoom status.
55  *
56  * @param settings settings object to enable force zoom
57  *
58  * @return @c EINA_TRUE if enable force zoom or @c EINA_FALSE.
59  */
60 EXPORT_API Eina_Bool ewk_settings_force_zoom_get(const Ewk_Settings *settings);
61
62 /**
63  * Requests to set the default font size.
64  *
65  * @param settings settings object to set the default font size
66  * @param size a new default font size to set
67  *
68  * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
69  */
70 EXPORT_API Eina_Bool ewk_settings_font_default_size_set(Ewk_Settings *settings, int size);
71
72 /**
73  * Returns the default font size.
74  *
75  * @param settings settings object to set the default font size
76  *
77  * @return @c default font size.
78  */
79 EXPORT_API int ewk_settings_font_default_size_get(const Ewk_Settings *settings);
80
81 /**
82  * Requests enables/disables if the scripts can open the new windows.
83  *
84  * @param settings settings object to set if the scripts can open the new windows
85  * @param allow @c EINA_TRUE if the scripts can open the new windows
86  *        @c EINA_FALSE if not
87  *
88  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (scripts are disabled)
89  */
90 EXPORT_API Eina_Bool ewk_settings_scripts_window_open_set(Ewk_Settings *settings, Eina_Bool allow);
91
92 /**
93  * Returns enables/disables if the scripts can open the new windows.
94  *
95  * @param settings settings object to set if the scripts can open the new windows
96  *
97  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (scripts are disabled)
98  */
99 EXPORT_API Eina_Bool ewk_settings_scripts_window_open_get(const Ewk_Settings *settings);
100
101 /**
102  * Returns default text encoding name.
103  *
104  * @param settings settings object to query default text encoding nae
105  *
106  * @return default text encoding name
107  */
108 EXPORT_API const char* ewk_settings_default_encoding_get(const Ewk_Settings *settings);
109
110 /**
111  * Requests to set default text encoding name.
112  *
113  * @param settings settings object to set default text encoding name
114  * @param encoding default text encoding name
115  *
116  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
117  */
118 EXPORT_API Eina_Bool ewk_settings_default_encoding_set(Ewk_Settings *settings, const char* encoding);
119
120 /**
121  * Requests to set editable link behavior.
122  *
123  * @param settings settings object to set editable link behavior
124  * @param behavior editable link behaviro
125  *
126  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
127  */
128 EXPORT_API Eina_Bool ewk_settings_editable_link_behavior_set(Ewk_Settings *settings, Ewk_Editable_Link_Behavior behavior);
129
130 /**
131  * Requests to set the load remote images enable/disable
132  *
133  * @param settings settings object to set load remote images
134  *
135  * @param loadRemoteImages @c EINA_TRUE to enable the load remote images
136  *        @c EINA_FALSE to disable
137  *
138  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
139  */
140 EXPORT_API Eina_Bool ewk_settings_load_remote_images_set(Ewk_Settings *settings, Eina_Bool loadRemoteImages);
141
142 /**
143  * Returns enable/disable the load remote images
144  *
145  * @param settings settings object to get editable link behavior
146  *
147  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
148  */
149 EXPORT_API Eina_Bool ewk_settings_load_remote_images_get(const Ewk_Settings *settings);
150
151 /**
152  * Returns uses encoding detector.
153  *
154  * @deprecated Deprecated since Tizen 3.0.
155  *
156  * @param settings settings object to query uses encoding detector
157  *
158  * @see ewk_settings_encoding_detector_enabled_get
159  *
160  * @return uses encoding detector
161  */
162 EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_uses_encoding_detector_get(const Ewk_Settings *settings);
163
164 /**
165  * Returns if password form autofill is enabled or disabled.
166  *
167  * @param setting setting object to get password form autofill
168  *
169  * @return @c EINA_TRUE if password form autofill is enabled
170  *         @c EINA_FALSE if password form autofill is disabled
171  */
172 EXPORT_API Eina_Bool ewk_settings_autofill_password_form_enabled_get(Ewk_Settings* settings);
173
174 /**
175  * Returns if form candidate data for autofill is enabled or disabled.
176  *
177  * @param setting setting object to get form candidate data for autofill
178  *
179  * @return @c EINA_TRUE if form candidate data for autofill is enabled
180  *         @c EINA_FALSE if form candidate data for autofill is disabled
181  */
182 EXPORT_API Eina_Bool ewk_settings_form_candidate_data_enabled_get(Ewk_Settings* settings);
183
184 /**
185  * Returns whether the autofill_text feature is enabled.
186  *
187  * @param settings settings object to query whether autofill_text feature is enabled
188  *
189  * @return @c EINA_TRUE if the autofill_text feature is enabled
190  *         @c EINA_FALSE if not or on failure
191  */
192 EXPORT_API Eina_Bool ewk_settings_form_profile_data_enabled_get(const Ewk_Settings *settings);
193
194 /**
195  * Returns whether text selection is cleared when webview lose focus or not.
196  *
197  * @param settings setting object to get whether text selection is cleared when webview lose focus or not
198  *
199  * @return @c EINA_TRUE if text selection is cleared when webview lose focus
200  *         @c EINA_FALSE if not or on failure
201  */
202 EXPORT_API Eina_Bool ewk_settings_clear_text_selection_automatically_get(const Ewk_Settings* settings);
203
204 /**
205  * Requests for drawing layer borders.
206  *
207  * @param settings settings object to drawing layer borders.
208  * @param enable EINA_TRUE to draw layer borders.
209  *
210  * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
211  */
212
213 EXPORT_API Eina_Bool ewk_settings_compositing_borders_visible_set(Ewk_Settings *settings, Eina_Bool enable);
214
215 /**
216  * Requests to set the scan malware enable/disable.
217  *
218  * @param settings settings object to set scan malware
219  *
220  * @param scan_malware_enabled @c EINA_TRUE to enable the scan malware
221  *        @c EINA_FALSE to disable
222  *
223  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
224  */
225 EXPORT_API Eina_Bool ewk_settings_scan_malware_enabled_set(Ewk_Settings *settings, Eina_Bool scan_malware_enabled);
226
227 /**
228  * @brief Returns enable/disable scan malware.
229  *
230  * @since_tizen 2.3
231  *
232  * @param[in] settings settings object to get malware scan behavior
233  *
234  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
235  */
236 EXPORT_API Eina_Bool ewk_settings_scan_malware_enabled_get(const Ewk_Settings* settings);
237
238 /**
239  * Requests to enable/disable spdy.
240  *
241  * @param settings param not needed, only present for API compatibility
242  *
243  * @param spdy_enabled @c EINA_TRUE to enable the spdy @c EINA_FALSE to disable
244  *
245  * @return always @c EINA_TRUE, only present for API compatibility
246  */
247 EXPORT_API Eina_Bool ewk_settings_spdy_enabled_set(Ewk_Settings *settings, Eina_Bool spdy_enabled);
248
249 /**
250  * Get spdy enabled/disabled state.
251  *
252  * @param settings param not needed, only present for API compatibility
253  *
254  * @return @c EINA_TRUE if enabled or @c EINA_FALSE if disabled
255  */
256 EXPORT_API Eina_Bool ewk_settings_spdy_enabled_get(Ewk_Settings *settings);
257
258 /**
259  * Requests to set the performance features of soup enable/disable.
260  *
261  * @param settings settings object to set performance features on soup
262  *
263  * @param spdy_enabled @c EINA_TRUE to enable the performance features on soup
264  *        @c EINA_FALSE to disable
265  *
266  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
267  */
268 EXPORT_API Eina_Bool ewk_settings_performance_features_enabled_set(Ewk_Settings *settings, Eina_Bool performance_features_enabled);
269
270 /**
271  * @brief Returns enable/disable performance features on soup.
272  *
273  * @since_tizen 2.3
274  *
275  * @param[in] settings settings object to get performance features
276  *
277  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
278  */
279 EXPORT_API Eina_Bool ewk_settings_performance_features_enabled_get(const Ewk_Settings* settings);
280
281 /**
282  * Requests to set using encoding detector.
283  *
284  * @deprecated Deprecated since Tizen 3.0.
285  *
286  * @param settings settings object to set using encoding detector
287  * @param use use encoding detector
288  *
289  * @see ewk_settings_encoding_detector_enabled_set
290  */
291 EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_uses_encoding_detector_set(Ewk_Settings *settings, Eina_Bool use);
292
293 /**
294  * Enables/disables the encoding detector.
295  *
296  * By default, the encoding detector is disabled.
297  *
298  * @param settings settings object to set the encoding detector
299  * @param enable @c EINA_TRUE to enable the encoding detector,
300  *        @c EINA_FALSE to disable
301  *
302  * @since_tizen 3.0
303  *
304  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
305  */
306 EXPORT_API Eina_Bool ewk_settings_encoding_detector_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
307
308 /**
309  * Queries whether the encoding detector is enabled or not.
310  *
311  * @since_tizen 3.0
312  *
313  * @param settings settings object to query using encoding detector
314  *
315  * @return @c EINA_TRUE if encoding detecor is enabled
316  *         @c EINA_FALSE otherwise
317  */
318 EXPORT_API Eina_Bool ewk_settings_encoding_detector_enabled_get(const Ewk_Settings* settings);
319
320
321 /**
322  * Set to load https sub resource when it has certificate error.
323  *
324  * @param settings settings object to enable/disable load sub resource
325  * @param enabled a state to set
326  *
327  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
328  */
329 EXPORT_API Eina_Bool ewk_settings_load_sub_resource_with_certificate_error_set(Ewk_Settings* settings, Eina_Bool enabled);
330
331 /*
332  * Set to add http head DNT(do not track).
333  *
334  * @param settings settings object to enable/disable set DNT in http head.
335  * @param enabled a state to set
336  *
337  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
338  */
339 EXPORT_API Eina_Bool ewk_settings_do_not_track_set(Ewk_Settings* settings, Eina_Bool enabled);
340
341 /**
342  *@brief Set to allow running mixed contents or not.
343  *
344  * @since_tizen 3.0
345  *
346  * @param[in] settings The settings object to set mixed contents reply
347  * @param[in] allow If @c EINA_TRUE allow to run mixed contents\n
348  *      otherwise @c EINA_FALSE to not allow running mixed contents
349  * @return @c EINA_TRUE on success,\n
350  *         otherwise @c EINA_FALSE on failure
351 */
352 EXPORT_API Eina_Bool
353 ewk_settings_mixed_contents_set(const Ewk_Settings* settings, Eina_Bool allow);
354
355 /**
356  * @deprecated Deprecated since Tizen 3.0.
357  *
358  * Enable/disable cache builder extension mode.
359  *
360  * By default, the cache builder extension is disabled.
361  * Notify node position to client when focused node is change.
362  * Can find focusable node from last known mouse position.
363  * Support fast scroll when long pressing the direction key.
364  *
365  * @param settings settings object
366  * @param enabled @c EINA_TRUE to enable the cache builder extension
367  *                @c EINA_FALSE to disable
368  */
369 EINA_DEPRECATED EXPORT_API void ewk_settings_cache_builder_extension_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
370
371 /**
372  * @deprecated Deprecated since Tizen 3.0.
373  *
374  * Enable/disable focus ring.
375  *
376  * @note Focus ring is enabled by default but disabled for wrt on TV profile
377  *
378  * @param settings settings object
379  * @param enabled @c EINA_TRUE to enable the focus ring
380  *                @c EINA_FALSE to disable
381  */
382 EINA_DEPRECATED EXPORT_API void ewk_settings_focus_ring_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
383
384 /**
385  * Enables/disables the viewport meta tag.
386  *
387  * By default, the viewport meta tag is enabled on mobile and wearable,
388  * but it is disabled on TV.
389  *
390  * @param settings settings object
391  * @param enable @c EINA_TRUE to enable the viewport meta tag
392  *               @c EINA_FALSE to disable
393  *
394  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
395  */
396 EXPORT_API Eina_Bool ewk_settings_viewport_meta_tag_set(Ewk_Settings *settings, Eina_Bool enable);
397
398 /**
399  * Allow/disallow to run and display mixed contents.
400  *
401  * By default, WebCore don't allow run and display mixed contents.
402  * Some Apps want to allow them by default
403  *
404  * @param settings settings object
405  * @param enable @c EINA_TRUE to allow run and display mixed contents
406  *               @c EINA_FALSE to disable
407  *
408  */
409 EXPORT_API void ewk_settings_default_mixed_contents_policy_set(Ewk_Settings* settings, Eina_Bool enable);
410
411 /**
412  * Enable/disable the WebGL feature.
413  *
414  * By default, the WebGL feature is Enabled.
415  * Some Apps want to disallow WebGL feature.
416  *
417  * @note Should be used before ewk_view_url_set().
418  *
419  * @param settings settings object
420  * @param disable @c EINA_TRUE to disable WebGL.
421  *                @c EINA_FALSE to enable.
422  *
423  */
424 EXPORT_API void ewk_settings_disable_webgl_set(Ewk_Settings* settings, Eina_Bool disable);
425
426 /**
427  * Returns whether the viewport meta tag is enabled.
428  *
429  * @param settings settings object
430  *
431  * @return @c EINA_TRUE if the viewport meta tag is enabled
432  *         @c EINA_FALSE if not or on failure
433  */
434 EXPORT_API Eina_Bool ewk_settings_viewport_meta_tag_get(const Ewk_Settings *settings);
435
436 /**
437  * Enables/disables web security.
438  *
439  * By default, the web security is enabled.
440  *
441  * @param settings settings object to set the web security
442  * @param enable @c EINA_TRUE to enable the web security
443  *             @c EINA_FALSE to disable
444  *
445  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
446  *
447  * @see ewk_settings_web_security_enabled_get()
448  */
449 EXPORT_API Eina_Bool ewk_settings_web_security_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
450
451 /**
452  * Returns whether the web security is enabled.
453  *
454  * @param settings settings object to query whether web security is enabled
455  *
456  * @return @c EINA_TRUE if the web security is enabled
457  *       @c EINA_FALSE if not or on failure
458  */
459 EXPORT_API Eina_Bool ewk_settings_web_security_enabled_get(const Ewk_Settings *settings);
460
461 /**
462  * Set to uses the arrow scroll.
463  *
464  * @param settings settings object
465  * @param enabled a state to set
466  *
467  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
468  */
469 EXPORT_API Eina_Bool ewk_settings_uses_arrow_scroll_set(Ewk_Settings* settings, Eina_Bool enabled);
470
471 /**
472  * Returns whether uses arrow scroll is enabled or not.
473  *
474  * @param settings settings object
475  *
476  * @return @c EINA_TRUE if uses arrow is enabled, @c EINA_FALSE otherwise
477 */
478 EXPORT_API Eina_Bool ewk_settings_uses_arrow_scroll_get(Ewk_Settings* settings);
479
480 /**
481  * Set to uses scrollbar thumb focus notifications.
482  *
483  * @param settings settings object
484  * @param enabled a state to set
485  */
486 EXPORT_API Eina_Bool ewk_settings_uses_scrollbar_thumb_focus_notifications_set(
487     Ewk_Settings* settings,
488     Eina_Bool use);
489
490 /**
491  * Allow/Disallow file access from external url
492  *
493  * By default, file access from external url is disallowed
494  *
495  * This is only for TV Product
496  *
497  * @param settings settings object to allow file access from external url
498  * @param enable @c EINA_TRUE to allow file access from external url
499  *             @c EINA_FALSE to disallow
500  *
501  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
502  *
503  * @see ewk_settings_allow_file_access_from_external_url_get()
504  */
505 EXPORT_API Eina_Bool
506 ewk_settings_allow_file_access_from_external_url_set(Ewk_Settings* settings,
507                                                      Eina_Bool allow);
508
509 /**
510  * Set to support the media playback notification.
511  *
512  * This is only for TV Product
513  *
514  * @param settings settings object
515  * @param enabled a state to set
516  *
517  */
518 EXPORT_API void ewk_settings_media_playback_notification_set(Ewk_Settings* settings, Eina_Bool enabled);
519
520 /**
521  * Returns enable/disable the media playback notification.
522  *
523  * This is only for TV Product
524  *
525  * @param settings settings object
526  *
527  * @return @c EINA_TRUE if media plyaback notification is enabled, @c EINA_FALSE otherwise
528  */
529 EXPORT_API Eina_Bool ewk_settings_media_playback_notification_get(const Ewk_Settings* settings);
530
531 /**
532  * Set to support the subtitle notification.
533  *
534  * @param settings settings object
535  * @param enabled a state to set
536  *
537  */
538 EXPORT_API void ewk_settings_media_subtitle_notification_set(Ewk_Settings *settings, Eina_Bool enabled);
539
540 /**
541  * Returns enable/disable the subtitle notification.
542  *
543  * @param settings settings object
544  *
545  * @return @c EINA_TRUE if subtitle notification is enabled, @c EINA_FALSE
546 otherwise
547  */
548 EXPORT_API Eina_Bool ewk_settings_media_subtitle_notification_get(const Ewk_Settings *settings);
549
550 /**
551  * Returns whether file access from external url is enabled
552  *
553  * This is only for TV Product
554  *
555  * @param settings settings object to query whether file access from external
556  * url is enabled
557  *
558  * @return @c EINA_TRUE if file access from external url is allow
559  *       @c EINA_FALSE if not or on failure
560  */
561 EXPORT_API Eina_Bool ewk_settings_allow_file_access_from_external_url_get(
562     const Ewk_Settings* settings);
563
564 /**
565  * @brief Requests to enable/disable private browsing.
566  *
567  * @details This setting change affects all webview with same context.
568  *
569  * @since_tizen 2.3
570  *
571  * @param[in] settings The settings object to set private browsing
572  * @param[in] enable If @c EINA_TRUE private browsing is enabled\n
573  *                   otherwise @c EINA_FALSE to disable it
574  *
575  * @return @c EINA_TRUE on success,\n
576  *         otherwise @c EINA_FALSE on failure
577  */
578 EXPORT_API Eina_Bool ewk_settings_private_browsing_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
579
580 /**
581  * @brief Enables/disables private browsing.
582  *
583  * @since_tizen 2.3
584  *
585  * @param[in] settings The settings object to query if private browsing is
586  *            enabled
587  *
588  * @return @c EINA_TRUE if private browsing is enabled,\n
589  *         otherwise @c EINA_FALSE if not or on failure
590  */
591 EXPORT_API Eina_Bool ewk_settings_private_browsing_enabled_get(const Ewk_Settings* settings);
592
593 /**
594  * Requests enables/disables to the specific extra feature
595  *
596  * @param settings setting object to enable/disable the specific extra feature
597  * @param feature feature name
598  * @param enable @c EINA_TRUE to enable the specific extra feature
599  *        @c EINA_FALSE to disable
600  *
601  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
602  */
603 EXPORT_API void ewk_settings_extra_feature_set(Ewk_Settings* settings, const char* feature, Eina_Bool enable);
604
605 /**
606  * Returns enable/disable to the specific extra feature
607  *
608  * @param settings settings object to get whether the specific extra feature is enabled or not.
609  * @param feature feature name
610  *
611  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
612  */
613 EXPORT_API Eina_Bool ewk_settings_extra_feature_get(const Ewk_Settings* settings, const char* feature);
614
615 /**
616  * Enables/disables text autosizing.
617  *
618  * By default, the text autosizing is disabled.
619  *
620  * @param settings settings object to set the text autosizing
621  * @param enable @c EINA_TRUE to enable the text autosizing
622  *               @c EINA_FALSE to disable
623  *
624  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
625  *
626  * @see ewk_settings_text_autosizing_enabled_get()
627  */
628 EXPORT_API Eina_Bool ewk_settings_text_autosizing_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
629
630 /**
631  * Returns whether the text autosizing is enabled.
632  *
633  * The text autosizing is a feature which adjusts the font size of text in wide
634  * columns, and makes text more legible.
635  *
636  * @param settings settings object to query whether text autosizing is enabled
637  *
638  * @return @c EINA_TRUE if the text autosizing is enabled
639  *         @c EINA_FALSE if not or on failure
640  */
641 EXPORT_API Eina_Bool ewk_settings_text_autosizing_enabled_get(const Ewk_Settings *settings);
642
643 /**
644  * Sets the scale factor for text autosizing.
645  *
646  * Default value is 1.0.
647  *
648  * @param settings settings object to set the text autosizing
649  * @param factor font scale factor for text autosizing
650  */
651 EXPORT_API Eina_Bool ewk_settings_text_autosizing_font_scale_factor_set(Ewk_Settings *settings, double factor);
652
653 /**
654  * Gets the current scale factor for text autosizing.
655  *
656  * @param settings settings object to set scale factor for text autosizing
657  *
658  * @return the current font scale factor for text autosizing.
659  * In case of error, it returns non-positive value.
660  */
661 EXPORT_API double ewk_settings_text_autosizing_font_scale_factor_get(const Ewk_Settings *settings);
662
663 /**
664  * @brief Sets the scale factor for text autosizing.
665  *
666  * @details Default value is 1.0.
667  *
668  * @param settings settings object to set the text autosizing
669  * @param factor font scale factor for text autosizing
670  *
671  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
672  */
673 EXPORT_API Eina_Bool ewk_settings_text_autosizing_scale_factor_set(Ewk_Settings* settings, double factor);
674
675 /**
676 * @brief Gets the current scale factor for text autosizing.
677 *
678 * @param settings settings object to set scale factor for text autosizing
679 *
680 * @return the current font scale factor for text autosizing
681 */
682 EXPORT_API double ewk_settings_text_autosizing_scale_factor_get(const Ewk_Settings* settings);
683
684 /**
685  * Sets text style for selection mode enabled.
686  *
687  * @param settings settings object
688  * @param enabled text style for selection mode
689  */
690
691 EXPORT_API void ewk_settings_text_style_state_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
692
693 /**
694  * Gets text style for selection mode enabled.
695  *
696  * @param settings settings object
697  *
698  * @return @c EINA_TRUE if text style for selection mode enabled, @c EINA_FALSE otherwise
699  */
700 EXPORT_API Eina_Bool ewk_settings_text_style_state_enabled_get(const Ewk_Settings *settings);
701
702 /**
703  * @brief Enables/disables legacy font size mode
704  *
705  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
706  *
707  * @param[in] settings settings object
708  * @param[in] enable If @c EINA_TRUE legacy font size is enabled\n
709  *            otherwise @c EINA_FALSE to disable it
710  *
711  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
712  */
713 EXPORT_API Eina_Bool ewk_settings_legacy_font_size_enabled_set(Ewk_Settings* settings, Eina_Bool enabled);
714
715 /**
716  * @brief Return whether legacy font size mode is enabled
717  *
718  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
719  *
720  * @param[in] settings settings object
721  *
722  * @return @c EINA_TRUE if Ewk_Legacy_Font_Size_Mode set to legacy font size mode
723  *        @c EINA_FALSE if Ewk_Legacy_Font_Size_Mode not set to legacy font size mode
724  */
725 EXPORT_API Eina_Bool ewk_settings_legacy_font_size_enabled_get(Ewk_Settings* settings);
726
727 /**
728  * @brief Sets font-family as system font for font rendering
729  *
730  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
731  *
732  * @param[in] settings settings object
733  * @param[in] use @c EINA_TRUE to use one of the system fonts which is selected by user in Settings
734  *               @c EINA_FALSE to use a system default font
735  *
736  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
737  */
738 EXPORT_API Eina_Bool ewk_settings_use_system_font_set(Ewk_Settings* settings, Eina_Bool use);
739
740 /**
741  * @brief Returns whether we use the system font which is selected by user in Settings or use a system default font
742  *
743  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
744  *
745  * @param[in] settings settings object
746  *
747  * @return @c EINA_TRUE if we use the sysem font which is selected by user in Settings
748  *        @c EINA_FALSE if we use a system default font or on failure
749  */
750 EXPORT_API Eina_Bool ewk_settings_use_system_font_get(Ewk_Settings* settings);
751
752 /**
753 * @brief Requests enables/disables to control text selection handles from app
754 *
755 * @since_tizen 2.3
756 *
757 * @param[in] settings setting object to set to control text selection handles from app
758 * @param[in] enable @c EINA_TRUE to control text selection handles from app\n
759 *        @c EINA_FALSE to disable
760 *
761 * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
762 */
763 EXPORT_API void ewk_settings_selection_handle_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
764
765 /**
766 * @brief Returns whether text selection handles are controlled from app or not
767 *
768 * @since_tizen 2.3
769 *
770 * @param[in] settings setting object to get whether text selection handles are controlled from app
771 or not
772 *
773 * @return @c EINA_TRUE if text selection handles are controlled from app\n
774 *         @c EINA_FALSE if not or on failure
775 */
776 EXPORT_API Eina_Bool ewk_settings_selection_handle_enabled_get(const Ewk_Settings* settings);
777
778 /**
779  * @brief disclose Set-Cookie headers over IPC.
780  *        Some apps which get cookie through xhr.getAllResponseHeaders interface
781  *        Currently blink don't disclose response header with Set-Cookie field
782  *        to XMLHttpRequest.
783  *
784  * @since_tizen 3.0
785  *
786  * @param[in] settings setting object
787  * @param[in] Enabled true means app allow to disclose "Set-Cookie"
788  *
789  */
790 EXPORT_API void ewk_settings_disclose_set_cookie_headers_enabled(Ewk_Settings* settings, Eina_Bool Enabled);
791
792 /**
793 * @brief Request to set the spatial navigation usage set by hbbtv
794 *
795 * @since_tizen 3.0
796 *
797 * @param[in] settings setting object
798 * @param[in] enable @c EINA_TRUE enable to use spatial navigation
799 *                   @c EINA_FALSE to disable
800 */
801 EXPORT_API void ewk_settings_spatial_navigation_enabled_set(Ewk_Settings* settings, Eina_Bool Enabled);
802
803 #ifdef __cplusplus
804 }
805 #endif
806 #endif // ewk_settings_product_h