X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=plugins%2Fdali-script-v8%2Fsrc%2Fobject%2Fproperty-value-wrapper.cpp;h=b9d7b4c48dccad94a5fc7d3ed363667c71e570f3;hp=0b70084a33043dc361c8e4d07012062ac8bf8f9f;hb=dc1e05d24ad5545247513cefe7c5c3290f1af7c2;hpb=da7bba2130b0b15f9d93d63b2404b8888af2c85b diff --git a/plugins/dali-script-v8/src/object/property-value-wrapper.cpp b/plugins/dali-script-v8/src/object/property-value-wrapper.cpp index 0b70084..b9d7b4c 100644 --- a/plugins/dali-script-v8/src/object/property-value-wrapper.cpp +++ b/plugins/dali-script-v8/src/object/property-value-wrapper.cpp @@ -754,14 +754,31 @@ Dali::Property::Value PropertyValueWrapper::ExtractPropertyValue( v8::Isolate* i daliPropertyValue = ArrayFromV8Array( isolate, v8Value ); break; } + case Dali::Property::MAP: + { + if( v8Value->IsObject() ) + { + v8::Local object = v8::Handle::Cast(v8Value); + Dali::Property::Map propertyMap = V8Utils::GetPropertyMapFromObject(isolate, object); + daliPropertyValue = Dali::Property::Value( propertyMap ); + } + else if( V8Utils::IsStringPrimitiveOrObject( v8Value) ) + { + // There are special cases where a property with property map type can accept a string value, + // so we do the additional check here. + daliPropertyValue = Dali::Property::Value( V8Utils::GetStringValue( isolate, v8Value) ); + } + + break; + } case Dali::Property::NONE: default: { break; } - } // switch type + } // switch type - return daliPropertyValue; + return daliPropertyValue; } void PropertyValueWrapper::NewRotation( const v8::FunctionCallbackInfo< v8::Value >& args)