v8::Local<v8::Context> context = state->GetContext();
bool instance_has_property;
bool holder_has_property;
+#if BUILDFLAG(IS_TIZEN_TV)
+ if (!info.Holder()
+ ->Has(state->GetContext(), v8_name)
+ .To(&holder_has_property) ||
+ holder_has_property) {
+ // hbbtv uses Object.defineProperties to add attribututes to the
+ // scriptable object. Need to set these properties here.
+ if (!instance
+ ->HasOwnProperty(info.GetIsolate()->GetCurrentContext(), v8_name)
+ .To(&instance_has_property) ||
+ instance_has_property) {
+ [[maybe_unused]] v8::Maybe<bool> unused =
+ instance->Set(info.GetIsolate()->GetCurrentContext(), v8_name, value);
+
+ V8SetReturnValue(info, value);
+ }
+ return;
+ }
+#else
if (!instance->HasOwnProperty(context, v8_name).To(&instance_has_property) ||
!info.Holder()->Has(context, v8_name).To(&holder_has_property) ||
(!instance_has_property && holder_has_property)) {
return;
}
+#endif
// FIXME: The gTalk pepper plugin is the only plugin to make use of
// SetProperty and that is being deprecated. This can be removed as soon as