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=a7e29981f16c3a7153571b5b5bcbf26fe9f0e1a9;hp=c58d991f44b8c7c5a5a61fcff9e5829e5af4371c;hb=f36862d59316d840e5e711220b907d50461eb502;hpb=a7646628bf0d87a7f9e02d8f4db52dea881579c7 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 c58d991..a7e2998 100644 --- a/plugins/dali-script-v8/src/object/property-value-wrapper.cpp +++ b/plugins/dali-script-v8/src/object/property-value-wrapper.cpp @@ -481,7 +481,6 @@ bool IsPrimitive( const Dali::Property::Value &value ) { case Dali::Property::BOOLEAN: case Dali::Property::INTEGER: - case Dali::Property::UNSIGNED_INTEGER: case Dali::Property::STRING: case Dali::Property::FLOAT: { @@ -516,11 +515,6 @@ v8::Local CreateJavaScriptPrimitive( v8::Isolate* isolate, const Dal v8Value = v8::Integer::New( isolate, value.Get()); break; } - case Dali::Property::UNSIGNED_INTEGER: - { - v8Value = v8::Integer::New( isolate, value.Get()); - break; - } case Dali::Property::STRING: { std::string string = value.Get< std::string >(); @@ -568,7 +562,7 @@ Dali::Property::Value PropertyValueWrapper::VectorOrMatrixFromV8Array( v8::Isola } if(16 == len ) { - ret = Dali::Matrix( out[0] ); + ret = Dali::Matrix( out ); } else if ( 9 == len ) { @@ -683,14 +677,6 @@ Dali::Property::Value PropertyValueWrapper::ExtractPropertyValue( v8::Isolate* i } break; } - case Dali::Property::UNSIGNED_INTEGER: - { - if( v8Value->IsUint32() ) - { - daliPropertyValue = Dali::Property::Value( v8Value->Uint32Value() );//static_cast( V8Utils::GetNumberValue( isolate, v8Value) )); - } - break; - } case Dali::Property::STRING: { if( V8Utils::IsStringPrimitiveOrObject( v8Value) ) @@ -768,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)