Index: Source/bindings/scripts/deprecated_code_generator_v8.pm |
diff --git a/Source/bindings/scripts/deprecated_code_generator_v8.pm b/Source/bindings/scripts/deprecated_code_generator_v8.pm |
index 5495d3fdae5319177ac9bb34f617c2055d460fed..c03bda106fd778fc39960501c8f5d0811bd25af2 100644 |
--- a/Source/bindings/scripts/deprecated_code_generator_v8.pm |
+++ b/Source/bindings/scripts/deprecated_code_generator_v8.pm |
@@ -2616,9 +2616,13 @@ sub GenerateEventConstructor |
my $v8ClassName = GetV8ClassName($interface); |
my @anyAttributeNames; |
+ my @serializableAnyAttributeNames; |
foreach my $attribute (@{$interface->attributes}) { |
if ($attribute->type eq "any") { |
push(@anyAttributeNames, $attribute->name); |
+ if (!$attribute->extendedAttributes->{"Unserializable"}) { |
+ push(@serializableAnyAttributeNames, $attribute->name); |
+ } |
} |
} |
@@ -2661,12 +2665,12 @@ END |
RefPtr<${implClassName}> event = ${implClassName}::create(type, eventInit); |
END |
- if (@anyAttributeNames) { |
+ if (@serializableAnyAttributeNames) { |
# If we're in an isolated world, create a SerializedScriptValue and store it in the event for |
# later cloning if the property is accessed from another world. |
# The main world case is handled lazily (in Custom code). |
$implementation{nameSpaceInternal}->add(" if (isolatedWorldForIsolate(args.GetIsolate())) {\n"); |
- foreach my $attrName (@anyAttributeNames) { |
+ foreach my $attrName (@serializableAnyAttributeNames) { |
my $setter = "setSerialized" . FirstLetterToUpperCase($attrName); |
$implementation{nameSpaceInternal}->add(<<END); |
if (!${attrName}.IsEmpty()) |