Changeset 138793 in webkit
- Timestamp:
- Jan 4, 2013, 6:13:26 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r138786 r138793 1 2013-01-04 Zan Dobersek <zandobersek@gmail.com> 2 3 [GObject bindings] Wrap event target interface code in feature define guards if necessary 4 https://bugs.webkit.org/show_bug.cgi?id=105743 5 6 Reviewed by Xan Lopez. 7 8 Wrap the event target interface implementation code in feature define guards if the interface 9 is guarded by a conditional. A warning is reported if these methods get called with the specific 10 feature being disabled. 11 12 This was spotted when building with the video track feature disabled was causing build failures. 13 14 No new tests - no new functionality. The bindings tests don't test event targets under conditionals. 15 16 * bindings/scripts/CodeGeneratorGObject.pm: 17 (GenerateEventTargetIface): 18 1 19 2012-12-18 Philippe Normand <pnormand@igalia.com> 2 20 -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm
r137329 r138793 1295 1295 my $interfaceName = $interface->name; 1296 1296 my $decamelize = FixUpDecamelizedName(decamelize($interfaceName)); 1297 my $conditionalString = $codeGenerator->GenerateConditionalString($interface); 1298 my @conditionalWarn = GenerateConditionalWarning($interface); 1297 1299 1298 1300 $implIncludes{"GObjectEventListener.h"} = 1; … … 1300 1302 $implIncludes{"WebKitDOMEventPrivate.h"} = 1; 1301 1303 1302 my $impl = << "EOF"; 1303 static void webkit_dom_${decamelize}_dispatch_event(WebKitDOMEventTarget* target, WebKitDOMEvent* event, GError** error) 1304 { 1305 WebCore::Event* coreEvent = WebKit::core(event); 1306 WebCore::${interfaceName}* coreTarget = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(target)->coreObject); 1307 1308 WebCore::ExceptionCode ec = 0; 1309 coreTarget->dispatchEvent(coreEvent, ec); 1310 if (ec) { 1311 WebCore::ExceptionCodeDescription description(ec); 1312 g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), description.code, description.name); 1313 } 1314 } 1315 1316 static gboolean webkit_dom_${decamelize}_add_event_listener(WebKitDOMEventTarget* target, const char* eventName, GCallback handler, gboolean bubble, gpointer userData) 1317 { 1318 WebCore::${interfaceName}* coreTarget = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(target)->coreObject); 1319 return WebCore::GObjectEventListener::addEventListener(G_OBJECT(target), coreTarget, eventName, handler, bubble, userData); 1320 } 1321 1322 static gboolean webkit_dom_${decamelize}_remove_event_listener(WebKitDOMEventTarget* target, const char* eventName, GCallback handler, gboolean bubble) 1323 { 1324 WebCore::${interfaceName}* coreTarget = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(target)->coreObject); 1325 return WebCore::GObjectEventListener::removeEventListener(G_OBJECT(target), coreTarget, eventName, handler, bubble); 1326 } 1327 1328 static void webkit_dom_event_target_init(WebKitDOMEventTargetIface* iface) 1329 { 1330 iface->dispatch_event = webkit_dom_${decamelize}_dispatch_event; 1331 iface->add_event_listener = webkit_dom_${decamelize}_add_event_listener; 1332 iface->remove_event_listener = webkit_dom_${decamelize}_remove_event_listener; 1333 } 1334 1335 EOF 1336 1337 push(@cBodyProperties, $impl); 1304 push(@cBodyProperties, "static void webkit_dom_${decamelize}_dispatch_event(WebKitDOMEventTarget* target, WebKitDOMEvent* event, GError** error)\n{\n"); 1305 push(@cBodyProperties, "#if ${conditionalString}\n") if $conditionalString; 1306 push(@cBodyProperties, " WebCore::Event* coreEvent = WebKit::core(event);\n"); 1307 push(@cBodyProperties, " WebCore::${interfaceName}* coreTarget = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(target)->coreObject);\n\n"); 1308 push(@cBodyProperties, " WebCore::ExceptionCode ec = 0;\n"); 1309 push(@cBodyProperties, " coreTarget->dispatchEvent(coreEvent, ec);\n"); 1310 push(@cBodyProperties, " if (ec) {\n WebCore::ExceptionCodeDescription description(ec);\n"); 1311 push(@cBodyProperties, " g_set_error_literal(error, g_quark_from_string(\"WEBKIT_DOM\"), description.code, description.name);\n }\n"); 1312 push(@cBodyProperties, "#else\n") if $conditionalString; 1313 push(@cBodyProperties, @conditionalWarn) if scalar(@conditionalWarn); 1314 push(@cBodyProperties, "#endif // ${conditionalString}\n") if $conditionalString; 1315 push(@cBodyProperties, "}\n\n"); 1316 1317 push(@cBodyProperties, "static gboolean webkit_dom_${decamelize}_add_event_listener(WebKitDOMEventTarget* target, const char* eventName, GCallback handler, gboolean bubble, gpointer userData)\n{\n"); 1318 push(@cBodyProperties, "#if ${conditionalString}\n") if $conditionalString; 1319 push(@cBodyProperties, " WebCore::${interfaceName}* coreTarget = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(target)->coreObject);\n"); 1320 push(@cBodyProperties, " return WebCore::GObjectEventListener::addEventListener(G_OBJECT(target), coreTarget, eventName, handler, bubble, userData);\n"); 1321 push(@cBodyProperties, "#else\n") if $conditionalString; 1322 push(@cBodyProperties, @conditionalWarn) if scalar(@conditionalWarn); 1323 push(@cBodyProperties, " return false;\n#endif // ${conditionalString}\n") if $conditionalString; 1324 push(@cBodyProperties, "}\n\n"); 1325 1326 push(@cBodyProperties, "static gboolean webkit_dom_${decamelize}_remove_event_listener(WebKitDOMEventTarget* target, const char* eventName, GCallback handler, gboolean bubble)\n{\n"); 1327 push(@cBodyProperties, "#if ${conditionalString}\n") if $conditionalString; 1328 push(@cBodyProperties, " WebCore::${interfaceName}* coreTarget = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(target)->coreObject);\n"); 1329 push(@cBodyProperties, " return WebCore::GObjectEventListener::removeEventListener(G_OBJECT(target), coreTarget, eventName, handler, bubble);\n"); 1330 push(@cBodyProperties, "#else\n") if $conditionalString; 1331 push(@cBodyProperties, @conditionalWarn) if scalar(@conditionalWarn); 1332 push(@cBodyProperties, " return false;\n#endif // ${conditionalString}\n") if $conditionalString; 1333 push(@cBodyProperties, "}\n\n"); 1334 1335 push(@cBodyProperties, "static void webkit_dom_event_target_init(WebKitDOMEventTargetIface* iface)\n{\n"); 1336 push(@cBodyProperties, " iface->dispatch_event = webkit_dom_${decamelize}_dispatch_event;\n"); 1337 push(@cBodyProperties, " iface->add_event_listener = webkit_dom_${decamelize}_add_event_listener;\n"); 1338 push(@cBodyProperties, " iface->remove_event_listener = webkit_dom_${decamelize}_remove_event_listener;\n}\n\n"); 1338 1339 1339 1340 $defineTypeMacro = "G_DEFINE_TYPE_WITH_CODE";
Note:
See TracChangeset
for help on using the changeset viewer.