[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

mjs at apple.com mjs at apple.com
Thu Apr 8 01:11:41 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit c60cf6c3af3a4f3c99ab6f4fcfb3fd452ba0e102
Author: mjs at apple.com <mjs at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jan 18 02:47:00 2010 +0000

    2010-01-17  Maciej Stachowiak  <mjs at apple.com>
    
            Reviewed by Dan Bernstein.
    
            Avoid slow access to AX objects on attribute access when AX is off
            https://bugs.webkit.org/show_bug.cgi?id=33779
    
            ~4% Dromaeo attributes test speedup
    
            * dom/Element.cpp:
            (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of
            AX object cache unless accessibility is on and an AX-related attribute is
            changed.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53384 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 7bdf1dd..fad5743 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-01-17  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        Avoid slow access to AX objects on attribute access when AX is off
+        https://bugs.webkit.org/show_bug.cgi?id=33779
+
+        ~4% Dromaeo attributes test speedup
+
+        * dom/Element.cpp:
+        (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of
+        AX object cache unless accessibility is on and an AX-related attribute is
+        changed.
+
 2010-01-17  Kevin Watters  <kevinwatters at gmail.com>
 
         Reviewed by Kevin Ollivier.
diff --git a/WebCore/dom/Element.cpp b/WebCore/dom/Element.cpp
index a7e017f..ddc0e09 100644
--- a/WebCore/dom/Element.cpp
+++ b/WebCore/dom/Element.cpp
@@ -593,23 +593,22 @@ void Element::attributeChanged(Attribute* attr, bool)
 
 void Element::updateAfterAttributeChanged(Attribute* attr)
 {
-    AXObjectCache* axObjectCache = document()->axObjectCache();
-    if (!axObjectCache->accessibilityEnabled())
+    if (!AXObjectCache::accessibilityEnabled())
         return;
 
     const QualifiedName& attrName = attr->name();
     if (attrName == aria_activedescendantAttr) {
         // any change to aria-activedescendant attribute triggers accessibility focus change, but document focus remains intact
-        axObjectCache->handleActiveDescendantChanged(renderer());
+        document()->axObjectCache()->handleActiveDescendantChanged(renderer());
     } else if (attrName == roleAttr) {
         // the role attribute can change at any time, and the AccessibilityObject must pick up these changes
-        axObjectCache->handleAriaRoleChanged(renderer());
+        document()->axObjectCache()->handleAriaRoleChanged(renderer());
     } else if (attrName == aria_valuenowAttr) {
         // If the valuenow attribute changes, AX clients need to be notified.
-        axObjectCache->postNotification(renderer(), AXObjectCache::AXValueChanged, true);
+        document()->axObjectCache()->postNotification(renderer(), AXObjectCache::AXValueChanged, true);
     } else if (attrName == aria_labelAttr || attrName == aria_labeledbyAttr || attrName == altAttr || attrName == titleAttr) {
         // If the content of an element changes due to an attribute change, notify accessibility.
-        axObjectCache->contentChanged(renderer());
+        document()->axObjectCache()->contentChanged(renderer());
     }
 }
     

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list