Changeset 105496 in webkit


Ignore:
Timestamp:
Jan 20, 2012 1:57:24 AM (12 years ago)
Author:
mario@webkit.org
Message:

[GTK] GTK's DRT not to log events for already defunct objects
https://bugs.webkit.org/show_bug.cgi?id=76620

Reviewed by Martin Robinson.

Do not log 'state-change:defunct' events.

  • DumpRenderTree/gtk/AccessibilityCallbacks.cpp:

(printAccessibilityEvent): Early return if a
'state-change:defunct' signal is passed.
(axObjectEventListener): Pass the signal name and value in
separate parameters to printAccessibilityEvent.

Location:
trunk/Tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r105474 r105496  
     12012-01-20  Mario Sanchez Prada  <msanchez@igalia.com>
     2
     3        [GTK] GTK's DRT not to log events for already defunct objects
     4        https://bugs.webkit.org/show_bug.cgi?id=76620
     5
     6        Reviewed by Martin Robinson.
     7
     8        Do not log 'state-change:defunct' events.
     9
     10        * DumpRenderTree/gtk/AccessibilityCallbacks.cpp:
     11        (printAccessibilityEvent): Early return if a
     12        'state-change:defunct' signal is passed.
     13        (axObjectEventListener): Pass the signal name and value in
     14        separate parameters to printAccessibilityEvent.
     15
    1162012-01-19  Gustavo Noronha Silva  <gns@gnome.org>
    217
  • trunk/Tools/DumpRenderTree/gtk/AccessibilityCallbacks.cpp

    r101951 r105496  
    4444static guint visibleDataChangedListenerId = 0;
    4545
    46 static void printAccessibilityEvent(AtkObject* accessible, const gchar* signalName)
     46static void printAccessibilityEvent(AtkObject* accessible, const gchar* signalName, const gchar* signalValue)
    4747{
    48     // Sanity check.
    49     if (!accessible || !ATK_IS_OBJECT(accessible) || !signalName)
     48    // Do not handle state-change:defunct signals, as the AtkObject
     49    // associated to them will not be valid at this point already.
     50    if (!signalName || !g_strcmp0(signalName, "state-change:defunct"))
     51        return;
     52
     53    if (!accessible || !ATK_IS_OBJECT(accessible))
    5054        return;
    5155
    5256    const gchar* objectName = atk_object_get_name(accessible);
    53     guint objectRole = atk_object_get_role(accessible);
     57    AtkRole objectRole = atk_object_get_role(accessible);
    5458
    5559    // Try to always provide a name to be logged for the object.
     
    5761        objectName = "(No name)";
    5862
     63    GOwnPtr<gchar> signalNameAndValue(signalValue ? g_strdup_printf("%s = %s", signalName, signalValue) : g_strdup(signalName));
    5964    printf("Accessibility object emitted \"%s\" / Name: \"%s\" / Role: %d\n",
    60            signalName, objectName, objectRole);
     65           signalNameAndValue.get(), objectName, objectRole);
    6166}
    6267
     
    7681    GSignalQuery signal_query;
    7782    GOwnPtr<gchar> signalName;
     83    GOwnPtr<gchar> signalValue;
    7884
    7985    g_signal_query(signalHint->signal_id, &signal_query);
    8086
    8187    if (!g_strcmp0(signal_query.signal_name, "state-change")) {
    82         signalName.set(g_strdup_printf("state-change:%s = %d",
    83                                        g_value_get_string(&paramValues[1]),
    84                                        g_value_get_boolean(&paramValues[2])));
     88        signalName.set(g_strdup_printf("state-change:%s", g_value_get_string(&paramValues[1])));
     89        signalValue.set(g_strdup_printf("%d", g_value_get_boolean(&paramValues[2])));
    8590    } else if (!g_strcmp0(signal_query.signal_name, "focus-event")) {
    86         signalName.set(g_strdup_printf("focus-event = %d",
    87                                       g_value_get_boolean(&paramValues[1])));
     91        signalName.set(g_strdup("focus-event"));
     92        signalValue.set(g_strdup_printf("%d", g_value_get_boolean(&paramValues[1])));
    8893    } else if (!g_strcmp0(signal_query.signal_name, "children-changed")) {
    89         signalName.set(g_strdup_printf("children-changed = %d",
    90                                       g_value_get_uint(&paramValues[1])));
     94        signalName.set(g_strdup("children-changed"));
     95        signalValue.set(g_strdup_printf("%d", g_value_get_uint(&paramValues[1])));
    9196    } else if (!g_strcmp0(signal_query.signal_name, "property-change")) {
    92         signalName.set(g_strdup_printf("property-change:%s",
    93                                        g_quark_to_string(signalHint->detail)));
     97        signalName.set(g_strdup_printf("property-change:%s", g_quark_to_string(signalHint->detail)));
    9498    } else
    9599        signalName.set(g_strdup(signal_query.signal_name));
    96100
    97     printAccessibilityEvent(accessible, signalName.get());
     101    printAccessibilityEvent(accessible, signalName.get(), signalValue.get());
    98102
    99103    return TRUE;
Note: See TracChangeset for help on using the changeset viewer.