From: Jihoon Chung Date: Thu, 27 Dec 2012 00:57:30 +0000 (+0900) Subject: set view-mode Media Feature X-Git-Tag: 2.1b_release~22^2~133 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a5b026e0e3a53bb41c9c7fac7367815b7be84012;p=platform%2Fframework%2Fweb%2Fwrt.git 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 --- 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; }