FOREACH(it, m_context.widgetConfig.configInfo.privilegeList) {
std::map<std::string, Feature>::const_iterator result =
g_W3CPrivilegeTextMap.find(DPL::ToUTF8String(it->name));
+ std::string tizenAppId = DPL::ToUTF8String(m_context.widgetConfig.tzAppid).c_str();
+ std::transform(tizenAppId.begin(), tizenAppId.end(), tizenAppId.begin(), tolower);
if (result != g_W3CPrivilegeTextMap.end()) {
if (result->second == FEATURE_USER_MEDIA) {
- dao.setPrivilegeSecurityOriginData(result->second, false);
+ // In case of user media, webkit callback doesn't control origin data
+ // Checking code also useing blank("") scheme and origin
+ SecurityOriginData data(
+ FEATURE_USER_MEDIA,
+ Origin(DPL::FromUTF8String(""),
+ DPL::FromUTF8String(""),
+ 0));
+ dao.setSecurityOriginData(data, RESULT_ALLOW_ALWAYS, true);
} else if (result->second == FEATURE_FULLSCREEN_MODE) {
+ // In case of fullscreen mode, use case directly compare
+ // whether web application define privilege name or not
continue;
} else {
- dao.setPrivilegeSecurityOriginData(result->second);
+ SecurityOriginData data(
+ result->second,
+ Origin(DPL::FromUTF8String("app"),
+ DPL::FromUTF8String(tizenAppId),
+ 0));
+ dao.setSecurityOriginData(data, RESULT_ALLOW_ALWAYS, true);
}
}
}