Changeset 136498 in webkit
- Timestamp:
- Dec 4, 2012 3:10:35 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 30 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r136497 r136498 1 2012-12-04 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Use a private struct and placement new syntax in GObject DOM bindings 4 https://bugs.webkit.org/show_bug.cgi?id=101074 5 6 Reviewed by Xan Lopez. 7 8 It allows to use RefPtr for the wrapped object and it simplifies 9 the code. 10 11 * bindings/scripts/CodeGeneratorGObject.pm: 12 (GenerateProperties): 13 (GenerateHeader): 14 (GenerateCFile): 15 (GenerateEventTargetIface): 16 (WriteData): 17 * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp: 18 (_WebKitDOMFloat64ArrayPrivate): 19 (WebKit::core): 20 (WebKit::wrapFloat64Array): 21 (webkit_dom_float64array_finalize): 22 (webkit_dom_float64array_constructor): 23 (webkit_dom_float64array_class_init): 24 (webkit_dom_float64array_init): 25 * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h: 26 (_WebKitDOMFloat64Array): 27 * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp: 28 (_WebKitDOMTestActiveDOMObjectPrivate): 29 (WebKit::core): 30 (WebKit::wrapTestActiveDOMObject): 31 (webkit_dom_test_active_dom_object_finalize): 32 (webkit_dom_test_active_dom_object_constructor): 33 (webkit_dom_test_active_dom_object_class_init): 34 (webkit_dom_test_active_dom_object_init): 35 * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h: 36 (_WebKitDOMTestActiveDOMObject): 37 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: 38 (_WebKitDOMTestCallbackPrivate): 39 (WebKit::core): 40 (WebKit::wrapTestCallback): 41 (webkit_dom_test_callback_finalize): 42 (webkit_dom_test_callback_constructor): 43 (webkit_dom_test_callback_class_init): 44 (webkit_dom_test_callback_init): 45 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: 46 (_WebKitDOMTestCallback): 47 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp: 48 (_WebKitDOMTestCustomNamedGetterPrivate): 49 (WebKit::core): 50 (WebKit::wrapTestCustomNamedGetter): 51 (webkit_dom_test_custom_named_getter_finalize): 52 (webkit_dom_test_custom_named_getter_constructor): 53 (webkit_dom_test_custom_named_getter_class_init): 54 (webkit_dom_test_custom_named_getter_init): 55 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h: 56 (_WebKitDOMTestCustomNamedGetter): 57 * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp: 58 (_WebKitDOMTestEventConstructorPrivate): 59 (WebKit::core): 60 (WebKit::wrapTestEventConstructor): 61 (webkit_dom_test_event_constructor_finalize): 62 (webkit_dom_test_event_constructor_constructor): 63 (webkit_dom_test_event_constructor_class_init): 64 (webkit_dom_test_event_constructor_init): 65 * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h: 66 (_WebKitDOMTestEventConstructor): 67 * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp: 68 (_WebKitDOMTestEventTargetPrivate): 69 (WebKit::core): 70 (WebKit::wrapTestEventTarget): 71 (webkit_dom_test_event_target_dispatch_event): 72 (webkit_dom_test_event_target_add_event_listener): 73 (webkit_dom_test_event_target_remove_event_listener): 74 (webkit_dom_test_event_target_finalize): 75 (webkit_dom_test_event_target_constructor): 76 (webkit_dom_test_event_target_class_init): 77 (webkit_dom_test_event_target_init): 78 * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h: 79 (_WebKitDOMTestEventTarget): 80 * bindings/scripts/test/GObject/WebKitDOMTestException.cpp: 81 (_WebKitDOMTestExceptionPrivate): 82 (WebKit::core): 83 (WebKit::wrapTestException): 84 (webkit_dom_test_exception_finalize): 85 (webkit_dom_test_exception_constructor): 86 (webkit_dom_test_exception_class_init): 87 (webkit_dom_test_exception_init): 88 * bindings/scripts/test/GObject/WebKitDOMTestException.h: 89 (_WebKitDOMTestException): 90 * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: 91 (_WebKitDOMTestInterfacePrivate): 92 (WebKit::core): 93 (WebKit::wrapTestInterface): 94 (webkit_dom_test_interface_finalize): 95 (webkit_dom_test_interface_constructor): 96 (webkit_dom_test_interface_class_init): 97 (webkit_dom_test_interface_init): 98 * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: 99 (_WebKitDOMTestInterface): 100 * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp: 101 (_WebKitDOMTestMediaQueryListListenerPrivate): 102 (WebKit::core): 103 (WebKit::wrapTestMediaQueryListListener): 104 (webkit_dom_test_media_query_list_listener_finalize): 105 (webkit_dom_test_media_query_list_listener_constructor): 106 (webkit_dom_test_media_query_list_listener_class_init): 107 (webkit_dom_test_media_query_list_listener_init): 108 * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h: 109 (_WebKitDOMTestMediaQueryListListener): 110 * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp: 111 (_WebKitDOMTestNamedConstructorPrivate): 112 (WebKit::core): 113 (WebKit::wrapTestNamedConstructor): 114 (webkit_dom_test_named_constructor_finalize): 115 (webkit_dom_test_named_constructor_constructor): 116 (webkit_dom_test_named_constructor_class_init): 117 (webkit_dom_test_named_constructor_init): 118 * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h: 119 (_WebKitDOMTestNamedConstructor): 120 * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp: 121 (_WebKitDOMTestNodePrivate): 122 (WebKit::core): 123 (WebKit::wrapTestNode): 124 (webkit_dom_test_node_dispatch_event): 125 (webkit_dom_test_node_add_event_listener): 126 (webkit_dom_test_node_remove_event_listener): 127 (webkit_dom_test_node_finalize): 128 (webkit_dom_test_node_constructor): 129 (webkit_dom_test_node_class_init): 130 (webkit_dom_test_node_init): 131 * bindings/scripts/test/GObject/WebKitDOMTestNode.h: 132 (_WebKitDOMTestNode): 133 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 134 (_WebKitDOMTestObjPrivate): 135 (WebKit::core): 136 (WebKit::wrapTestObj): 137 (webkit_dom_test_obj_finalize): 138 (webkit_dom_test_obj_constructor): 139 (webkit_dom_test_obj_class_init): 140 (webkit_dom_test_obj_init): 141 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: 142 (_WebKitDOMTestObj): 143 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: 144 (_WebKitDOMTestSerializedScriptValueInterfacePrivate): 145 (WebKit::core): 146 (WebKit::wrapTestSerializedScriptValueInterface): 147 (webkit_dom_test_serialized_script_value_interface_finalize): 148 (webkit_dom_test_serialized_script_value_interface_constructor): 149 (webkit_dom_test_serialized_script_value_interface_class_init): 150 (webkit_dom_test_serialized_script_value_interface_init): 151 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: 152 (_WebKitDOMTestSerializedScriptValueInterface): 153 1 154 2012-12-04 David Grogan <dgrogan@chromium.org> 2 155 -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm
r136491 r136498 642 642 static void ${lowerCaseIfaceName}_finalize(GObject* object) 643 643 { 644 ${className}Private* priv = WEBKIT_DOM_${clsCaps}(object)->priv; 644 645 $conditionGuardStart 645 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 646 647 if (domObject->coreObject) { 648 WebCore::${interfaceName}* coreObject = static_cast<WebCore::${interfaceName}*>(domObject->coreObject); 649 650 WebKit::DOMObjectCache::forget(coreObject); 651 coreObject->deref(); 652 653 domObject->coreObject = 0; 654 } 646 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 655 647 $conditionGuardEnd 656 648 priv->~${className}Private(); 657 649 G_OBJECT_CLASS(${lowerCaseIfaceName}_parent_class)->finalize(object); 658 650 } … … 688 680 689 681 $implContent = << "EOF"; 682 static GObject* ${lowerCaseIfaceName}_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 683 { 684 GObject* object = G_OBJECT_CLASS(${lowerCaseIfaceName}_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 685 $conditionGuardStart 686 ${className}Private* priv = WEBKIT_DOM_${clsCaps}(object)->priv; 687 priv->coreObject = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(object)->coreObject); 688 $conditionGuardEnd 689 return object; 690 } 691 690 692 static void ${lowerCaseIfaceName}_class_init(${className}Class* requestClass) 691 693 { 692 694 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 695 gobjectClass->constructor = ${lowerCaseIfaceName}_constructor; 693 696 gobjectClass->finalize = ${lowerCaseIfaceName}_finalize; 697 g_type_class_add_private(gobjectClass, sizeof(${className}Private)); 694 698 EOF 695 699 push(@cBodyProperties, $implContent); … … 715 719 } 716 720 717 static void ${lowerCaseIfaceName}_init(${className}* request) 718 { 721 static void ${lowerCaseIfaceName}_init(${className}* self) 722 { 723 ${className}Private* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_${clsCaps}, ${className}Private); 724 self->priv = priv; 725 new (priv) ${className}Private(); 719 726 } 720 727 … … 760 767 #define WEBKIT_DOM_${clsCaps}_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_${clsCaps}, ${className}Class)) 761 768 769 typedef struct _${className}Private ${className}Private; 770 762 771 struct _${className} { 763 772 ${parentClassName} parent_instance; 773 774 ${className}Private *priv; 764 775 }; 765 776 … … 1195 1206 my $lowerCaseIfaceName = "webkit_dom_" . FixUpDecamelizedName(decamelize($interfaceName)); 1196 1207 1208 my $conditionalString = $codeGenerator->GenerateConditionalString($interface); 1209 push(@cStructPriv, "struct _${className}Private {\n"); 1210 push(@cStructPriv, "#if ${conditionalString}\n") if $conditionalString; 1211 push(@cStructPriv, " RefPtr<WebCore::${interfaceName}> coreObject;\n"); 1212 push(@cStructPriv, "#endif // ${conditionalString}\n") if $conditionalString; 1213 push(@cStructPriv, "};\n\n"); 1214 1197 1215 $implContent = << "EOF"; 1198 1216 ${defineTypeMacro}(${className}, ${lowerCaseIfaceName}, ${parentGObjType}${defineTypeInterfaceImplementation} … … 1205 1223 { 1206 1224 g_return_val_if_fail(request, 0); 1207 1208 WebCore::${interfaceName}* coreObject = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(request)->coreObject); 1209 g_return_val_if_fail(coreObject, 0); 1210 1211 return coreObject; 1225 return request->priv->coreObject.get(); 1212 1226 } 1213 1227 … … 1222 1236 { 1223 1237 g_return_val_if_fail(coreObject, 0); 1224 1225 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object1226 // in a C-allocated GObject structure. See the finalize() code for the matching deref().1227 coreObject->ref();1228 1229 1238 return WEBKIT_DOM_${clsCaps}(g_object_new(WEBKIT_TYPE_DOM_${clsCaps}, "core-object", coreObject, NULL)); 1230 1239 } … … 1257 1266 my $interfaceName = $interface->name; 1258 1267 my $decamelize = FixUpDecamelizedName(decamelize($interfaceName)); 1268 my $clsCaps = uc($decamelize); 1259 1269 1260 1270 $implIncludes{"GObjectEventListener.h"} = 1; … … 1265 1275 static void webkit_dom_${decamelize}_dispatch_event(WebKitDOMEventTarget* target, WebKitDOMEvent* event, GError** error) 1266 1276 { 1267 WebCore::Event* coreEvent = WebKit::core(event);1268 WebCore::${interfaceName}* coreTarget = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(target)->coreObject);1269 1270 1277 WebCore::ExceptionCode ec = 0; 1271 coreTarget->dispatchEvent(coreEvent, ec);1278 WEBKIT_DOM_${clsCaps}(target)->priv->coreObject->dispatchEvent(WebKit::core(event), ec); 1272 1279 if (ec) { 1273 1280 WebCore::ExceptionCodeDescription description(ec); … … 1278 1285 static gboolean webkit_dom_${decamelize}_add_event_listener(WebKitDOMEventTarget* target, const char* eventName, GCallback handler, gboolean bubble, gpointer userData) 1279 1286 { 1280 WebCore::${interfaceName}* coreTarget = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(target)->coreObject);1287 WebCore::${interfaceName}* coreTarget = WEBKIT_DOM_${clsCaps}(target)->priv->coreObject.get(); 1281 1288 return WebCore::GObjectEventListener::addEventListener(G_OBJECT(target), coreTarget, eventName, handler, bubble, userData); 1282 1289 } … … 1284 1291 static gboolean webkit_dom_${decamelize}_remove_event_listener(WebKitDOMEventTarget* target, const char* eventName, GCallback handler, gboolean bubble) 1285 1292 { 1286 WebCore::${interfaceName}* coreTarget = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(target)->coreObject);1293 WebCore::${interfaceName}* coreTarget = WEBKIT_DOM_${clsCaps}(target)->priv->coreObject.get(); 1287 1294 return WebCore::GObjectEventListener::removeEventListener(G_OBJECT(target), coreTarget, eventName, handler, bubble); 1288 1295 } … … 1433 1440 print IMPL "#include <wtf/GetPtr.h>\n"; 1434 1441 print IMPL "#include <wtf/RefPtr.h>\n\n"; 1442 print IMPL @cStructPriv; 1435 1443 print IMPL "#if ${conditionalString}\n\n" if $conditionalString; 1436 1444 … … 1454 1462 @cBodyPriv = (); 1455 1463 @cBodyProperties = (); 1464 @cStructPriv = (); 1456 1465 } 1457 1466 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp
r136491 r136498 34 34 #include <wtf/RefPtr.h> 35 35 36 struct _WebKitDOMFloat64ArrayPrivate { 37 RefPtr<WebCore::Float64Array> coreObject; 38 }; 39 36 40 namespace WebKit { 37 41 … … 49 53 { 50 54 g_return_val_if_fail(request, 0); 51 52 WebCore::Float64Array* coreObject = static_cast<WebCore::Float64Array*>(WEBKIT_DOM_OBJECT(request)->coreObject); 53 g_return_val_if_fail(coreObject, 0); 54 55 return coreObject; 55 return request->priv->coreObject.get(); 56 56 } 57 57 … … 59 59 { 60 60 g_return_val_if_fail(coreObject, 0); 61 62 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object63 // in a C-allocated GObject structure. See the finalize() code for the matching deref().64 coreObject->ref();65 66 61 return WEBKIT_DOM_FLOAT64ARRAY(g_object_new(WEBKIT_TYPE_DOM_FLOAT64ARRAY, "core-object", coreObject, NULL)); 67 62 } … … 73 68 static void webkit_dom_float64array_finalize(GObject* object) 74 69 { 70 WebKitDOMFloat64ArrayPrivate* priv = WEBKIT_DOM_FLOAT64ARRAY(object)->priv; 75 71 76 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 77 78 if (domObject->coreObject) { 79 WebCore::Float64Array* coreObject = static_cast<WebCore::Float64Array*>(domObject->coreObject); 72 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 80 73 81 WebKit::DOMObjectCache::forget(coreObject); 82 coreObject->deref(); 74 priv->~WebKitDOMFloat64ArrayPrivate(); 75 G_OBJECT_CLASS(webkit_dom_float64array_parent_class)->finalize(object); 76 } 83 77 84 domObject->coreObject = 0; 85 } 78 static GObject* webkit_dom_float64array_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 79 { 80 GObject* object = G_OBJECT_CLASS(webkit_dom_float64array_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 86 81 82 WebKitDOMFloat64ArrayPrivate* priv = WEBKIT_DOM_FLOAT64ARRAY(object)->priv; 83 priv->coreObject = static_cast<WebCore::Float64Array*>(WEBKIT_DOM_OBJECT(object)->coreObject); 87 84 88 G_OBJECT_CLASS(webkit_dom_float64array_parent_class)->finalize(object);85 return object; 89 86 } 90 87 … … 92 89 { 93 90 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 91 gobjectClass->constructor = webkit_dom_float64array_constructor; 94 92 gobjectClass->finalize = webkit_dom_float64array_finalize; 93 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMFloat64ArrayPrivate)); 95 94 } 96 95 97 static void webkit_dom_float64array_init(WebKitDOMFloat64Array* request)96 static void webkit_dom_float64array_init(WebKitDOMFloat64Array* self) 98 97 { 98 WebKitDOMFloat64ArrayPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_FLOAT64ARRAY, WebKitDOMFloat64ArrayPrivate); 99 self->priv = priv; 100 new (priv) WebKitDOMFloat64ArrayPrivate(); 99 101 } 100 102 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMFloat64Array.h
r133893 r136498 36 36 #define WEBKIT_DOM_FLOAT64ARRAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_FLOAT64ARRAY, WebKitDOMFloat64ArrayClass)) 37 37 38 typedef struct _WebKitDOMFloat64ArrayPrivate WebKitDOMFloat64ArrayPrivate; 39 38 40 struct _WebKitDOMFloat64Array { 39 41 WebKitDOMArrayBufferView parent_instance; 42 43 WebKitDOMFloat64ArrayPrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp
r136491 r136498 33 33 #include <wtf/RefPtr.h> 34 34 35 struct _WebKitDOMTestActiveDOMObjectPrivate { 36 RefPtr<WebCore::TestActiveDOMObject> coreObject; 37 }; 38 35 39 namespace WebKit { 36 40 … … 48 52 { 49 53 g_return_val_if_fail(request, 0); 50 51 WebCore::TestActiveDOMObject* coreObject = static_cast<WebCore::TestActiveDOMObject*>(WEBKIT_DOM_OBJECT(request)->coreObject); 52 g_return_val_if_fail(coreObject, 0); 53 54 return coreObject; 54 return request->priv->coreObject.get(); 55 55 } 56 56 … … 58 58 { 59 59 g_return_val_if_fail(coreObject, 0); 60 61 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object62 // in a C-allocated GObject structure. See the finalize() code for the matching deref().63 coreObject->ref();64 65 60 return WEBKIT_DOM_TEST_ACTIVE_DOM_OBJECT(g_object_new(WEBKIT_TYPE_DOM_TEST_ACTIVE_DOM_OBJECT, "core-object", coreObject, NULL)); 66 61 } … … 77 72 static void webkit_dom_test_active_dom_object_finalize(GObject* object) 78 73 { 74 WebKitDOMTestActiveDOMObjectPrivate* priv = WEBKIT_DOM_TEST_ACTIVE_DOM_OBJECT(object)->priv; 79 75 80 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 81 82 if (domObject->coreObject) { 83 WebCore::TestActiveDOMObject* coreObject = static_cast<WebCore::TestActiveDOMObject*>(domObject->coreObject); 76 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 84 77 85 WebKit::DOMObjectCache::forget(coreObject); 86 coreObject->deref(); 87 88 domObject->coreObject = 0; 89 } 90 91 78 priv->~WebKitDOMTestActiveDOMObjectPrivate(); 92 79 G_OBJECT_CLASS(webkit_dom_test_active_dom_object_parent_class)->finalize(object); 93 80 } … … 111 98 } 112 99 100 static GObject* webkit_dom_test_active_dom_object_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 101 { 102 GObject* object = G_OBJECT_CLASS(webkit_dom_test_active_dom_object_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 103 104 WebKitDOMTestActiveDOMObjectPrivate* priv = WEBKIT_DOM_TEST_ACTIVE_DOM_OBJECT(object)->priv; 105 priv->coreObject = static_cast<WebCore::TestActiveDOMObject*>(WEBKIT_DOM_OBJECT(object)->coreObject); 106 107 return object; 108 } 109 113 110 static void webkit_dom_test_active_dom_object_class_init(WebKitDOMTestActiveDOMObjectClass* requestClass) 114 111 { 115 112 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 113 gobjectClass->constructor = webkit_dom_test_active_dom_object_constructor; 116 114 gobjectClass->finalize = webkit_dom_test_active_dom_object_finalize; 115 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestActiveDOMObjectPrivate)); 117 116 gobjectClass->get_property = webkit_dom_test_active_dom_object_get_property; 118 117 … … 128 127 } 129 128 130 static void webkit_dom_test_active_dom_object_init(WebKitDOMTestActiveDOMObject* request)129 static void webkit_dom_test_active_dom_object_init(WebKitDOMTestActiveDOMObject* self) 131 130 { 131 WebKitDOMTestActiveDOMObjectPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_ACTIVE_DOM_OBJECT, WebKitDOMTestActiveDOMObjectPrivate); 132 self->priv = priv; 133 new (priv) WebKitDOMTestActiveDOMObjectPrivate(); 132 134 } 133 135 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_ACTIVE_DOM_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_ACTIVE_DOM_OBJECT, WebKitDOMTestActiveDOMObjectClass)) 37 37 38 typedef struct _WebKitDOMTestActiveDOMObjectPrivate WebKitDOMTestActiveDOMObjectPrivate; 39 38 40 struct _WebKitDOMTestActiveDOMObject { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestActiveDOMObjectPrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp
r136491 r136498 38 38 #include <wtf/RefPtr.h> 39 39 40 struct _WebKitDOMTestCallbackPrivate { 41 #if ENABLE(SQL_DATABASE) 42 RefPtr<WebCore::TestCallback> coreObject; 43 #endif // ENABLE(SQL_DATABASE) 44 }; 45 40 46 #if ENABLE(SQL_DATABASE) 41 47 … … 55 61 { 56 62 g_return_val_if_fail(request, 0); 57 58 WebCore::TestCallback* coreObject = static_cast<WebCore::TestCallback*>(WEBKIT_DOM_OBJECT(request)->coreObject); 63 return request->priv->coreObject.get(); 64 } 65 66 WebKitDOMTestCallback* wrapTestCallback(WebCore::TestCallback* coreObject) 67 { 59 68 g_return_val_if_fail(coreObject, 0); 60 61 return coreObject;62 }63 64 WebKitDOMTestCallback* wrapTestCallback(WebCore::TestCallback* coreObject)65 {66 g_return_val_if_fail(coreObject, 0);67 68 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object69 // in a C-allocated GObject structure. See the finalize() code for the matching deref().70 coreObject->ref();71 72 69 return WEBKIT_DOM_TEST_CALLBACK(g_object_new(WEBKIT_TYPE_DOM_TEST_CALLBACK, "core-object", coreObject, NULL)); 73 70 } … … 81 78 static void webkit_dom_test_callback_finalize(GObject* object) 82 79 { 83 #if ENABLE(SQL_DATABASE) 84 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 85 86 if (domObject->coreObject) { 87 WebCore::TestCallback* coreObject = static_cast<WebCore::TestCallback*>(domObject->coreObject); 88 89 WebKit::DOMObjectCache::forget(coreObject); 90 coreObject->deref(); 91 92 domObject->coreObject = 0; 93 } 94 #endif // ENABLE(SQL_DATABASE) 95 80 WebKitDOMTestCallbackPrivate* priv = WEBKIT_DOM_TEST_CALLBACK(object)->priv; 81 #if ENABLE(SQL_DATABASE) 82 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 83 #endif // ENABLE(SQL_DATABASE) 84 priv->~WebKitDOMTestCallbackPrivate(); 96 85 G_OBJECT_CLASS(webkit_dom_test_callback_parent_class)->finalize(object); 97 86 } 98 87 88 static GObject* webkit_dom_test_callback_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 89 { 90 GObject* object = G_OBJECT_CLASS(webkit_dom_test_callback_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 91 #if ENABLE(SQL_DATABASE) 92 WebKitDOMTestCallbackPrivate* priv = WEBKIT_DOM_TEST_CALLBACK(object)->priv; 93 priv->coreObject = static_cast<WebCore::TestCallback*>(WEBKIT_DOM_OBJECT(object)->coreObject); 94 #endif // ENABLE(SQL_DATABASE) 95 return object; 96 } 97 99 98 static void webkit_dom_test_callback_class_init(WebKitDOMTestCallbackClass* requestClass) 100 99 { 101 100 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 101 gobjectClass->constructor = webkit_dom_test_callback_constructor; 102 102 gobjectClass->finalize = webkit_dom_test_callback_finalize; 103 } 104 105 static void webkit_dom_test_callback_init(WebKitDOMTestCallback* request) 106 { 103 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestCallbackPrivate)); 104 } 105 106 static void webkit_dom_test_callback_init(WebKitDOMTestCallback* self) 107 { 108 WebKitDOMTestCallbackPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_CALLBACK, WebKitDOMTestCallbackPrivate); 109 self->priv = priv; 110 new (priv) WebKitDOMTestCallbackPrivate(); 107 111 } 108 112 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCallback.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_CALLBACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_CALLBACK, WebKitDOMTestCallbackClass)) 37 37 38 typedef struct _WebKitDOMTestCallbackPrivate WebKitDOMTestCallbackPrivate; 39 38 40 struct _WebKitDOMTestCallback { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestCallbackPrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp
r136491 r136498 32 32 #include <wtf/RefPtr.h> 33 33 34 struct _WebKitDOMTestCustomNamedGetterPrivate { 35 RefPtr<WebCore::TestCustomNamedGetter> coreObject; 36 }; 37 34 38 namespace WebKit { 35 39 … … 47 51 { 48 52 g_return_val_if_fail(request, 0); 49 50 WebCore::TestCustomNamedGetter* coreObject = static_cast<WebCore::TestCustomNamedGetter*>(WEBKIT_DOM_OBJECT(request)->coreObject); 51 g_return_val_if_fail(coreObject, 0); 52 53 return coreObject; 53 return request->priv->coreObject.get(); 54 54 } 55 55 … … 57 57 { 58 58 g_return_val_if_fail(coreObject, 0); 59 60 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object61 // in a C-allocated GObject structure. See the finalize() code for the matching deref().62 coreObject->ref();63 64 59 return WEBKIT_DOM_TEST_CUSTOM_NAMED_GETTER(g_object_new(WEBKIT_TYPE_DOM_TEST_CUSTOM_NAMED_GETTER, "core-object", coreObject, NULL)); 65 60 } … … 71 66 static void webkit_dom_test_custom_named_getter_finalize(GObject* object) 72 67 { 68 WebKitDOMTestCustomNamedGetterPrivate* priv = WEBKIT_DOM_TEST_CUSTOM_NAMED_GETTER(object)->priv; 73 69 74 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 75 76 if (domObject->coreObject) { 77 WebCore::TestCustomNamedGetter* coreObject = static_cast<WebCore::TestCustomNamedGetter*>(domObject->coreObject); 70 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 78 71 79 WebKit::DOMObjectCache::forget(coreObject); 80 coreObject->deref(); 72 priv->~WebKitDOMTestCustomNamedGetterPrivate(); 73 G_OBJECT_CLASS(webkit_dom_test_custom_named_getter_parent_class)->finalize(object); 74 } 81 75 82 domObject->coreObject = 0; 83 } 76 static GObject* webkit_dom_test_custom_named_getter_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 77 { 78 GObject* object = G_OBJECT_CLASS(webkit_dom_test_custom_named_getter_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 84 79 80 WebKitDOMTestCustomNamedGetterPrivate* priv = WEBKIT_DOM_TEST_CUSTOM_NAMED_GETTER(object)->priv; 81 priv->coreObject = static_cast<WebCore::TestCustomNamedGetter*>(WEBKIT_DOM_OBJECT(object)->coreObject); 85 82 86 G_OBJECT_CLASS(webkit_dom_test_custom_named_getter_parent_class)->finalize(object);83 return object; 87 84 } 88 85 … … 90 87 { 91 88 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 89 gobjectClass->constructor = webkit_dom_test_custom_named_getter_constructor; 92 90 gobjectClass->finalize = webkit_dom_test_custom_named_getter_finalize; 91 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestCustomNamedGetterPrivate)); 93 92 } 94 93 95 static void webkit_dom_test_custom_named_getter_init(WebKitDOMTestCustomNamedGetter* request)94 static void webkit_dom_test_custom_named_getter_init(WebKitDOMTestCustomNamedGetter* self) 96 95 { 96 WebKitDOMTestCustomNamedGetterPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_CUSTOM_NAMED_GETTER, WebKitDOMTestCustomNamedGetterPrivate); 97 self->priv = priv; 98 new (priv) WebKitDOMTestCustomNamedGetterPrivate(); 97 99 } 98 100 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_CUSTOM_NAMED_GETTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_CUSTOM_NAMED_GETTER, WebKitDOMTestCustomNamedGetterClass)) 37 37 38 typedef struct _WebKitDOMTestCustomNamedGetterPrivate WebKitDOMTestCustomNamedGetterPrivate; 39 38 40 struct _WebKitDOMTestCustomNamedGetter { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestCustomNamedGetterPrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp
r136491 r136498 32 32 #include <wtf/RefPtr.h> 33 33 34 struct _WebKitDOMTestEventConstructorPrivate { 35 RefPtr<WebCore::TestEventConstructor> coreObject; 36 }; 37 34 38 namespace WebKit { 35 39 … … 47 51 { 48 52 g_return_val_if_fail(request, 0); 49 50 WebCore::TestEventConstructor* coreObject = static_cast<WebCore::TestEventConstructor*>(WEBKIT_DOM_OBJECT(request)->coreObject); 51 g_return_val_if_fail(coreObject, 0); 52 53 return coreObject; 53 return request->priv->coreObject.get(); 54 54 } 55 55 … … 57 57 { 58 58 g_return_val_if_fail(coreObject, 0); 59 60 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object61 // in a C-allocated GObject structure. See the finalize() code for the matching deref().62 coreObject->ref();63 64 59 return WEBKIT_DOM_TEST_EVENT_CONSTRUCTOR(g_object_new(WEBKIT_TYPE_DOM_TEST_EVENT_CONSTRUCTOR, "core-object", coreObject, NULL)); 65 60 } … … 77 72 static void webkit_dom_test_event_constructor_finalize(GObject* object) 78 73 { 74 WebKitDOMTestEventConstructorPrivate* priv = WEBKIT_DOM_TEST_EVENT_CONSTRUCTOR(object)->priv; 79 75 80 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 81 82 if (domObject->coreObject) { 83 WebCore::TestEventConstructor* coreObject = static_cast<WebCore::TestEventConstructor*>(domObject->coreObject); 76 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 84 77 85 WebKit::DOMObjectCache::forget(coreObject); 86 coreObject->deref(); 87 88 domObject->coreObject = 0; 89 } 90 91 78 priv->~WebKitDOMTestEventConstructorPrivate(); 92 79 G_OBJECT_CLASS(webkit_dom_test_event_constructor_parent_class)->finalize(object); 93 80 } … … 115 102 } 116 103 104 static GObject* webkit_dom_test_event_constructor_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 105 { 106 GObject* object = G_OBJECT_CLASS(webkit_dom_test_event_constructor_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 107 108 WebKitDOMTestEventConstructorPrivate* priv = WEBKIT_DOM_TEST_EVENT_CONSTRUCTOR(object)->priv; 109 priv->coreObject = static_cast<WebCore::TestEventConstructor*>(WEBKIT_DOM_OBJECT(object)->coreObject); 110 111 return object; 112 } 113 117 114 static void webkit_dom_test_event_constructor_class_init(WebKitDOMTestEventConstructorClass* requestClass) 118 115 { 119 116 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 117 gobjectClass->constructor = webkit_dom_test_event_constructor_constructor; 120 118 gobjectClass->finalize = webkit_dom_test_event_constructor_finalize; 119 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestEventConstructorPrivate)); 121 120 gobjectClass->get_property = webkit_dom_test_event_constructor_get_property; 122 121 … … 137 136 } 138 137 139 static void webkit_dom_test_event_constructor_init(WebKitDOMTestEventConstructor* request)138 static void webkit_dom_test_event_constructor_init(WebKitDOMTestEventConstructor* self) 140 139 { 140 WebKitDOMTestEventConstructorPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_EVENT_CONSTRUCTOR, WebKitDOMTestEventConstructorPrivate); 141 self->priv = priv; 142 new (priv) WebKitDOMTestEventConstructorPrivate(); 141 143 } 142 144 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_EVENT_CONSTRUCTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_EVENT_CONSTRUCTOR, WebKitDOMTestEventConstructorClass)) 37 37 38 typedef struct _WebKitDOMTestEventConstructorPrivate WebKitDOMTestEventConstructorPrivate; 39 38 40 struct _WebKitDOMTestEventConstructor { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestEventConstructorPrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp
r136491 r136498 36 36 #include <wtf/RefPtr.h> 37 37 38 struct _WebKitDOMTestEventTargetPrivate { 39 RefPtr<WebCore::TestEventTarget> coreObject; 40 }; 41 38 42 namespace WebKit { 39 43 … … 51 55 { 52 56 g_return_val_if_fail(request, 0); 53 54 WebCore::TestEventTarget* coreObject = static_cast<WebCore::TestEventTarget*>(WEBKIT_DOM_OBJECT(request)->coreObject); 55 g_return_val_if_fail(coreObject, 0); 56 57 return coreObject; 57 return request->priv->coreObject.get(); 58 58 } 59 59 … … 61 61 { 62 62 g_return_val_if_fail(coreObject, 0); 63 64 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object65 // in a C-allocated GObject structure. See the finalize() code for the matching deref().66 coreObject->ref();67 68 63 return WEBKIT_DOM_TEST_EVENT_TARGET(g_object_new(WEBKIT_TYPE_DOM_TEST_EVENT_TARGET, "core-object", coreObject, NULL)); 69 64 } … … 73 68 static void webkit_dom_test_event_target_dispatch_event(WebKitDOMEventTarget* target, WebKitDOMEvent* event, GError** error) 74 69 { 75 WebCore::Event* coreEvent = WebKit::core(event);76 WebCore::TestEventTarget* coreTarget = static_cast<WebCore::TestEventTarget*>(WEBKIT_DOM_OBJECT(target)->coreObject);77 78 70 WebCore::ExceptionCode ec = 0; 79 coreTarget->dispatchEvent(coreEvent, ec);71 WEBKIT_DOM_TEST_EVENT_TARGET(target)->priv->coreObject->dispatchEvent(WebKit::core(event), ec); 80 72 if (ec) { 81 73 WebCore::ExceptionCodeDescription description(ec); … … 86 78 static gboolean webkit_dom_test_event_target_add_event_listener(WebKitDOMEventTarget* target, const char* eventName, GCallback handler, gboolean bubble, gpointer userData) 87 79 { 88 WebCore::TestEventTarget* coreTarget = static_cast<WebCore::TestEventTarget*>(WEBKIT_DOM_OBJECT(target)->coreObject);80 WebCore::TestEventTarget* coreTarget = WEBKIT_DOM_TEST_EVENT_TARGET(target)->priv->coreObject.get(); 89 81 return WebCore::GObjectEventListener::addEventListener(G_OBJECT(target), coreTarget, eventName, handler, bubble, userData); 90 82 } … … 92 84 static gboolean webkit_dom_test_event_target_remove_event_listener(WebKitDOMEventTarget* target, const char* eventName, GCallback handler, gboolean bubble) 93 85 { 94 WebCore::TestEventTarget* coreTarget = static_cast<WebCore::TestEventTarget*>(WEBKIT_DOM_OBJECT(target)->coreObject);86 WebCore::TestEventTarget* coreTarget = WEBKIT_DOM_TEST_EVENT_TARGET(target)->priv->coreObject.get(); 95 87 return WebCore::GObjectEventListener::removeEventListener(G_OBJECT(target), coreTarget, eventName, handler, bubble); 96 88 } … … 107 99 static void webkit_dom_test_event_target_finalize(GObject* object) 108 100 { 101 WebKitDOMTestEventTargetPrivate* priv = WEBKIT_DOM_TEST_EVENT_TARGET(object)->priv; 109 102 110 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 111 112 if (domObject->coreObject) { 113 WebCore::TestEventTarget* coreObject = static_cast<WebCore::TestEventTarget*>(domObject->coreObject); 103 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 114 104 115 WebKit::DOMObjectCache::forget(coreObject); 116 coreObject->deref(); 105 priv->~WebKitDOMTestEventTargetPrivate(); 106 G_OBJECT_CLASS(webkit_dom_test_event_target_parent_class)->finalize(object); 107 } 117 108 118 domObject->coreObject = 0; 119 } 109 static GObject* webkit_dom_test_event_target_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 110 { 111 GObject* object = G_OBJECT_CLASS(webkit_dom_test_event_target_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 120 112 113 WebKitDOMTestEventTargetPrivate* priv = WEBKIT_DOM_TEST_EVENT_TARGET(object)->priv; 114 priv->coreObject = static_cast<WebCore::TestEventTarget*>(WEBKIT_DOM_OBJECT(object)->coreObject); 121 115 122 G_OBJECT_CLASS(webkit_dom_test_event_target_parent_class)->finalize(object);116 return object; 123 117 } 124 118 … … 126 120 { 127 121 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 122 gobjectClass->constructor = webkit_dom_test_event_target_constructor; 128 123 gobjectClass->finalize = webkit_dom_test_event_target_finalize; 124 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestEventTargetPrivate)); 129 125 } 130 126 131 static void webkit_dom_test_event_target_init(WebKitDOMTestEventTarget* request)127 static void webkit_dom_test_event_target_init(WebKitDOMTestEventTarget* self) 132 128 { 129 WebKitDOMTestEventTargetPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_EVENT_TARGET, WebKitDOMTestEventTargetPrivate); 130 self->priv = priv; 131 new (priv) WebKitDOMTestEventTargetPrivate(); 133 132 } 134 133 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_EVENT_TARGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_EVENT_TARGET, WebKitDOMTestEventTargetClass)) 37 37 38 typedef struct _WebKitDOMTestEventTargetPrivate WebKitDOMTestEventTargetPrivate; 39 38 40 struct _WebKitDOMTestEventTarget { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestEventTargetPrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestException.cpp
r136491 r136498 32 32 #include <wtf/RefPtr.h> 33 33 34 struct _WebKitDOMTestExceptionPrivate { 35 RefPtr<WebCore::TestException> coreObject; 36 }; 37 34 38 namespace WebKit { 35 39 … … 47 51 { 48 52 g_return_val_if_fail(request, 0); 49 50 WebCore::TestException* coreObject = static_cast<WebCore::TestException*>(WEBKIT_DOM_OBJECT(request)->coreObject); 51 g_return_val_if_fail(coreObject, 0); 52 53 return coreObject; 53 return request->priv->coreObject.get(); 54 54 } 55 55 … … 57 57 { 58 58 g_return_val_if_fail(coreObject, 0); 59 60 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object61 // in a C-allocated GObject structure. See the finalize() code for the matching deref().62 coreObject->ref();63 64 59 return WEBKIT_DOM_TEST_EXCEPTION(g_object_new(WEBKIT_TYPE_DOM_TEST_EXCEPTION, "core-object", coreObject, NULL)); 65 60 } … … 76 71 static void webkit_dom_test_exception_finalize(GObject* object) 77 72 { 73 WebKitDOMTestExceptionPrivate* priv = WEBKIT_DOM_TEST_EXCEPTION(object)->priv; 78 74 79 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 80 81 if (domObject->coreObject) { 82 WebCore::TestException* coreObject = static_cast<WebCore::TestException*>(domObject->coreObject); 75 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 83 76 84 WebKit::DOMObjectCache::forget(coreObject); 85 coreObject->deref(); 86 87 domObject->coreObject = 0; 88 } 89 90 77 priv->~WebKitDOMTestExceptionPrivate(); 91 78 G_OBJECT_CLASS(webkit_dom_test_exception_parent_class)->finalize(object); 92 79 } … … 110 97 } 111 98 99 static GObject* webkit_dom_test_exception_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 100 { 101 GObject* object = G_OBJECT_CLASS(webkit_dom_test_exception_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 102 103 WebKitDOMTestExceptionPrivate* priv = WEBKIT_DOM_TEST_EXCEPTION(object)->priv; 104 priv->coreObject = static_cast<WebCore::TestException*>(WEBKIT_DOM_OBJECT(object)->coreObject); 105 106 return object; 107 } 108 112 109 static void webkit_dom_test_exception_class_init(WebKitDOMTestExceptionClass* requestClass) 113 110 { 114 111 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 112 gobjectClass->constructor = webkit_dom_test_exception_constructor; 115 113 gobjectClass->finalize = webkit_dom_test_exception_finalize; 114 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestExceptionPrivate)); 116 115 gobjectClass->get_property = webkit_dom_test_exception_get_property; 117 116 … … 125 124 } 126 125 127 static void webkit_dom_test_exception_init(WebKitDOMTestException* request)126 static void webkit_dom_test_exception_init(WebKitDOMTestException* self) 128 127 { 128 WebKitDOMTestExceptionPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_EXCEPTION, WebKitDOMTestExceptionPrivate); 129 self->priv = priv; 130 new (priv) WebKitDOMTestExceptionPrivate(); 129 131 } 130 132 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestException.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_EXCEPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_EXCEPTION, WebKitDOMTestExceptionClass)) 37 37 38 typedef struct _WebKitDOMTestExceptionPrivate WebKitDOMTestExceptionPrivate; 39 38 40 struct _WebKitDOMTestException { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestExceptionPrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp
r136491 r136498 35 35 #include <wtf/RefPtr.h> 36 36 37 struct _WebKitDOMTestInterfacePrivate { 38 #if ENABLE(Condition1) || ENABLE(Condition2) 39 RefPtr<WebCore::TestInterface> coreObject; 40 #endif // ENABLE(Condition1) || ENABLE(Condition2) 41 }; 42 37 43 #if ENABLE(Condition1) || ENABLE(Condition2) 38 44 … … 52 58 { 53 59 g_return_val_if_fail(request, 0); 54 55 WebCore::TestInterface* coreObject = static_cast<WebCore::TestInterface*>(WEBKIT_DOM_OBJECT(request)->coreObject); 60 return request->priv->coreObject.get(); 61 } 62 63 WebKitDOMTestInterface* wrapTestInterface(WebCore::TestInterface* coreObject) 64 { 56 65 g_return_val_if_fail(coreObject, 0); 57 58 return coreObject;59 }60 61 WebKitDOMTestInterface* wrapTestInterface(WebCore::TestInterface* coreObject)62 {63 g_return_val_if_fail(coreObject, 0);64 65 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object66 // in a C-allocated GObject structure. See the finalize() code for the matching deref().67 coreObject->ref();68 69 66 return WEBKIT_DOM_TEST_INTERFACE(g_object_new(WEBKIT_TYPE_DOM_TEST_INTERFACE, "core-object", coreObject, NULL)); 70 67 } … … 85 82 static void webkit_dom_test_interface_finalize(GObject* object) 86 83 { 87 #if ENABLE(Condition1) || ENABLE(Condition2) 88 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 89 90 if (domObject->coreObject) { 91 WebCore::TestInterface* coreObject = static_cast<WebCore::TestInterface*>(domObject->coreObject); 92 93 WebKit::DOMObjectCache::forget(coreObject); 94 coreObject->deref(); 95 96 domObject->coreObject = 0; 97 } 98 #endif // ENABLE(Condition1) || ENABLE(Condition2) 99 84 WebKitDOMTestInterfacePrivate* priv = WEBKIT_DOM_TEST_INTERFACE(object)->priv; 85 #if ENABLE(Condition1) || ENABLE(Condition2) 86 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 87 #endif // ENABLE(Condition1) || ENABLE(Condition2) 88 priv->~WebKitDOMTestInterfacePrivate(); 100 89 G_OBJECT_CLASS(webkit_dom_test_interface_parent_class)->finalize(object); 101 90 } … … 186 175 } 187 176 177 static GObject* webkit_dom_test_interface_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 178 { 179 GObject* object = G_OBJECT_CLASS(webkit_dom_test_interface_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 180 #if ENABLE(Condition1) || ENABLE(Condition2) 181 WebKitDOMTestInterfacePrivate* priv = WEBKIT_DOM_TEST_INTERFACE(object)->priv; 182 priv->coreObject = static_cast<WebCore::TestInterface*>(WEBKIT_DOM_OBJECT(object)->coreObject); 183 #endif // ENABLE(Condition1) || ENABLE(Condition2) 184 return object; 185 } 186 188 187 static void webkit_dom_test_interface_class_init(WebKitDOMTestInterfaceClass* requestClass) 189 188 { 190 189 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 190 gobjectClass->constructor = webkit_dom_test_interface_constructor; 191 191 gobjectClass->finalize = webkit_dom_test_interface_finalize; 192 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestInterfacePrivate)); 192 193 gobjectClass->set_property = webkit_dom_test_interface_set_property; 193 194 gobjectClass->get_property = webkit_dom_test_interface_get_property; … … 216 217 } 217 218 218 static void webkit_dom_test_interface_init(WebKitDOMTestInterface* request) 219 { 219 static void webkit_dom_test_interface_init(WebKitDOMTestInterface* self) 220 { 221 WebKitDOMTestInterfacePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_INTERFACE, WebKitDOMTestInterfacePrivate); 222 self->priv = priv; 223 new (priv) WebKitDOMTestInterfacePrivate(); 220 224 } 221 225 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_INTERFACE, WebKitDOMTestInterfaceClass)) 37 37 38 typedef struct _WebKitDOMTestInterfacePrivate WebKitDOMTestInterfacePrivate; 39 38 40 struct _WebKitDOMTestInterface { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestInterfacePrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp
r136491 r136498 32 32 #include <wtf/RefPtr.h> 33 33 34 struct _WebKitDOMTestMediaQueryListListenerPrivate { 35 RefPtr<WebCore::TestMediaQueryListListener> coreObject; 36 }; 37 34 38 namespace WebKit { 35 39 … … 47 51 { 48 52 g_return_val_if_fail(request, 0); 49 50 WebCore::TestMediaQueryListListener* coreObject = static_cast<WebCore::TestMediaQueryListListener*>(WEBKIT_DOM_OBJECT(request)->coreObject); 51 g_return_val_if_fail(coreObject, 0); 52 53 return coreObject; 53 return request->priv->coreObject.get(); 54 54 } 55 55 … … 57 57 { 58 58 g_return_val_if_fail(coreObject, 0); 59 60 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object61 // in a C-allocated GObject structure. See the finalize() code for the matching deref().62 coreObject->ref();63 64 59 return WEBKIT_DOM_TEST_MEDIA_QUERY_LIST_LISTENER(g_object_new(WEBKIT_TYPE_DOM_TEST_MEDIA_QUERY_LIST_LISTENER, "core-object", coreObject, NULL)); 65 60 } … … 71 66 static void webkit_dom_test_media_query_list_listener_finalize(GObject* object) 72 67 { 68 WebKitDOMTestMediaQueryListListenerPrivate* priv = WEBKIT_DOM_TEST_MEDIA_QUERY_LIST_LISTENER(object)->priv; 73 69 74 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 75 76 if (domObject->coreObject) { 77 WebCore::TestMediaQueryListListener* coreObject = static_cast<WebCore::TestMediaQueryListListener*>(domObject->coreObject); 70 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 78 71 79 WebKit::DOMObjectCache::forget(coreObject); 80 coreObject->deref(); 72 priv->~WebKitDOMTestMediaQueryListListenerPrivate(); 73 G_OBJECT_CLASS(webkit_dom_test_media_query_list_listener_parent_class)->finalize(object); 74 } 81 75 82 domObject->coreObject = 0; 83 } 76 static GObject* webkit_dom_test_media_query_list_listener_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 77 { 78 GObject* object = G_OBJECT_CLASS(webkit_dom_test_media_query_list_listener_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 84 79 80 WebKitDOMTestMediaQueryListListenerPrivate* priv = WEBKIT_DOM_TEST_MEDIA_QUERY_LIST_LISTENER(object)->priv; 81 priv->coreObject = static_cast<WebCore::TestMediaQueryListListener*>(WEBKIT_DOM_OBJECT(object)->coreObject); 85 82 86 G_OBJECT_CLASS(webkit_dom_test_media_query_list_listener_parent_class)->finalize(object);83 return object; 87 84 } 88 85 … … 90 87 { 91 88 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 89 gobjectClass->constructor = webkit_dom_test_media_query_list_listener_constructor; 92 90 gobjectClass->finalize = webkit_dom_test_media_query_list_listener_finalize; 91 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestMediaQueryListListenerPrivate)); 93 92 } 94 93 95 static void webkit_dom_test_media_query_list_listener_init(WebKitDOMTestMediaQueryListListener* request)94 static void webkit_dom_test_media_query_list_listener_init(WebKitDOMTestMediaQueryListListener* self) 96 95 { 96 WebKitDOMTestMediaQueryListListenerPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_MEDIA_QUERY_LIST_LISTENER, WebKitDOMTestMediaQueryListListenerPrivate); 97 self->priv = priv; 98 new (priv) WebKitDOMTestMediaQueryListListenerPrivate(); 97 99 } 98 100 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_MEDIA_QUERY_LIST_LISTENER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_MEDIA_QUERY_LIST_LISTENER, WebKitDOMTestMediaQueryListListenerClass)) 37 37 38 typedef struct _WebKitDOMTestMediaQueryListListenerPrivate WebKitDOMTestMediaQueryListListenerPrivate; 39 38 40 struct _WebKitDOMTestMediaQueryListListener { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestMediaQueryListListenerPrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp
r136491 r136498 32 32 #include <wtf/RefPtr.h> 33 33 34 struct _WebKitDOMTestNamedConstructorPrivate { 35 RefPtr<WebCore::TestNamedConstructor> coreObject; 36 }; 37 34 38 namespace WebKit { 35 39 … … 47 51 { 48 52 g_return_val_if_fail(request, 0); 49 50 WebCore::TestNamedConstructor* coreObject = static_cast<WebCore::TestNamedConstructor*>(WEBKIT_DOM_OBJECT(request)->coreObject); 51 g_return_val_if_fail(coreObject, 0); 52 53 return coreObject; 53 return request->priv->coreObject.get(); 54 54 } 55 55 … … 57 57 { 58 58 g_return_val_if_fail(coreObject, 0); 59 60 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object61 // in a C-allocated GObject structure. See the finalize() code for the matching deref().62 coreObject->ref();63 64 59 return WEBKIT_DOM_TEST_NAMED_CONSTRUCTOR(g_object_new(WEBKIT_TYPE_DOM_TEST_NAMED_CONSTRUCTOR, "core-object", coreObject, NULL)); 65 60 } … … 71 66 static void webkit_dom_test_named_constructor_finalize(GObject* object) 72 67 { 68 WebKitDOMTestNamedConstructorPrivate* priv = WEBKIT_DOM_TEST_NAMED_CONSTRUCTOR(object)->priv; 73 69 74 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 75 76 if (domObject->coreObject) { 77 WebCore::TestNamedConstructor* coreObject = static_cast<WebCore::TestNamedConstructor*>(domObject->coreObject); 70 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 78 71 79 WebKit::DOMObjectCache::forget(coreObject); 80 coreObject->deref(); 72 priv->~WebKitDOMTestNamedConstructorPrivate(); 73 G_OBJECT_CLASS(webkit_dom_test_named_constructor_parent_class)->finalize(object); 74 } 81 75 82 domObject->coreObject = 0; 83 } 76 static GObject* webkit_dom_test_named_constructor_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 77 { 78 GObject* object = G_OBJECT_CLASS(webkit_dom_test_named_constructor_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 84 79 80 WebKitDOMTestNamedConstructorPrivate* priv = WEBKIT_DOM_TEST_NAMED_CONSTRUCTOR(object)->priv; 81 priv->coreObject = static_cast<WebCore::TestNamedConstructor*>(WEBKIT_DOM_OBJECT(object)->coreObject); 85 82 86 G_OBJECT_CLASS(webkit_dom_test_named_constructor_parent_class)->finalize(object);83 return object; 87 84 } 88 85 … … 90 87 { 91 88 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 89 gobjectClass->constructor = webkit_dom_test_named_constructor_constructor; 92 90 gobjectClass->finalize = webkit_dom_test_named_constructor_finalize; 91 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestNamedConstructorPrivate)); 93 92 } 94 93 95 static void webkit_dom_test_named_constructor_init(WebKitDOMTestNamedConstructor* request)94 static void webkit_dom_test_named_constructor_init(WebKitDOMTestNamedConstructor* self) 96 95 { 96 WebKitDOMTestNamedConstructorPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_NAMED_CONSTRUCTOR, WebKitDOMTestNamedConstructorPrivate); 97 self->priv = priv; 98 new (priv) WebKitDOMTestNamedConstructorPrivate(); 97 99 } 98 100 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_NAMED_CONSTRUCTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_NAMED_CONSTRUCTOR, WebKitDOMTestNamedConstructorClass)) 37 37 38 typedef struct _WebKitDOMTestNamedConstructorPrivate WebKitDOMTestNamedConstructorPrivate; 39 38 40 struct _WebKitDOMTestNamedConstructor { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestNamedConstructorPrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestNode.cpp
r136491 r136498 35 35 #include <wtf/RefPtr.h> 36 36 37 struct _WebKitDOMTestNodePrivate { 38 RefPtr<WebCore::TestNode> coreObject; 39 }; 40 37 41 namespace WebKit { 38 42 … … 50 54 { 51 55 g_return_val_if_fail(request, 0); 52 53 WebCore::TestNode* coreObject = static_cast<WebCore::TestNode*>(WEBKIT_DOM_OBJECT(request)->coreObject); 54 g_return_val_if_fail(coreObject, 0); 55 56 return coreObject; 56 return request->priv->coreObject.get(); 57 57 } 58 58 … … 60 60 { 61 61 g_return_val_if_fail(coreObject, 0); 62 63 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object64 // in a C-allocated GObject structure. See the finalize() code for the matching deref().65 coreObject->ref();66 67 62 return WEBKIT_DOM_TEST_NODE(g_object_new(WEBKIT_TYPE_DOM_TEST_NODE, "core-object", coreObject, NULL)); 68 63 } … … 72 67 static void webkit_dom_test_node_dispatch_event(WebKitDOMEventTarget* target, WebKitDOMEvent* event, GError** error) 73 68 { 74 WebCore::Event* coreEvent = WebKit::core(event);75 WebCore::TestNode* coreTarget = static_cast<WebCore::TestNode*>(WEBKIT_DOM_OBJECT(target)->coreObject);76 77 69 WebCore::ExceptionCode ec = 0; 78 coreTarget->dispatchEvent(coreEvent, ec);70 WEBKIT_DOM_TEST_NODE(target)->priv->coreObject->dispatchEvent(WebKit::core(event), ec); 79 71 if (ec) { 80 72 WebCore::ExceptionCodeDescription description(ec); … … 85 77 static gboolean webkit_dom_test_node_add_event_listener(WebKitDOMEventTarget* target, const char* eventName, GCallback handler, gboolean bubble, gpointer userData) 86 78 { 87 WebCore::TestNode* coreTarget = static_cast<WebCore::TestNode*>(WEBKIT_DOM_OBJECT(target)->coreObject);79 WebCore::TestNode* coreTarget = WEBKIT_DOM_TEST_NODE(target)->priv->coreObject.get(); 88 80 return WebCore::GObjectEventListener::addEventListener(G_OBJECT(target), coreTarget, eventName, handler, bubble, userData); 89 81 } … … 91 83 static gboolean webkit_dom_test_node_remove_event_listener(WebKitDOMEventTarget* target, const char* eventName, GCallback handler, gboolean bubble) 92 84 { 93 WebCore::TestNode* coreTarget = static_cast<WebCore::TestNode*>(WEBKIT_DOM_OBJECT(target)->coreObject);85 WebCore::TestNode* coreTarget = WEBKIT_DOM_TEST_NODE(target)->priv->coreObject.get(); 94 86 return WebCore::GObjectEventListener::removeEventListener(G_OBJECT(target), coreTarget, eventName, handler, bubble); 95 87 } … … 106 98 static void webkit_dom_test_node_finalize(GObject* object) 107 99 { 100 WebKitDOMTestNodePrivate* priv = WEBKIT_DOM_TEST_NODE(object)->priv; 108 101 109 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 110 111 if (domObject->coreObject) { 112 WebCore::TestNode* coreObject = static_cast<WebCore::TestNode*>(domObject->coreObject); 102 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 113 103 114 WebKit::DOMObjectCache::forget(coreObject); 115 coreObject->deref(); 104 priv->~WebKitDOMTestNodePrivate(); 105 G_OBJECT_CLASS(webkit_dom_test_node_parent_class)->finalize(object); 106 } 116 107 117 domObject->coreObject = 0; 118 } 108 static GObject* webkit_dom_test_node_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 109 { 110 GObject* object = G_OBJECT_CLASS(webkit_dom_test_node_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 119 111 112 WebKitDOMTestNodePrivate* priv = WEBKIT_DOM_TEST_NODE(object)->priv; 113 priv->coreObject = static_cast<WebCore::TestNode*>(WEBKIT_DOM_OBJECT(object)->coreObject); 120 114 121 G_OBJECT_CLASS(webkit_dom_test_node_parent_class)->finalize(object);115 return object; 122 116 } 123 117 … … 125 119 { 126 120 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 121 gobjectClass->constructor = webkit_dom_test_node_constructor; 127 122 gobjectClass->finalize = webkit_dom_test_node_finalize; 123 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestNodePrivate)); 128 124 } 129 125 130 static void webkit_dom_test_node_init(WebKitDOMTestNode* request)126 static void webkit_dom_test_node_init(WebKitDOMTestNode* self) 131 127 { 128 WebKitDOMTestNodePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_NODE, WebKitDOMTestNodePrivate); 129 self->priv = priv; 130 new (priv) WebKitDOMTestNodePrivate(); 132 131 } 133 132 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestNode.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_NODE, WebKitDOMTestNodeClass)) 37 37 38 typedef struct _WebKitDOMTestNodePrivate WebKitDOMTestNodePrivate; 39 38 40 struct _WebKitDOMTestNode { 39 41 WebKitDOMNode parent_instance; 42 43 WebKitDOMTestNodePrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp
r136491 r136498 45 45 #include <wtf/RefPtr.h> 46 46 47 struct _WebKitDOMTestObjPrivate { 48 RefPtr<WebCore::TestObj> coreObject; 49 }; 50 47 51 namespace WebKit { 48 52 … … 60 64 { 61 65 g_return_val_if_fail(request, 0); 62 63 WebCore::TestObj* coreObject = static_cast<WebCore::TestObj*>(WEBKIT_DOM_OBJECT(request)->coreObject); 66 return request->priv->coreObject.get(); 67 } 68 69 WebKitDOMTestObj* wrapTestObj(WebCore::TestObj* coreObject) 70 { 64 71 g_return_val_if_fail(coreObject, 0); 65 66 return coreObject;67 }68 69 WebKitDOMTestObj* wrapTestObj(WebCore::TestObj* coreObject)70 {71 g_return_val_if_fail(coreObject, 0);72 73 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object74 // in a C-allocated GObject structure. See the finalize() code for the matching deref().75 coreObject->ref();76 77 72 return WEBKIT_DOM_TEST_OBJ(g_object_new(WEBKIT_TYPE_DOM_TEST_OBJ, "core-object", coreObject, NULL)); 78 73 } … … 134 129 static void webkit_dom_test_obj_finalize(GObject* object) 135 130 { 136 137 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 138 139 if (domObject->coreObject) { 140 WebCore::TestObj* coreObject = static_cast<WebCore::TestObj*>(domObject->coreObject); 141 142 WebKit::DOMObjectCache::forget(coreObject); 143 coreObject->deref(); 144 145 domObject->coreObject = 0; 146 } 147 148 131 WebKitDOMTestObjPrivate* priv = WEBKIT_DOM_TEST_OBJ(object)->priv; 132 133 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 134 135 priv->~WebKitDOMTestObjPrivate(); 149 136 G_OBJECT_CLASS(webkit_dom_test_obj_parent_class)->finalize(object); 150 137 } … … 519 506 } 520 507 508 static GObject* webkit_dom_test_obj_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 509 { 510 GObject* object = G_OBJECT_CLASS(webkit_dom_test_obj_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 511 512 WebKitDOMTestObjPrivate* priv = WEBKIT_DOM_TEST_OBJ(object)->priv; 513 priv->coreObject = static_cast<WebCore::TestObj*>(WEBKIT_DOM_OBJECT(object)->coreObject); 514 515 return object; 516 } 517 521 518 static void webkit_dom_test_obj_class_init(WebKitDOMTestObjClass* requestClass) 522 519 { 523 520 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 521 gobjectClass->constructor = webkit_dom_test_obj_constructor; 524 522 gobjectClass->finalize = webkit_dom_test_obj_finalize; 523 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestObjPrivate)); 525 524 gobjectClass->set_property = webkit_dom_test_obj_set_property; 526 525 gobjectClass->get_property = webkit_dom_test_obj_get_property; … … 890 889 } 891 890 892 static void webkit_dom_test_obj_init(WebKitDOMTestObj* request) 893 { 891 static void webkit_dom_test_obj_init(WebKitDOMTestObj* self) 892 { 893 WebKitDOMTestObjPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_OBJ, WebKitDOMTestObjPrivate); 894 self->priv = priv; 895 new (priv) WebKitDOMTestObjPrivate(); 894 896 } 895 897 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_OBJ_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_OBJ, WebKitDOMTestObjClass)) 37 37 38 typedef struct _WebKitDOMTestObjPrivate WebKitDOMTestObjPrivate; 39 38 40 struct _WebKitDOMTestObj { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestObjPrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp
r136491 r136498 32 32 #include <wtf/RefPtr.h> 33 33 34 struct _WebKitDOMTestOverloadedConstructorsPrivate { 35 RefPtr<WebCore::TestOverloadedConstructors> coreObject; 36 }; 37 34 38 namespace WebKit { 35 39 … … 47 51 { 48 52 g_return_val_if_fail(request, 0); 49 50 WebCore::TestOverloadedConstructors* coreObject = static_cast<WebCore::TestOverloadedConstructors*>(WEBKIT_DOM_OBJECT(request)->coreObject); 51 g_return_val_if_fail(coreObject, 0); 52 53 return coreObject; 53 return request->priv->coreObject.get(); 54 54 } 55 55 … … 57 57 { 58 58 g_return_val_if_fail(coreObject, 0); 59 60 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object61 // in a C-allocated GObject structure. See the finalize() code for the matching deref().62 coreObject->ref();63 64 59 return WEBKIT_DOM_TEST_OVERLOADED_CONSTRUCTORS(g_object_new(WEBKIT_TYPE_DOM_TEST_OVERLOADED_CONSTRUCTORS, "core-object", coreObject, NULL)); 65 60 } … … 71 66 static void webkit_dom_test_overloaded_constructors_finalize(GObject* object) 72 67 { 68 WebKitDOMTestOverloadedConstructorsPrivate* priv = WEBKIT_DOM_TEST_OVERLOADED_CONSTRUCTORS(object)->priv; 73 69 74 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 75 76 if (domObject->coreObject) { 77 WebCore::TestOverloadedConstructors* coreObject = static_cast<WebCore::TestOverloadedConstructors*>(domObject->coreObject); 70 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 78 71 79 WebKit::DOMObjectCache::forget(coreObject); 80 coreObject->deref(); 72 priv->~WebKitDOMTestOverloadedConstructorsPrivate(); 73 G_OBJECT_CLASS(webkit_dom_test_overloaded_constructors_parent_class)->finalize(object); 74 } 81 75 82 domObject->coreObject = 0; 83 } 76 static GObject* webkit_dom_test_overloaded_constructors_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 77 { 78 GObject* object = G_OBJECT_CLASS(webkit_dom_test_overloaded_constructors_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 84 79 80 WebKitDOMTestOverloadedConstructorsPrivate* priv = WEBKIT_DOM_TEST_OVERLOADED_CONSTRUCTORS(object)->priv; 81 priv->coreObject = static_cast<WebCore::TestOverloadedConstructors*>(WEBKIT_DOM_OBJECT(object)->coreObject); 85 82 86 G_OBJECT_CLASS(webkit_dom_test_overloaded_constructors_parent_class)->finalize(object);83 return object; 87 84 } 88 85 … … 90 87 { 91 88 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 89 gobjectClass->constructor = webkit_dom_test_overloaded_constructors_constructor; 92 90 gobjectClass->finalize = webkit_dom_test_overloaded_constructors_finalize; 91 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestOverloadedConstructorsPrivate)); 93 92 } 94 93 95 static void webkit_dom_test_overloaded_constructors_init(WebKitDOMTestOverloadedConstructors* request)94 static void webkit_dom_test_overloaded_constructors_init(WebKitDOMTestOverloadedConstructors* self) 96 95 { 96 WebKitDOMTestOverloadedConstructorsPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_OVERLOADED_CONSTRUCTORS, WebKitDOMTestOverloadedConstructorsPrivate); 97 self->priv = priv; 98 new (priv) WebKitDOMTestOverloadedConstructorsPrivate(); 97 99 } 98 100 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h
r134221 r136498 36 36 #define WEBKIT_DOM_TEST_OVERLOADED_CONSTRUCTORS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_OVERLOADED_CONSTRUCTORS, WebKitDOMTestOverloadedConstructorsClass)) 37 37 38 typedef struct _WebKitDOMTestOverloadedConstructorsPrivate WebKitDOMTestOverloadedConstructorsPrivate; 39 38 40 struct _WebKitDOMTestOverloadedConstructors { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestOverloadedConstructorsPrivate *priv; 40 44 }; 41 45 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp
r136491 r136498 35 35 #include <wtf/RefPtr.h> 36 36 37 struct _WebKitDOMTestSerializedScriptValueInterfacePrivate { 38 #if ENABLE(Condition1) || ENABLE(Condition2) 39 RefPtr<WebCore::TestSerializedScriptValueInterface> coreObject; 40 #endif // ENABLE(Condition1) || ENABLE(Condition2) 41 }; 42 37 43 #if ENABLE(Condition1) || ENABLE(Condition2) 38 44 … … 52 58 { 53 59 g_return_val_if_fail(request, 0); 54 55 WebCore::TestSerializedScriptValueInterface* coreObject = static_cast<WebCore::TestSerializedScriptValueInterface*>(WEBKIT_DOM_OBJECT(request)->coreObject); 60 return request->priv->coreObject.get(); 61 } 62 63 WebKitDOMTestSerializedScriptValueInterface* wrapTestSerializedScriptValueInterface(WebCore::TestSerializedScriptValueInterface* coreObject) 64 { 56 65 g_return_val_if_fail(coreObject, 0); 57 58 return coreObject;59 }60 61 WebKitDOMTestSerializedScriptValueInterface* wrapTestSerializedScriptValueInterface(WebCore::TestSerializedScriptValueInterface* coreObject)62 {63 g_return_val_if_fail(coreObject, 0);64 65 // We call ref() rather than using a C++ smart pointer because we can't store a C++ object66 // in a C-allocated GObject structure. See the finalize() code for the matching deref().67 coreObject->ref();68 69 66 return WEBKIT_DOM_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE(g_object_new(WEBKIT_TYPE_DOM_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE, "core-object", coreObject, NULL)); 70 67 } … … 87 84 static void webkit_dom_test_serialized_script_value_interface_finalize(GObject* object) 88 85 { 89 #if ENABLE(Condition1) || ENABLE(Condition2) 90 WebKitDOMObject* domObject = WEBKIT_DOM_OBJECT(object); 91 92 if (domObject->coreObject) { 93 WebCore::TestSerializedScriptValueInterface* coreObject = static_cast<WebCore::TestSerializedScriptValueInterface*>(domObject->coreObject); 94 95 WebKit::DOMObjectCache::forget(coreObject); 96 coreObject->deref(); 97 98 domObject->coreObject = 0; 99 } 86 WebKitDOMTestSerializedScriptValueInterfacePrivate* priv = WEBKIT_DOM_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE(object)->priv; 87 #if ENABLE(Condition1) || ENABLE(Condition2) 88 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 100 89 #endif // ENABLE(Condition1) || ENABLE(Condition2) 101 90 priv->~WebKitDOMTestSerializedScriptValueInterfacePrivate(); 102 91 G_OBJECT_CLASS(webkit_dom_test_serialized_script_value_interface_parent_class)->finalize(object); 103 92 } … … 167 156 } 168 157 158 static GObject* webkit_dom_test_serialized_script_value_interface_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 159 { 160 GObject* object = G_OBJECT_CLASS(webkit_dom_test_serialized_script_value_interface_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 161 #if ENABLE(Condition1) || ENABLE(Condition2) 162 WebKitDOMTestSerializedScriptValueInterfacePrivate* priv = WEBKIT_DOM_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE(object)->priv; 163 priv->coreObject = static_cast<WebCore::TestSerializedScriptValueInterface*>(WEBKIT_DOM_OBJECT(object)->coreObject); 164 #endif // ENABLE(Condition1) || ENABLE(Condition2) 165 return object; 166 } 167 169 168 static void webkit_dom_test_serialized_script_value_interface_class_init(WebKitDOMTestSerializedScriptValueInterfaceClass* requestClass) 170 169 { 171 170 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 171 gobjectClass->constructor = webkit_dom_test_serialized_script_value_interface_constructor; 172 172 gobjectClass->finalize = webkit_dom_test_serialized_script_value_interface_finalize; 173 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestSerializedScriptValueInterfacePrivate)); 173 174 gobjectClass->get_property = webkit_dom_test_serialized_script_value_interface_get_property; 174 175 … … 210 211 } 211 212 212 static void webkit_dom_test_serialized_script_value_interface_init(WebKitDOMTestSerializedScriptValueInterface* request) 213 { 213 static void webkit_dom_test_serialized_script_value_interface_init(WebKitDOMTestSerializedScriptValueInterface* self) 214 { 215 WebKitDOMTestSerializedScriptValueInterfacePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, WEBKIT_TYPE_DOM_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE, WebKitDOMTestSerializedScriptValueInterfacePrivate); 216 self->priv = priv; 217 new (priv) WebKitDOMTestSerializedScriptValueInterfacePrivate(); 214 218 } 215 219 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h
r133893 r136498 36 36 #define WEBKIT_DOM_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOM_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE, WebKitDOMTestSerializedScriptValueInterfaceClass)) 37 37 38 typedef struct _WebKitDOMTestSerializedScriptValueInterfacePrivate WebKitDOMTestSerializedScriptValueInterfacePrivate; 39 38 40 struct _WebKitDOMTestSerializedScriptValueInterface { 39 41 WebKitDOMObject parent_instance; 42 43 WebKitDOMTestSerializedScriptValueInterfacePrivate *priv; 40 44 }; 41 45
Note: See TracChangeset
for help on using the changeset viewer.