WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-84838-20120425215057.patch (text/plain), 10.18 KB, created by
Zan Dobersek
on 2012-04-25 12:50:57 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Zan Dobersek
Created:
2012-04-25 12:50:57 PDT
Size:
10.18 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 115236) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,24 @@ >+2012-04-25 Zan Dobersek <zandobersek@gmail.com> >+ >+ [Gtk] WebKitGTK+ 1.8.1 fails to build when disabling HTML Video feature >+ https://bugs.webkit.org/show_bug.cgi?id=84838 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Wrap WebCore objects and functions in GObject property setters and getters >+ with conditional guards (if present) to avoid compilation errors. >+ >+ No new tests - changes covered by existing bindings tests. >+ >+ * bindings/scripts/CodeGeneratorGObject.pm: >+ (GenerateProperty): >+ (GenerateProperties): >+ * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Rebaseline. >+ (webkit_dom_test_interface_set_property): >+ (webkit_dom_test_interface_get_property): >+ * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto. >+ (webkit_dom_test_serialized_script_value_interface_get_property): >+ > 2012-04-22 Martin Robinson <mrobinson@igalia.com> > > REGRESSION(113604): [Soup] Some pages that use synchronous XMLHttpRequests freeze the browser >Index: Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm >=================================================================== >--- Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm (revision 115182) >+++ Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm (working copy) >@@ -380,8 +380,11 @@ sub GenerateProperty { > my $attribute = shift; > my $interfaceName = shift; > my @writeableProperties = @{shift @_}; >+ my $parentNode = shift; > > my $conditionalString = GenerateConditionalString($attribute->signature); >+ my $parentConditionalString = GenerateConditionalString($parentNode); >+ my @parentConditionalWarn = GenerateConditionalWarning($parentNode); > my $camelPropName = $attribute->signature->name; > my $setPropNameFunction = $codeGenerator->WK_ucfirst($camelPropName); > my $getPropNameFunction = $codeGenerator->WK_lcfirst($camelPropName); >@@ -443,14 +446,19 @@ sub GenerateProperty { > if (grep {$_ eq $attribute} @writeableProperties) { > push(@txtSetProps, "#if ${conditionalString}\n") if $conditionalString; > push(@txtSetProps, " case ${propEnum}:\n {\n"); >+ push(@txtSetProps, "#if ${parentConditionalString}\n") if $parentConditionalString; > push(@txtSetProps, " WebCore::ExceptionCode ec = 0;\n") if @{$attribute->setterExceptions}; > push(@txtSetProps, " ${setterFunctionName}(" . join(", ", @setterArguments) . ");\n"); >+ push(@txtSetProps, "#else\n") if $parentConditionalString; >+ push(@txtSetProps, @parentConditionalWarn) if scalar(@parentConditionalWarn); >+ push(@txtSetProps, "#endif /* ${parentConditionalString} */\n") if $parentConditionalString; > push(@txtSetProps, " break;\n }\n"); > push(@txtSetProps, "#endif /* ${conditionalString} */\n") if $conditionalString; > } > > push(@txtGetProps, "#if ${conditionalString}\n") if $conditionalString; > push(@txtGetProps, " case ${propEnum}:\n {\n"); >+ push(@txtGetProps, "#if ${parentConditionalString}\n") if $parentConditionalString; > push(@txtGetProps, " WebCore::ExceptionCode ec = 0;\n") if @{$attribute->getterExceptions}; > > my $postConvertFunction = ""; >@@ -480,6 +488,9 @@ sub GenerateProperty { > } > } > >+ push(@txtGetProps, "#else\n") if $parentConditionalString; >+ push(@txtGetProps, @parentConditionalWarn) if scalar(@parentConditionalWarn); >+ push(@txtGetProps, "#endif /* ${parentConditionalString} */\n") if $parentConditionalString; > push(@txtGetProps, " break;\n }\n"); > push(@txtGetProps, "#endif /* ${conditionalString} */\n") if $conditionalString; > >@@ -551,7 +562,9 @@ EOF > ${className}* self = WEBKIT_DOM_${clsCaps}(object); > $privFunction > EOF >+ push(@txtGetProps, "$conditionGuardStart\n") if $conditionGuardStart; > push(@txtGetProps, $txtGetProp); >+ push(@txtGetProps, "$conditionGuardEnd\n") if $conditionGuardEnd; > } > > $txtGetProp = << "EOF"; >@@ -573,7 +586,9 @@ EOF > ${className}* self = WEBKIT_DOM_${clsCaps}(object); > $privFunction > EOF >+ push(@txtSetProps, "$conditionGuardStart\n") if $conditionGuardStart; > push(@txtSetProps, $txtSetProps); >+ push(@txtSetProps, "$conditionGuardEnd\n") if $conditionGuardEnd; > } > > $txtSetProps = << "EOF"; >@@ -584,7 +599,7 @@ EOF > foreach my $attribute (@readableProperties) { > if ($attribute->signature->type ne "EventListener" && > $attribute->signature->type ne "MediaQueryListListener") { >- GenerateProperty($attribute, $interfaceName, \@writeableProperties); >+ GenerateProperty($attribute, $interfaceName, \@writeableProperties, $dataNode); > } > } > >Index: Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp >=================================================================== >--- Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp (revision 115182) >+++ Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp (working copy) >@@ -114,13 +114,20 @@ static void webkit_dom_test_interface_fi > static void webkit_dom_test_interface_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec) > { > WebCore::JSMainThreadNullState state; >+#if ENABLE(Condition1) || ENABLE(Condition2) > WebKitDOMTestInterface* self = WEBKIT_DOM_TEST_INTERFACE(object); > WebCore::TestInterface* coreSelf = WebKit::core(self); >+#endif // ENABLE(Condition1) || ENABLE(Condition2) > switch (prop_id) { > #if ENABLE(Condition11) || ENABLE(Condition12) > case PROP_SUPPLEMENTAL_STR2: > { >+#if ENABLE(Condition1) || ENABLE(Condition2) > TestSupplemental::setSupplementalStr2(coreSelf, WTF::String::fromUTF8(g_value_get_string(value))); >+#else >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition1") >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition2") >+#endif /* ENABLE(Condition1) || ENABLE(Condition2) */ > break; > } > #endif /* ENABLE(Condition11) || ENABLE(Condition12) */ >@@ -134,20 +141,32 @@ static void webkit_dom_test_interface_se > static void webkit_dom_test_interface_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) > { > WebCore::JSMainThreadNullState state; >+#if ENABLE(Condition1) || ENABLE(Condition2) > WebKitDOMTestInterface* self = WEBKIT_DOM_TEST_INTERFACE(object); > WebCore::TestInterface* coreSelf = WebKit::core(self); >+#endif // ENABLE(Condition1) || ENABLE(Condition2) > switch (prop_id) { > #if ENABLE(Condition11) || ENABLE(Condition12) > case PROP_SUPPLEMENTAL_STR1: > { >+#if ENABLE(Condition1) || ENABLE(Condition2) > g_value_take_string(value, convertToUTF8String(TestSupplemental::supplementalStr1(coreSelf))); >+#else >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition1") >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition2") >+#endif /* ENABLE(Condition1) || ENABLE(Condition2) */ > break; > } > #endif /* ENABLE(Condition11) || ENABLE(Condition12) */ > #if ENABLE(Condition11) || ENABLE(Condition12) > case PROP_SUPPLEMENTAL_STR2: > { >+#if ENABLE(Condition1) || ENABLE(Condition2) > g_value_take_string(value, convertToUTF8String(TestSupplemental::supplementalStr2(coreSelf))); >+#else >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition1") >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition2") >+#endif /* ENABLE(Condition1) || ENABLE(Condition2) */ > break; > } > #endif /* ENABLE(Condition11) || ENABLE(Condition12) */ >Index: Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp >=================================================================== >--- Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp (revision 115182) >+++ Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp (working copy) >@@ -122,31 +122,53 @@ static void webkit_dom_test_serialized_s > static void webkit_dom_test_serialized_script_value_interface_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) > { > WebCore::JSMainThreadNullState state; >+#if ENABLE(Condition1) || ENABLE(Condition2) > WebKitDOMTestSerializedScriptValueInterface* self = WEBKIT_DOM_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE(object); > WebCore::TestSerializedScriptValueInterface* coreSelf = WebKit::core(self); >+#endif // ENABLE(Condition1) || ENABLE(Condition2) > switch (prop_id) { > case PROP_VALUE: > { >+#if ENABLE(Condition1) || ENABLE(Condition2) > RefPtr<WebCore::SerializedScriptValue> ptr = coreSelf->value(); > g_value_set_object(value, WebKit::kit(ptr.get())); >+#else >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition1") >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition2") >+#endif /* ENABLE(Condition1) || ENABLE(Condition2) */ > break; > } > case PROP_READONLY_VALUE: > { >+#if ENABLE(Condition1) || ENABLE(Condition2) > RefPtr<WebCore::SerializedScriptValue> ptr = coreSelf->readonlyValue(); > g_value_set_object(value, WebKit::kit(ptr.get())); >+#else >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition1") >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition2") >+#endif /* ENABLE(Condition1) || ENABLE(Condition2) */ > break; > } > case PROP_CACHED_VALUE: > { >+#if ENABLE(Condition1) || ENABLE(Condition2) > RefPtr<WebCore::SerializedScriptValue> ptr = coreSelf->cachedValue(); > g_value_set_object(value, WebKit::kit(ptr.get())); >+#else >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition1") >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition2") >+#endif /* ENABLE(Condition1) || ENABLE(Condition2) */ > break; > } > case PROP_CACHED_READONLY_VALUE: > { >+#if ENABLE(Condition1) || ENABLE(Condition2) > RefPtr<WebCore::SerializedScriptValue> ptr = coreSelf->cachedReadonlyValue(); > g_value_set_object(value, WebKit::kit(ptr.get())); >+#else >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition1") >+ WEBKIT_WARN_FEATURE_NOT_PRESENT("Condition2") >+#endif /* ENABLE(Condition1) || ENABLE(Condition2) */ > break; > } > default:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 84838
: 138860