[M108 Aura Migration] Add media playback ewk api
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / efl_integration / public / ewk_settings_product.h
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  * @deprecated Deprecated since Tizen 4.0.
242  *
243  * @param settings param not needed, only present for API compatibility
244  *
245  * @param spdy_enabled @c EINA_TRUE to enable the spdy @c EINA_FALSE to disable
246  *
247  * @return always @c EINA_TRUE, only present for API compatibility
248  */
249 EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_spdy_enabled_set(Ewk_Settings *settings, Eina_Bool spdy_enabled);
250
251 /**
252  * Get spdy enabled/disabled state.
253  *
254  * @deprecated Deprecated since Tizen 4.0.
255  *
256  * @param settings param not needed, only present for API compatibility
257  *
258  * @return @c EINA_TRUE if enabled or @c EINA_FALSE if disabled
259  */
260 EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_spdy_enabled_get(Ewk_Settings *settings);
261
262 /**
263  * Requests to set the performance features of soup enable/disable.
264  *
265  * @param settings settings object to set performance features on soup
266  *
267  * @param spdy_enabled @c EINA_TRUE to enable the performance features on soup
268  *        @c EINA_FALSE to disable
269  *
270  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
271  */
272 EXPORT_API Eina_Bool ewk_settings_performance_features_enabled_set(Ewk_Settings *settings, Eina_Bool performance_features_enabled);
273
274 /**
275  * @brief Returns enable/disable performance features on soup.
276  *
277  * @since_tizen 2.3
278  *
279  * @param[in] settings settings object to get performance features
280  *
281  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
282  */
283 EXPORT_API Eina_Bool ewk_settings_performance_features_enabled_get(const Ewk_Settings* settings);
284
285 /**
286  * Requests to set using encoding detector.
287  *
288  * @deprecated Deprecated since Tizen 3.0.
289  *
290  * @param settings settings object to set using encoding detector
291  * @param use use encoding detector
292  *
293  * @see ewk_settings_encoding_detector_enabled_set
294  */
295 EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_uses_encoding_detector_set(Ewk_Settings *settings, Eina_Bool use);
296
297 /**
298  * Enables/disables the encoding detector.
299  *
300  * By default, the encoding detector is disabled.
301  *
302  * @param settings settings object to set the encoding detector
303  * @param enable @c EINA_TRUE to enable the encoding detector,
304  *        @c EINA_FALSE to disable
305  *
306  * @since_tizen 3.0
307  *
308  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
309  */
310 EXPORT_API Eina_Bool ewk_settings_encoding_detector_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
311
312 /**
313  * Queries whether the encoding detector is enabled or not.
314  *
315  * @since_tizen 3.0
316  *
317  * @param settings settings object to query using encoding detector
318  *
319  * @return @c EINA_TRUE if encoding detecor is enabled
320  *         @c EINA_FALSE otherwise
321  */
322 EXPORT_API Eina_Bool ewk_settings_encoding_detector_enabled_get(const Ewk_Settings* settings);
323
324
325 /**
326  * Set to load https sub resource when it has certificate error.
327  *
328  * @param settings settings object to enable/disable load sub resource
329  * @param enabled a state to set
330  *
331  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
332  */
333 EXPORT_API Eina_Bool ewk_settings_load_sub_resource_with_certificate_error_set(Ewk_Settings* settings, Eina_Bool enabled);
334
335 /*
336  * Set to add http head DNT(do not track).
337  *
338  * @param settings settings object to enable/disable set DNT in http head.
339  * @param enabled a state to set
340  *
341  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
342  */
343 EXPORT_API Eina_Bool ewk_settings_do_not_track_set(Ewk_Settings* settings, Eina_Bool enabled);
344
345 /**
346  *@brief Set to allow running mixed contents or not.
347  *
348  * @since_tizen 3.0
349  *
350  * @param[in] settings The settings object to set mixed contents reply
351  * @param[in] allow If @c EINA_TRUE allow to run mixed contents\n
352  *      otherwise @c EINA_FALSE to not allow running mixed contents
353  * @return @c EINA_TRUE on success,\n
354  *         otherwise @c EINA_FALSE on failure
355 */
356 EXPORT_API Eina_Bool
357 ewk_settings_mixed_contents_set(const Ewk_Settings* settings, Eina_Bool allow);
358
359 /**
360  * @deprecated Deprecated since Tizen 3.0.
361  *
362  * Enable/disable cache builder extension mode.
363  *
364  * By default, the cache builder extension is disabled.
365  * Notify node position to client when focused node is change.
366  * Can find focusable node from last known mouse position.
367  * Support fast scroll when long pressing the direction key.
368  *
369  * @param settings settings object
370  * @param enabled @c EINA_TRUE to enable the cache builder extension
371  *                @c EINA_FALSE to disable
372  */
373 EINA_DEPRECATED EXPORT_API void ewk_settings_cache_builder_extension_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
374
375 /**
376  * @deprecated Deprecated since Tizen 3.0.
377  *
378  * Enable/disable focus ring.
379  *
380  * @note Focus ring is enabled by default but disabled for wrt on TV profile
381  *
382  * @param settings settings object
383  * @param enabled @c EINA_TRUE to enable the focus ring
384  *                @c EINA_FALSE to disable
385  */
386 EINA_DEPRECATED EXPORT_API void ewk_settings_focus_ring_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
387
388 /**
389  * Enables/disables the viewport meta tag.
390  *
391  * By default, the viewport meta tag is enabled on mobile and wearable,
392  * but it is disabled on TV.
393  *
394  * @param settings settings object
395  * @param enable @c EINA_TRUE to enable the viewport meta tag
396  *               @c EINA_FALSE to disable
397  *
398  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
399  */
400 EXPORT_API Eina_Bool ewk_settings_viewport_meta_tag_set(Ewk_Settings *settings, Eina_Bool enable);
401
402 /**
403  * Returns whether the viewport meta tag is enabled.
404  *
405  * @param settings settings object
406  *
407  * @return @c EINA_TRUE if the viewport meta tag is enabled
408  *         @c EINA_FALSE if not or on failure
409  */
410 EXPORT_API Eina_Bool ewk_settings_viewport_meta_tag_get(const Ewk_Settings *settings);
411
412 /**
413  * Allow/disallow to run and display mixed contents.
414  *
415  * By default, WebCore don't allow run and display mixed contents.
416  * Some Apps want to allow them by default
417  *
418  * @param settings settings object
419  * @param enable @c EINA_TRUE to allow run and display mixed contents
420  *               @c EINA_FALSE to disable
421  *
422  */
423 EXPORT_API void ewk_settings_default_mixed_contents_policy_set(Ewk_Settings* settings, Eina_Bool enable);
424
425 /**
426  * Enable/disable the WebGL feature.
427  *
428  * By default, the WebGL feature is Enabled.
429  * Some Apps want to disallow WebGL feature.
430  *
431  * @note Should be used before ewk_view_url_set().
432  *
433  * @param settings settings object
434  * @param disable @c EINA_TRUE to disable WebGL.
435  *                @c EINA_FALSE to enable.
436  *
437  */
438 EXPORT_API void ewk_settings_disable_webgl_set(Ewk_Settings* settings, Eina_Bool disable);
439
440 /**
441  * Enables/disables web security.
442  *
443  * By default, the web security is enabled.
444  *
445  * @param settings settings object to set the web security
446  * @param enable @c EINA_TRUE to enable the web security
447  *             @c EINA_FALSE to disable
448  *
449  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
450  *
451  * @see ewk_settings_web_security_enabled_get()
452  */
453 EXPORT_API Eina_Bool ewk_settings_web_security_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
454
455 /**
456  * Returns whether the web security is enabled.
457  *
458  * @param settings settings object to query whether web security is enabled
459  *
460  * @return @c EINA_TRUE if the web security is enabled
461  *       @c EINA_FALSE if not or on failure
462  */
463 EXPORT_API Eina_Bool ewk_settings_web_security_enabled_get(const Ewk_Settings *settings);
464
465 /**
466  * Set to uses the arrow scroll.
467  *
468  * @param settings settings object
469  * @param enabled a state to set
470  *
471  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
472  */
473 EXPORT_API Eina_Bool ewk_settings_uses_arrow_scroll_set(Ewk_Settings* settings, Eina_Bool enabled);
474
475 /**
476  * Returns whether uses arrow scroll is enabled or not.
477  *
478  * @param settings settings object
479  *
480  * @return @c EINA_TRUE if uses arrow is enabled, @c EINA_FALSE otherwise
481 */
482 EXPORT_API Eina_Bool ewk_settings_uses_arrow_scroll_get(Ewk_Settings* settings);
483
484 /**
485  * Set to uses scrollbar thumb focus notifications.
486  *
487  * @param settings settings object
488  * @param enabled a state to set
489  */
490 EXPORT_API Eina_Bool ewk_settings_uses_scrollbar_thumb_focus_notifications_set(
491     Ewk_Settings* settings,
492     Eina_Bool use);
493
494 /**
495  * Allow/Disallow file access from external url
496  *
497  * By default, file access from external url is disallowed
498  *
499  * This is only for TV Product
500  *
501  * @param settings settings object to allow file access from external url
502  * @param enable @c EINA_TRUE to allow file access from external url
503  *             @c EINA_FALSE to disallow
504  *
505  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
506  *
507  * @see ewk_settings_allow_file_access_from_external_url_get()
508  */
509 EXPORT_API Eina_Bool
510 ewk_settings_allow_file_access_from_external_url_set(Ewk_Settings* settings,
511                                                      Eina_Bool allow);
512
513 /**
514  * Set to support the media playback notification.
515  *
516  * This is only for TV Product
517  *
518  * @param settings settings object
519  * @param enabled a state to set
520  *
521  */
522 EXPORT_API void ewk_settings_media_playback_notification_set(Ewk_Settings* settings, Eina_Bool enabled);
523
524 /**
525  * Returns enable/disable the media playback notification.
526  *
527  * This is only for TV Product
528  *
529  * @param settings settings object
530  *
531  * @return @c EINA_TRUE if media plyaback notification is enabled, @c EINA_FALSE otherwise
532  */
533 EXPORT_API Eina_Bool ewk_settings_media_playback_notification_get(const Ewk_Settings* settings);
534
535 /**
536  * Set to support the subtitle notification.
537  *
538  * @param settings settings object
539  * @param enabled a state to set
540  *
541  */
542 EXPORT_API void ewk_settings_media_subtitle_notification_set(Ewk_Settings *settings, Eina_Bool enabled);
543
544 /**
545  * Returns enable/disable the subtitle notification.
546  *
547  * @param settings settings object
548  *
549  * @return @c EINA_TRUE if subtitle notification is enabled, @c EINA_FALSE
550 otherwise
551  */
552 EXPORT_API Eina_Bool ewk_settings_media_subtitle_notification_get(const Ewk_Settings *settings);
553
554 /**
555  * Returns whether file access from external url is enabled
556  *
557  * This is only for TV Product
558  *
559  * @param settings settings object to query whether file access from external
560  * url is enabled
561  *
562  * @return @c EINA_TRUE if file access from external url is allow
563  *       @c EINA_FALSE if not or on failure
564  */
565 EXPORT_API Eina_Bool ewk_settings_allow_file_access_from_external_url_get(
566     const Ewk_Settings* settings);
567
568 /**
569  * @brief Requests to enable/disable private browsing.
570  *
571  * @details This setting change affects all webview with same context.
572  *
573  * @since_tizen 2.3
574  *
575  * @param[in] settings The settings object to set private browsing
576  * @param[in] enable If @c EINA_TRUE private browsing is enabled\n
577  *                   otherwise @c EINA_FALSE to disable it
578  *
579  * @return @c EINA_TRUE on success,\n
580  *         otherwise @c EINA_FALSE on failure
581  */
582 EXPORT_API Eina_Bool ewk_settings_private_browsing_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
583
584 /**
585  * @brief Enables/disables private browsing.
586  *
587  * @since_tizen 2.3
588  *
589  * @param[in] settings The settings object to query if private browsing is
590  *            enabled
591  *
592  * @return @c EINA_TRUE if private browsing is enabled,\n
593  *         otherwise @c EINA_FALSE if not or on failure
594  */
595 EXPORT_API Eina_Bool ewk_settings_private_browsing_enabled_get(const Ewk_Settings* settings);
596
597 /**
598  * Requests enables/disables to the specific extra feature
599  *
600  * @param settings setting object to enable/disable the specific extra feature
601  * @param feature feature name
602  * @param enable @c EINA_TRUE to enable the specific extra feature
603  *        @c EINA_FALSE to disable
604  *
605  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
606  */
607 EXPORT_API void ewk_settings_extra_feature_set(Ewk_Settings* settings, const char* feature, Eina_Bool enable);
608
609 /**
610  * Returns enable/disable to the specific extra feature
611  *
612  * @param settings settings object to get whether the specific extra feature is enabled or not.
613  * @param feature feature name
614  *
615  * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
616  */
617 EXPORT_API Eina_Bool ewk_settings_extra_feature_get(const Ewk_Settings* settings, const char* feature);
618
619 /**
620  * Enables/disables text autosizing.
621  *
622  * By default, the text autosizing is disabled.
623  *
624  * @param settings settings object to set the text autosizing
625  * @param enable @c EINA_TRUE to enable the text autosizing
626  *               @c EINA_FALSE to disable
627  *
628  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
629  *
630  * @see ewk_settings_text_autosizing_enabled_get()
631  */
632 EXPORT_API Eina_Bool ewk_settings_text_autosizing_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
633
634 /**
635  * Returns whether the text autosizing is enabled.
636  *
637  * The text autosizing is a feature which adjusts the font size of text in wide
638  * columns, and makes text more legible.
639  *
640  * @param settings settings object to query whether text autosizing is enabled
641  *
642  * @return @c EINA_TRUE if the text autosizing is enabled
643  *         @c EINA_FALSE if not or on failure
644  */
645 EXPORT_API Eina_Bool ewk_settings_text_autosizing_enabled_get(const Ewk_Settings *settings);
646
647 /**
648  * Sets the scale factor for text autosizing.
649  *
650  * Default value is 1.0.
651  *
652  * @param settings settings object to set the text autosizing
653  * @param factor font scale factor for text autosizing
654  */
655 EXPORT_API Eina_Bool ewk_settings_text_autosizing_font_scale_factor_set(Ewk_Settings *settings, double factor);
656
657 /**
658  * Gets the current scale factor for text autosizing.
659  *
660  * @param settings settings object to set scale factor for text autosizing
661  *
662  * @return the current font scale factor for text autosizing.
663  * In case of error, it returns non-positive value.
664  */
665 EXPORT_API double ewk_settings_text_autosizing_font_scale_factor_get(const Ewk_Settings *settings);
666
667 /**
668  * @brief Sets the scale factor for text autosizing.
669  *
670  * @details Default value is 1.0.
671  *
672  * @param settings settings object to set the text autosizing
673  * @param factor font scale factor for text autosizing
674  *
675  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
676  */
677 EXPORT_API Eina_Bool ewk_settings_text_autosizing_scale_factor_set(Ewk_Settings* settings, double factor);
678
679 /**
680 * @brief Gets the current scale factor for text autosizing.
681 *
682 * @param settings settings object to set scale factor for text autosizing
683 *
684 * @return the current font scale factor for text autosizing
685 */
686 EXPORT_API double ewk_settings_text_autosizing_scale_factor_get(const Ewk_Settings* settings);
687
688 /**
689  * Sets text style for selection mode enabled.
690  *
691  * @param settings settings object
692  * @param enabled text style for selection mode
693  */
694
695 EXPORT_API void ewk_settings_text_style_state_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
696
697 /**
698  * Gets text style for selection mode enabled.
699  *
700  * @param settings settings object
701  *
702  * @return @c EINA_TRUE if text style for selection mode enabled, @c EINA_FALSE otherwise
703  */
704 EXPORT_API Eina_Bool ewk_settings_text_style_state_enabled_get(const Ewk_Settings *settings);
705
706 /**
707  * @brief Enables/disables legacy font size mode
708  *
709  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
710  *
711  * @param[in] settings settings object
712  * @param[in] enable If @c EINA_TRUE legacy font size is enabled\n
713  *            otherwise @c EINA_FALSE to disable it
714  *
715  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
716  */
717 EXPORT_API Eina_Bool ewk_settings_legacy_font_size_enabled_set(Ewk_Settings* settings, Eina_Bool enabled);
718
719 /**
720  * @brief Return whether legacy font size mode is enabled
721  *
722  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
723  *
724  * @param[in] settings settings object
725  *
726  * @return @c EINA_TRUE if Ewk_Legacy_Font_Size_Mode set to legacy font size mode
727  *        @c EINA_FALSE if Ewk_Legacy_Font_Size_Mode not set to legacy font size mode
728  */
729 EXPORT_API Eina_Bool ewk_settings_legacy_font_size_enabled_get(Ewk_Settings* settings);
730
731 /**
732  * @brief Sets font-family as system font for font rendering
733  *
734  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
735  *
736  * @param[in] settings settings object
737  * @param[in] use @c EINA_TRUE to use one of the system fonts which is selected by user in Settings
738  *               @c EINA_FALSE to use a system default font
739  *
740  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
741  */
742 EXPORT_API Eina_Bool ewk_settings_use_system_font_set(Ewk_Settings* settings, Eina_Bool use);
743
744 /**
745  * @brief Returns whether we use the system font which is selected by user in Settings or use a system default font
746  *
747  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
748  *
749  * @param[in] settings settings object
750  *
751  * @return @c EINA_TRUE if we use the sysem font which is selected by user in Settings
752  *        @c EINA_FALSE if we use a system default font or on failure
753  */
754 EXPORT_API Eina_Bool ewk_settings_use_system_font_get(Ewk_Settings* settings);
755
756 /**
757 * @brief Requests enables/disables to control text selection handles from app
758 *
759 * @since_tizen 2.3
760 *
761 * @param[in] settings setting object to set to control text selection handles from app
762 * @param[in] enable @c EINA_TRUE to control text selection handles from app\n
763 *        @c EINA_FALSE to disable
764 *
765 * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
766 */
767 EXPORT_API void ewk_settings_selection_handle_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
768
769 /**
770 * @brief Returns whether text selection handles are controlled from app or not
771 *
772 * @since_tizen 2.3
773 *
774 * @param[in] settings setting object to get whether text selection handles are controlled from app
775 or not
776 *
777 * @return @c EINA_TRUE if text selection handles are controlled from app\n
778 *         @c EINA_FALSE if not or on failure
779 */
780 EXPORT_API Eina_Bool ewk_settings_selection_handle_enabled_get(const Ewk_Settings* settings);
781
782 /**
783  * @brief disclose Set-Cookie headers over IPC.
784  *        Some apps which get cookie through xhr.getAllResponseHeaders interface
785  *        Currently blink don't disclose response header with Set-Cookie field
786  *        to XMLHttpRequest.
787  *
788  * @since_tizen 3.0
789  *
790  * @param[in] settings setting object
791  * @param[in] Enabled true means app allow to disclose "Set-Cookie"
792  *
793  */
794 EXPORT_API void ewk_settings_disclose_set_cookie_headers_enabled(Ewk_Settings* settings, Eina_Bool Enabled);
795
796 /**
797 * @brief Request to set the spatial navigation usage set by hbbtv
798 *
799 * @since_tizen 3.0
800 *
801 * @param[in] settings setting object
802 * @param[in] enable @c EINA_TRUE enable to use spatial navigation
803 *                   @c EINA_FALSE to disable
804 */
805 EXPORT_API void ewk_settings_spatial_navigation_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
806
807 /**
808  * Request to set enable/disable the ime panel
809  *
810  * By default, the ime panel is enabled
811  * Some Apps want to disable ime panel
812  *
813  * @param settings setting object
814  * @param enabled @c EINA_TRUE to enable ime panel
815  *                @c EINA_FALSE to disable ime panel
816  *
817  */
818 EXPORT_API void ewk_settings_ime_panel_enabled_set(Ewk_Settings* settings, Eina_Bool enabled);
819
820 /**
821  * Returns whether the ime panel is enabled or disabled
822  *
823  * @param settings setting object
824  *
825  * @return @c EINA_TRUE enable ime panel or @c EINA_FALSE disable ime panel
826  */
827 EXPORT_API Eina_Bool ewk_settings_ime_panel_enabled_get(const Ewk_Settings *settings);
828
829
830 /**
831  * Request to set enable/disable drag and drop
832  *
833  * By default, the drag and drop is Disabled
834  *
835  * @param settings settings object
836  * @param enabled @c EINA_TRUE to enable drag and drop
837  *                @c EINA_FALSE to disable drag and drop
838  *
839  */
840 EXPORT_API void ewk_settings_drag_drop_enabled_set(Ewk_Settings* settings, Eina_Bool enabled);
841
842 /**
843  * Returns whether drag and drop is enabled or disabled
844  *
845  * @param settings settings object
846  *
847  * @return @c EINA_TRUE drag and drop is enabled, @c EINA_FALSE drag and drop is disabled
848 */
849 EXPORT_API Eina_Bool ewk_settings_drag_drop_enabled_get(const Ewk_Settings* settings);
850
851 /**
852  * Request to set enable/disable clipboard
853  *
854  * By default, the clipboard is Disabled
855  *
856  * @param settings settings object
857  * @param enabled @c EINA_TRUE to enable clipboard
858  *                @c EINA_FALSE to disable clipboard
859  *
860  */
861 EXPORT_API void ewk_settings_clipboard_enabled_set(Ewk_Settings* settings, Eina_Bool enabled);
862
863 /**
864  * Returns whether clipboard is enabled
865  *
866  * @param settings settings object
867  *
868  * @return @c EINA_TRUE clipboard is enabled, @c EINA_FALSE clipboard is disabled
869 */
870 EXPORT_API Eina_Bool ewk_settings_clipboard_enabled_get(const Ewk_Settings* settings);
871
872 EXPORT_API void ewk_settings_default_audio_input_device_set(Ewk_Settings* settings, const char* device_id);
873
874 #ifdef __cplusplus
875 }
876 #endif
877 #endif // ewk_settings_product_h