From a5b026e0e3a53bb41c9c7fac7367815b7be84012 Mon Sep 17 00:00:00 2001 From: Jihoon Chung Date: Thu, 27 Dec 2012 09:57:30 +0900 Subject: [PATCH] set view-mode Media Feature [Issue#] JIRA (TWEB-743) [Problem] view-mode checking test widget returns fail [Cause] Webkit doesn't support view-mode set API [Solution] Add view-mode set API [SCMRequest] N/A Change-Id: I48c78a8b50475ecc961a1a24fd23a3d720f76628 --- src/view/webkit/bundles/wrt-wk2-bundle.cpp | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/view/webkit/bundles/wrt-wk2-bundle.cpp b/src/view/webkit/bundles/wrt-wk2-bundle.cpp index 56fb5b6..d64300e 100644 --- a/src/view/webkit/bundles/wrt-wk2-bundle.cpp +++ b/src/view/webkit/bundles/wrt-wk2-bundle.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -83,6 +84,8 @@ const char * const BASE64_STRING = ";base64,"; const char * const BLANK_PAGE_URL = "about:blank"; const char * const HTML_MIME = "text/html"; const char * const PHP_MIME = "application/x-php"; +const char * const VIEWMODE_TYPE_FULLSCREEN = "fullscreen"; +const char * const VIEWMODE_TYPE_MAXIMIZED = "maximized"; } Bundle::Bundle(WKBundleRef bundle) : @@ -390,12 +393,25 @@ void Bundle::didStartProvisionalLoadForFrameCallback( LogDebug("didStartProvisionalLoadForFrameCallback called"); Bundle* This = static_cast(const_cast(clientInfo)); - if (This->m_pageGlobalContext.count(page) == 0) - { + // set viewmode + WrtDB::WidgetDAOReadOnly dao(This->m_widgetTizenId); + WrtDB::WindowModeList modeList = dao.getWindowModes(); + FOREACH(it, modeList) { + std::string viewMode = DPL::ToUTF8String(*it); + if (viewMode == VIEWMODE_TYPE_FULLSCREEN + || viewMode == VIEWMODE_TYPE_MAXIMIZED) + { + WKBundlePageSetViewMode( + page, + WKStringCreateWithUTF8CString(viewMode.c_str())); + break; + } + } + + if (This->m_pageGlobalContext.count(page) == 0) { return; } - if (This->m_pageContext.count(page) == 0) - { + if (This->m_pageContext.count(page) == 0) { return; } @@ -403,8 +419,7 @@ void Bundle::didStartProvisionalLoadForFrameCallback( ContextSet::iterator i = This->m_pageContext[page].find(context); - if (i == This->m_pageContext[page].end()) - { + if (i == This->m_pageContext[page].end()) { LogDebug("Initially attached frame"); return; } -- 2.7.4