[Tizen] Implement some new ewk apis in web engine plugin.
[platform/core/uifw/dali-extension.git] / dali-extension / web-engine-chromium / tizen-web-engine-settings.cpp
1 /*
2  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 #include <tizen-web-engine-settings.h>
19
20 #include <ewk_settings.h>
21 #include <ewk_settings_product.h>
22
23 namespace Dali
24 {
25 namespace Plugin
26 {
27
28 TizenWebEngineSettings::TizenWebEngineSettings( Ewk_Settings* settings )
29   : ewkSettings( settings )
30 {
31 }
32
33 TizenWebEngineSettings::~TizenWebEngineSettings()
34 {
35 }
36
37 void TizenWebEngineSettings::AllowMixedContents( bool allowed )
38 {
39   ewk_settings_mixed_contents_set( ewkSettings, allowed );
40 }
41
42 void TizenWebEngineSettings::EnableSpatialNavigation( bool enabled )
43 {
44   ewk_settings_spatial_navigation_enabled_set( ewkSettings, enabled );
45 }
46
47 uint32_t TizenWebEngineSettings::GetDefaultFontSize() const
48 {
49   return ewk_settings_default_font_size_get( ewkSettings );
50 }
51
52 void TizenWebEngineSettings::SetDefaultFontSize( uint32_t size )
53 {
54   ewk_settings_default_font_size_set( ewkSettings, size );
55 }
56
57 void TizenWebEngineSettings::EnableWebSecurity( bool enabled )
58 {
59   ewk_settings_web_security_enabled_set( ewkSettings, enabled );
60 }
61
62 void TizenWebEngineSettings::AllowFileAccessFromExternalUrl( bool allowed )
63 {
64   ewk_settings_allow_file_access_from_external_url_set( ewkSettings, allowed );
65 }
66
67 bool TizenWebEngineSettings::IsJavaScriptEnabled() const
68 {
69   return ewk_settings_javascript_enabled_get( ewkSettings );
70 }
71
72 void TizenWebEngineSettings::EnableJavaScript( bool enabled )
73 {
74   ewk_settings_javascript_enabled_set( ewkSettings, enabled );
75 }
76
77 void TizenWebEngineSettings::AllowScriptsOpenWindows( bool allowed )
78 {
79   ewk_settings_scripts_window_open_set( ewkSettings, allowed );
80 }
81
82 bool TizenWebEngineSettings::AreImagesLoadedAutomatically() const
83 {
84   return ewk_settings_loads_images_automatically_get( ewkSettings );
85 }
86
87 void TizenWebEngineSettings::AllowImagesLoadAutomatically( bool automatic )
88 {
89   ewk_settings_loads_images_automatically_set( ewkSettings, automatic );
90 }
91
92 std::string TizenWebEngineSettings::GetDefaultTextEncodingName() const
93 {
94   return std::string( ewk_settings_default_text_encoding_name_get( ewkSettings ) );
95 }
96
97 void TizenWebEngineSettings::SetDefaultTextEncodingName( const std::string& defaultTextEncodingName )
98 {
99   ewk_settings_default_text_encoding_name_set( ewkSettings, defaultTextEncodingName.c_str() );
100 }
101
102 } // namespace Plugin
103 } // namespace Dali