INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}
DESTINATION ${DEST_DIR})
ENDMACRO()
+MACRO(INSTALL_FILE_RENAMED FILE DEST_DIR NEW_NAME)
+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}
+ DESTINATION ${DEST_DIR} RENAME ${NEW_NAME})
+ENDMACRO()
MACRO(CONFIG_FILE SRC_FILE DEST_FILE)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${SRC_FILE}
${CMAKE_CURRENT_SOURCE_DIR}/${DEST_FILE} @ONLY)
INSTALL_FILE(livebox.web-provider.xml /usr/share/packages)
INSTALL_FILE(${DATA_DIR}/web_provider_reset_db.sh bin)
INSTALL_FILE(${DATA_DIR}/web_provider_db.sql /usr/share/${PROJECT_NAME})
+INSTALL_FILE(livebox.web-provider.rule /etc/smack/accesses2.d)
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "web-provider-svc.pc")
<manifest>
- <!-- web provider label -->
- <define>
- <domain name="livebox.web-provider"/>
- <provide>
+ <!-- web provider label -->
+ <define>
+ <domain name="livebox.web-provider"/>
+ <provide>
<label name="livebox.web-provider::db" />
- </provide>
- <request>
- <smack request="livebox.web-provider::db" type="rwxat"/>
- <smack request="system::vconf" type="rwxat"/>
- <smack request="system::homedir" type="rwxat"/>
- <smack request="system::use_internet" type="rwxat"/>
- <smack request="system::media" type="rwxat"/>
- <smack request="system::share" type="rwxat"/>
- <smack request="device::app_logging" type="rwxat"/>
- <smack request="data-provider-master" type="rwxat"/>
- <smack request="data-provider-master::share" type="rwxat"/>
- <smack request="data-provider-master::data" type="rwxat"/>
- <smack request="data-provider-master::db" type="rwxat"/>
- <smack request="wrt-security-daemon::db" type="rwxat"/>
- <smack request="wrt-security-daemon" type="rwxat"/>
- <smack request="cert-svc" type="rwxat"/>
- <smack request="wrt-commons::db_wrt" type="rwxat"/>
- <smack request="wrt-commons::db_wrt_autosave" type="rwxat"/>
- <smack request="wrt-commons::db_wrt_custom_handler" type="rwxat"/>
- <smack request="syslogd" type="rwxat"/>
- <smack request="xorg" type="rwxat"/>
- <smack request="isf" type="rwxat"/>
- <smack request="dbus" type="rwxat"/>
- <smack request="e17" type="rwxat"/>
- <smack request="pulseaudio" type="rwxat"/>
- <smack request="ail::db" type="rwxat"/>
- <smack request="sys-assert::core" type="rwxat"/>
- <smack request="webkit2-efl" type="rwxat"/>
- <smack request="app-svc" type="rwxat"/>
- <smack request="app-svc::db" type="rwxat"/>
- <smack request="svi-data" type="rwxat"/>
- <smack request="sound_server" type="rwxat"/>
- <smack request="pkgmgr::db" type="rwxat"/>
- <smack request="privacy-manager::db" type="rw"/>
- <!-- <smack request="immvibed" type="rwxa"/> -->
- </request>
- <permit>
- <smack permit="system::use_internet" type="rwx"/>
- </permit>
- </define>
+ </provide>
+ </define>
+
<assign>
<filesystem path="/usr/lib/libweb-provider*.so*" label="_" />
<filesystem path="/usr/lib/web-provider/libweb-provider*.so*" label="_" />
</assign>
- <request>
- <domain name="livebox.web-provider" />
- </request>
+ <request>
+ <domain name="livebox.web-provider" />
+ </request>
</manifest>
--- /dev/null
+livebox.web-provider livebox.web-provider::db rwxat
+livebox.web-provider system::vconf rwxat
+livebox.web-provider system::homedir rwxat
+livebox.web-provider system::share rwxat
+livebox.web-provider device::app_logging rwxat
+livebox.web-provider data-provider-master rwxat
+livebox.web-provider data-provider-master::share rwxat
+livebox.web-provider data-provider-master::data rwxat
+livebox.web-provider data-provider-master::db rwxat
+livebox.web-provider wrt-security-daemon::db rwxat
+livebox.web-provider wrt-security-daemon rwxat
+livebox.web-provider cert-svc rwxat
+livebox.web-provider wrt-commons::db_wrt rwxat
+livebox.web-provider syslogd rwxat
+livebox.web-provider xorg rwxat
+livebox.web-provider isf rwxat
+livebox.web-provider dbus rwxat
+livebox.web-provider e17 rwxat
+livebox.web-provider pulseaudio rwxat
+livebox.web-provider ail::db rwxat
+livebox.web-provider sys-assert::core rwxat
+livebox.web-provider resman::db rwxat
+livebox.web-provider webkit2-efl rwxat
+livebox.web-provider app-svc rwxat
+livebox.web-provider app-svc::db rwxat
+livebox.web-provider svi-data rwxat
+livebox.web-provider sound_server rwxat
+livebox.web-provider privacy-manager::db rwxat
+livebox.web-provider immvibed rwxat
+livebox.web-provider alarm-server::alarm rwxat
+livebox.web-provider allshare::svc rwxat
+livebox.web-provider aul::launch rwxat
+livebox.web-provider aul::terminate rwxat
+livebox.web-provider badge::db rwxat
+livebox.web-provider browser-provider::bookmark rwxat
+livebox.web-provider bt-service::admin rwxat
+livebox.web-provider bt-service::gap rwxat
+livebox.web-provider bt-service::manager rwxat
+livebox.web-provider bt-service::spp rwxat
+livebox.web-provider calendar-service rwxat
+livebox.web-provider calendar-service::svc rwxat
+livebox.web-provider contacts-service rwxat
+livebox.web-provider contacts-service::phonelog rwxat
+livebox.web-provider contacts-service::svc rwxat
+livebox.web-provider data-provider-master::notification rwxat
+livebox.web-provider data-provider-master::notification.client rwxat
+livebox.web-provider data-provider-master::badge rwxat
+livebox.web-provider data-provider-master::badge.client rwxat
+livebox.web-provider device::bklight rwxat
+livebox.web-provider deviced rwxat
+livebox.web-provider email-service::db rwxat
+livebox.web-provider mdm-server rwxat
+livebox.web-provider media-data::db rwxat
+livebox.web-provider media-server rwxat
+livebox.web-provider msg-service rwxat
+livebox.web-provider msg-service::db rwxat
+livebox.web-provider msg-service::read rwxat
+livebox.web-provider msg-service::smstrigger rwxat
+livebox.web-provider msg-service::write rwxat
+livebox.web-provider msg-service::db rwxat
+livebox.web-provider nfc-manager rwxat
+livebox.web-provider nfc-manager::admin rwxat
+livebox.web-provider nfc-manager::common rwxat
+livebox.web-provider nfc-manager::p2p rwxat
+livebox.web-provider nfc-manager::tag rwxat
+livebox.web-provider notification::db rwxat
+livebox.web-provider oma-ds-agent rwxat
+livebox.web-provider oma-ds-agent::cfg rwxat
+livebox.web-provider oma-ds-agent::svc rwxat
+livebox.web-provider org.tizen.setting::default-resources rwxat
+livebox.web-provider osp::datacontrol rwxat
+livebox.web-provider pkgmgr::db rwxat
+livebox.web-provider pkgmgr::info rwxat
+livebox.web-provider pkgmgr::svc rwxat
+livebox.web-provider push-service rwxat
+livebox.web-provider smartcard-service rwxat
+livebox.web-provider system::media rwxat
+livebox.web-provider system::use_internet rwxat
+livebox.web-provider sync_agent_frwk::oma-ds rwxat
+livebox.web-provider telephony_framework::api_modem rwxat
+livebox.web-provider telephony_framework::api_sim rwxat
+system::use_internet livebox.web-provider rwxat
+calendar-service livebox.web-provider rwxat
+contacts-service livebox.web-provider rwxat
+media-server livebox.web-provider rwxat
+nfc-manager livebox.web-provider rwxat
+sync_agent_frwk::oma-ds livebox.web-provider rwxat
+system::use_internet livebox.web-provider rwxat
<label>Web Dynamic Box Provider</label>
<author email="yunchan.cho@samsung.com" href="www.samsung.com">Yunchan Cho</author>
<description>Web Dynamic Box Provider Executable</description>
- <ui-application appid="livebox.web-provider" exec="/usr/apps/livebox.web-provider/bin/web-provider" nodisplay="true" multiple="false" type="capp" taskmanage="false">
+ <ui-application appid="dbox.web-provider" exec="/usr/apps/livebox.web-provider/bin/web-provider" nodisplay="true" multiple="false" type="capp" taskmanage="false">
<icon>livebox.web-provider.png</icon>
<label>Web Dynamic Box Provider</label>
<label xml:lang="en-us">Web Dynamic Box Provider</label>
#git:framework/web/web-provider
Name: livebox.web-provider
Summary: web framework for livebox
-Version: 1.37
+Version: 1.39
Release: 1
Group: main/app
License: Flora License, Version 1.1
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(capi-appfw-application)
-# requires for smack
-# We need to add smack dependancies here on specific criteria
-Requires(post): sys-assert
-Requires(post): busybox-symlinks-sysklogd
-Requires(post): data-provider-master
-Requires(post): isf
-Requires(post): e17
-Requires(post): svi-data
-
%description
This is web framework responsible to manage liveboxes that consist of web contents
%{_prefix}/apps/livebox.web-provider/bin/web-provider
%{_datarootdir}/packages/livebox.web-provider.xml
%{_prefix}/share/res/*
+%{_sysconfdir}/smack/accesses2.d/livebox.web-provider.rule
%{app_data}
%files devel
return false;
}
+ // if box update is requested during pd opening
+ if (m_updateNeeded) {
+ updateInternal();
+ }
+
SWITCH_BOX_STATE();
return true;
}
m_lastUpdateRequestTime = requestTime;
m_boxInfo->contentInfo = contentInfo;
- if (m_paused) {
- // update is dalayed until this box goes to current tab
+ if (m_paused || m_pdBuffer) {
+ // update is dalayed
+ // until this box goes to current tab or pd is closed
m_updateNeeded = true;
return true;
}
#include "BoxData.h"
#include "BoxManager.h"
-#define UPDATE_REQUEST_MIN_TIME 60 // seconds
-
BoxManager::BoxManager(IBoxPluginFactoryPtr factory)
: m_boxFactory(factory)
{
continue;
}
box = it->second;
- int interval = requestTime - box->getLastUpdateRequestTime();
- if (interval < UPDATE_REQUEST_MIN_TIME) {
- LogD("this update request is skipped");
- continue;
- }
- // set last request time to new one
box->update(requestTime, contentInfo);
}
static const std::string OPERATION_UPDATE_BOX(
"http://tizen.org/appcontrol/operation/dynamicbox/web/update");
static const std::string CONTENT_INFO_KEY("content-info");
+static const std::string ALARM_CALLER_KEY("__ALARM_MGR_CALLER_APPID");
BoxDaemonImpl::BoxDaemonImpl()
: m_pluginConnector(BoxPluginConnector::create())
char* caller = NULL;
ret = service_get_caller(service, &caller);
if (ret != SERVICE_ERROR_NONE) {
- return false;
+ ret = service_get_extra_data(
+ service, ALARM_CALLER_KEY.c_str(), &caller);
+ if (ret != SERVICE_ERROR_NONE) {
+ LogD("failed to get caller's appid from service");
+ return false;
+ }
}
std::string callerAppId(caller);
// injection javascript file regarding creating js object used by box and pd
static const std::string injectionFile("/usr/share/web-provider/injection.js");
-static const std::string renderReadyKey("ready");
AppBoxRenderView::AppBoxRenderView(
std::string boxId, std::string instanceId,
"frame,rendered",
frameRenderedCallback,
this);
- evas_object_data_set(webview, renderReadyKey.c_str(), "0");
}
Eina_Bool AppBoxRenderView::fireRenderTimerCallback(void* data)
{
LogD("enter");
- // TODO keep this temp code by merging webkit rendering patch
- // skip first frame (transparent) from webkit
- if(!strcmp("0", static_cast<const char*>(
- evas_object_data_get(webview, renderReadyKey.c_str()))))
- {
- evas_object_data_set(webview, renderReadyKey.c_str(), "1");
- return;
- }
-
// start to update render buffer!
AppBoxRenderView* This = static_cast<AppBoxRenderView*>(data);
This->m_boxRenderBuffer->startCanvasUpdate();