X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fjobs%2Fwidget_install%2Ftask_widget_config.cpp;h=c5bbc5bd79041fc81f44cb87afbb3c9eb5ed5838;hb=c7b504b2506c5718e1611c2258b3e345363e0a8c;hp=ac99419deceb7a24355120f5129dd08a2eabbd04;hpb=929e80e90b75ae07ae1590204b0691905d1df349;p=framework%2Fweb%2Fwrt-installer.git diff --git a/src/jobs/widget_install/task_widget_config.cpp b/src/jobs/widget_install/task_widget_config.cpp index ac99419..c5bbc5b 100644 --- a/src/jobs/widget_install/task_widget_config.cpp +++ b/src/jobs/widget_install/task_widget_config.cpp @@ -78,6 +78,7 @@ TaskWidgetConfig::TaskWidgetConfig(InstallerContext& installContext) : AddStep(&TaskWidgetConfig::ProcessLocalizedIcons); AddStep(&TaskWidgetConfig::ProcessWidgetInstalledPath); AddStep(&TaskWidgetConfig::ProcessAppControlInfo); + AddStep(&TaskWidgetConfig::ProcessSecurityModel); AddStep(&TaskWidgetConfig::StepVerifyFeatures); AddStep(&TaskWidgetConfig::StepCheckMinVersionInfo); } @@ -408,6 +409,46 @@ void TaskWidgetConfig::ProcessAppControlInfo() } } +void TaskWidgetConfig::ProcessSecurityModel() +{ + bool isSecurityModelV1 = false; + bool isSecurityModelV2 = false; + WrtDB::ConfigParserData &data = m_installContext.widgetConfig.configInfo; + + // WARP is V1 + if (!data.accessInfoSet.empty()) { + isSecurityModelV1 = true; + } + + // CSP is V2 + if (!data.cspPolicy.IsNull() || !data.cspPolicyReportOnly.IsNull()) { + isSecurityModelV2 = true; + } + + // allow-navigation is V2 + if (!data.allowNavigationInfoList.empty()) { + isSecurityModelV2 = true; + } + + if (isSecurityModelV1 && isSecurityModelV2) { + LogError("Security model is conflict"); + ThrowMsg(Exceptions::NotAllowed, "Security model is conflict"); + } else if (isSecurityModelV1) { + data.securityModelVersion = + WrtDB::ConfigParserData::SecurityModelVersion::SECURITY_MODEL_V1; + } else if (isSecurityModelV2) { + data.securityModelVersion = + WrtDB::ConfigParserData::SecurityModelVersion::SECURITY_MODEL_V2; + } else { + data.securityModelVersion = + WrtDB::ConfigParserData::SecurityModelVersion::SECURITY_MODEL_V1; + } + + m_installContext.job->UpdateProgress( + InstallerContext::INSTALL_WIDGET_CONFIG2, + "Finished process security model"); +} + void TaskWidgetConfig::StepCheckMinVersionInfo() { if (!isMinVersionCompatible(