Changeset 138793 in webkit


Ignore:
Timestamp:
Jan 4, 2013 6:13:26 AM (11 years ago)
Author:
zandobersek@gmail.com
Message:

[GObject bindings] Wrap event target interface code in feature define guards if necessary
https://bugs.webkit.org/show_bug.cgi?id=105743

Reviewed by Xan Lopez.

Wrap the event target interface implementation code in feature define guards if the interface
is guarded by a conditional. A warning is reported if these methods get called with the specific
feature being disabled.

This was spotted when building with the video track feature disabled was causing build failures.

No new tests - no new functionality. The bindings tests don't test event targets under conditionals.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateEventTargetIface):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r138786 r138793  
     12013-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
    1192012-12-18  Philippe Normand  <pnormand@igalia.com>
    220
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm

    r137329 r138793  
    12951295    my $interfaceName = $interface->name;
    12961296    my $decamelize = FixUpDecamelizedName(decamelize($interfaceName));
     1297    my $conditionalString = $codeGenerator->GenerateConditionalString($interface);
     1298    my @conditionalWarn = GenerateConditionalWarning($interface);
    12971299
    12981300    $implIncludes{"GObjectEventListener.h"} = 1;
     
    13001302    $implIncludes{"WebKitDOMEventPrivate.h"} = 1;
    13011303
    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");
    13381339
    13391340    $defineTypeMacro = "G_DEFINE_TYPE_WITH_CODE";
Note: See TracChangeset for help on using the changeset viewer.