apply font setting
[framework/osp/web.git] / src / controls / FWebCtrl_WebImpl.cpp
index 73f8320..f3492e8 100755 (executable)
@@ -73,6 +73,7 @@
 #include <FGrp_Screen.h>
 #include <FIo_DatabaseImpl.h>
 #include <FIo_NormalFile.h>
+#include <FSys_SettingInfoImpl.h>
 #include <FSys_SystemResource.h>
 #include <FSys_VibratorImpl.h>
 #include <FUi_Control.h>
@@ -158,7 +159,7 @@ AddHttpAttributeData(const Eina_Hash* pHash, const void* pKey, void* pValue, voi
        std::unique_ptr<String> pAttrValue(new (std::nothrow) String(reinterpret_cast< char* >(pValue)));
        SysTryReturn(NID_WEB_CTRL, pAttrKey.get() && pAttrValue.get(), EINA_FALSE, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
-       SysLog(NID_WEB_CTRL, "The current value of key is %ls, value is %ls", pAttrKey->GetPointer(), pAttrValue->GetPointer());
+       SysSecureLog(NID_WEB_CTRL, "The current value of key is %ls, value is %ls", pAttrKey->GetPointer(), pAttrValue->GetPointer());
 
        r = reinterpret_cast< HashMap* >(pUserData)->Add(*pAttrKey, *pAttrValue);
        SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, EINA_FALSE, r, "[%s] Propagating.", GetErrorMessage(r));
@@ -2433,7 +2434,7 @@ _WebImpl::LoadUrl(const String& url, const HttpHeader& header)
 {
        std::unique_ptr<char[]> pUrl(_StringConverter::CopyToCharArrayN(url));
        SysTryReturn(NID_WEB_CTRL, pUrl.get(), GetLastResult(), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
-       
+
        Eina_Hash* pHttpHeader = ConvertToSlpHeaderN(header);
 
        ewk_view_url_request_set(__pWebCore->GetWebNativeNode(), pUrl.get(), EWK_HTTP_METHOD_GET, pHttpHeader, null);
@@ -4887,6 +4888,8 @@ _WebImpl::OnPreAttachedToMainTree(void)
                r = InitializeSetting();
                SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
 
+               SettingInfo::AddSettingEventListener(*this);
+
                _WebManager* pWebManager = _WebManager::GetInstance();
                pWebManager->AddWeb(reinterpret_cast< int >(this));
        }
@@ -4911,8 +4914,30 @@ _WebImpl::OnDetachingFromMainTree(void)
 
 
 void
+_WebImpl::OnSettingChanged(String& key)
+{
+       Evas_Object* pWebview = __pWebCore->GetWebNativeNode();
+       if (!pWebview)
+       {
+               return;
+       }
+
+       if (key == L"http://tizen.org/setting/font.type")
+       {
+               ewk_view_use_settings_font(pWebview);
+       }
+}
+
+
+void
 _WebImpl::OnChangeLayout(_ControlRotation rotation)
 {
+       Evas_Object* pWebview = __pWebCore->GetWebNativeNode();
+       if (!pWebview)
+       {
+               return;
+       }
+
        int degree = 0;
 
        switch (rotation)
@@ -4932,7 +4957,7 @@ _WebImpl::OnChangeLayout(_ControlRotation rotation)
                default:
                        SysAssert(false);
        }
-       ewk_view_orientation_send(__pWebCore->GetWebNativeNode(), degree);
+       ewk_view_orientation_send(pWebview, degree);
 }
 
 
@@ -4971,16 +4996,22 @@ _WebImpl::OnChangeLayout(_ControlOrientation orientation)
 void
 _WebImpl::OnAncestorVisibleStateChanged(const _Control& control)
 {
+       Evas_Object* pWebview = __pWebCore->GetWebNativeNode();
+       if (!pWebview)
+       {
+               return;
+       }
+
        _WebManager* pWebManager = _WebManager::GetInstance();
        if (IsVisible() == true)
        {
                pWebManager->SetActiveWeb(this);
-               ewk_view_page_visibility_state_set(__pWebCore->GetWebNativeNode(), EWK_PAGE_VISIBILITY_STATE_VISIBLE, false);
+               ewk_view_page_visibility_state_set(pWebview, EWK_PAGE_VISIBILITY_STATE_VISIBLE, false);
        }
        else
        {
                pWebManager->RemoveActiveWeb(this);
-               ewk_view_page_visibility_state_set(__pWebCore->GetWebNativeNode(), EWK_PAGE_VISIBILITY_STATE_HIDDEN, false);
+               ewk_view_page_visibility_state_set(pWebview, EWK_PAGE_VISIBILITY_STATE_HIDDEN, false);
        }
 }