<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>126970</bug_id>
          
          <creation_ts>2014-01-14 01:57:04 -0800</creation_ts>
          <short_desc>[ATK] AXChildrenChanged notification handling is a performance black hole</short_desc>
          <delta_ts>2014-01-14 07:41:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>967725</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-01-14 01:57:04 -0800</bug_when>
    <thetext>in AXObjectCache::postPlatformNotification, handling the AXChildrenChanged is causing great performace reduction when loading the single-page HTML Living Standard document.
http://trac.webkit.org/browser/trunk/Source/WebCore/accessibility/atk/AXObjectCacheAtk.cpp#L196
http://www.whatwg.org/specs/web-apps/current-work/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967726</commentid>
    <comment_count>1</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-01-14 01:58:53 -0800</bug_when>
    <thetext>Commenting out that code block reduces the time of load from 60 seconds down to 15 seconds.

The ref-deref cycle is fired more than a million times during the load, and AccessibilityObject::updateBackingStore() is called twice per cycle, causing additional work that hinders the performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967727</commentid>
    <comment_count>2</comment_count>
      <attachid>221130</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-01-14 02:03:58 -0800</bug_when>
    <thetext>Created attachment 221130
Patch proposal

This should be enough to fix this issue. Sorry for the issue in the first place (and thanks Zan for reporting it)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967778</commentid>
    <comment_count>3</comment_count>
      <attachid>221130</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2014-01-14 05:40:21 -0800</bug_when>
    <thetext>Comment on attachment 221130
Patch proposal

View in context: https://bugs.webkit.org/attachment.cgi?id=221130&amp;action=review

&gt; LayoutTests/accessibility/children-changed-sends-notification-expected.txt:12
&gt; -PARAGRAPH notification: AXChildrenAdded
&gt; -GLOBAL notification: AXChildrenAdded on element with role AXRole: AXParagraph
&gt;  PARAGRAPH notification: AXChildrenRemoved
&gt;  GLOBAL notification: AXChildrenRemoved on element with role AXRole: AXParagraph
&gt; +PARAGRAPH notification: AXChildrenAdded
&gt; +GLOBAL notification: AXChildrenAdded on element with role AXRole: AXParagraph

Does this not affect Mac? Is this test specific for ATK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967816</commentid>
    <comment_count>4</comment_count>
      <attachid>221130</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-01-14 07:12:11 -0800</bug_when>
    <thetext>Comment on attachment 221130
Patch proposal

(In reply to comment #3)
&gt; (From update of attachment 221130 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=221130&amp;action=review
&gt; 
&gt; &gt; LayoutTests/accessibility/children-changed-sends-notification-expected.txt:12
&gt; &gt; -PARAGRAPH notification: AXChildrenAdded
&gt; &gt; -GLOBAL notification: AXChildrenAdded on element with role AXRole: AXParagraph
&gt; &gt;  PARAGRAPH notification: AXChildrenRemoved
&gt; &gt;  GLOBAL notification: AXChildrenRemoved on element with role AXRole: AXParagraph
&gt; &gt; +PARAGRAPH notification: AXChildrenAdded
&gt; &gt; +GLOBAL notification: AXChildrenAdded on element with role AXRole: AXParagraph
&gt; 
&gt; Does this not affect Mac? Is this test specific for ATK?

The mac is currently skipping this test, so yes, this test is specific to ATK.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967832</commentid>
    <comment_count>5</comment_count>
      <attachid>221130</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-14 07:41:24 -0800</bug_when>
    <thetext>Comment on attachment 221130
Patch proposal

Clearing flags on attachment: 221130

Committed r161966: &lt;http://trac.webkit.org/changeset/161966&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967833</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-14 07:41:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221130</attachid>
            <date>2014-01-14 02:03:58 -0800</date>
            <delta_ts>2014-01-14 07:41:24 -0800</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-ATK-AXChildrenChanged-notification-handling-is-a-per.patch</filename>
            <type>text/plain</type>
            <size>4881</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBmNWI4MzhhNmM2MjRjM2RiYTgwNjJhYTRkZjAxN2VjY2Q1NmFhYWI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogVHVlLCAxNCBKYW4gMjAxNCAxMDowMjoyMyArMDAwMApTdWJqZWN0OiBb
UEFUQ0hdIFtBVEtdIEFYQ2hpbGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlvbiBoYW5kbGluZyBpcyBh
CiBwZXJmb3JtYW5jZSBibGFjayBob2xlCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI2OTcwCgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAxMyArKysrKysrKysrKysKIC4uLmhpbGRyZW4tY2hhbmdlZC1z
ZW5kcy1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0IHwgICAgNCArKy0tCiBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjEgKysrKysrKysrKysr
KysrKysrKysKIC4uLi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL0FYT2JqZWN0Q2FjaGVBdGsu
Y3BwIHwgICAxMCAtLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyks
IDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlOGUxYmMwLi41YmYwMzYwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTQtMDEtMTQgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBz
YW1zdW5nLmNvbT4KKworICAgICAgICBbQVRLXSBBWENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRp
b24gaGFuZGxpbmcgaXMgYSBwZXJmb3JtYW5jZSBibGFjayBob2xlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY5NzAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZWNhdXNlIG9mIHRoZSByZW1vdmFsIG9m
IHRoZSByZWZlcnJpbmcgdGVzdCB3aGVuCisgICAgICAgIEFYQ2hpbGRyZW5DaGFuZ2VkIGlzIHJl
Y2VpdmVkLCB0aGUgY2hpbGRyZW4tY2hhbmdlZDphZGQgc2lnbmFsIGlzCisgICAgICAgIG5vdyBl
bWl0dGVkIGxhdGVyLCBzbyB3ZSBuZWVkIHRvIHJlb3JkZXIgdGhlIGV4cGVjdGF0aW9ucy4KKwor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1zZW5kcy1ub3RpZmljYXRp
b24tZXhwZWN0ZWQudHh0OiBVcGRhdGVkLgorCiAyMDE0LTAxLTEzICBNYXJpbyBTYW5jaGV6IFBy
YWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgQVg6IE1lcmdlIGxheW91
dCB0ZXN0IGZyb20gTWFjIGFuZCBHVEsgY2hlY2tpbmcgYWNjZXNzaWJpbGl0eSByb2xlcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLXNlbmRz
LW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2No
aWxkcmVuLWNoYW5nZWQtc2VuZHMtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA4ZWMy
NjgzLi43MmNjNzUwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9jaGls
ZHJlbi1jaGFuZ2VkLXNlbmRzLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLXNlbmRzLW5vdGlmaWNhdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTYsMTAgKzYsMTAgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIFBs
YWluIHRleHQgcGFyYWdyYXBoIAogCiBFbmQgb2YgdGVzdAotUEFSQUdSQVBIIG5vdGlmaWNhdGlv
bjogQVhDaGlsZHJlbkFkZGVkCi1HTE9CQUwgbm90aWZpY2F0aW9uOiBBWENoaWxkcmVuQWRkZWQg
b24gZWxlbWVudCB3aXRoIHJvbGUgQVhSb2xlOiBBWFBhcmFncmFwaAogUEFSQUdSQVBIIG5vdGlm
aWNhdGlvbjogQVhDaGlsZHJlblJlbW92ZWQKIEdMT0JBTCBub3RpZmljYXRpb246IEFYQ2hpbGRy
ZW5SZW1vdmVkIG9uIGVsZW1lbnQgd2l0aCByb2xlIEFYUm9sZTogQVhQYXJhZ3JhcGgKK1BBUkFH
UkFQSCBub3RpZmljYXRpb246IEFYQ2hpbGRyZW5BZGRlZAorR0xPQkFMIG5vdGlmaWNhdGlvbjog
QVhDaGlsZHJlbkFkZGVkIG9uIGVsZW1lbnQgd2l0aCByb2xlIEFYUm9sZTogQVhQYXJhZ3JhcGgK
IFBBU1MgcGFyYWdyYXBoTm90aWZpY2F0aW9uQ291bnQgaXMgZ2xvYmFsTm90aWZpY2F0aW9uQ291
bnQKIFBBU1MgZ2xvYmFsTm90aWZpY2F0aW9uQ291bnQgaXMgMgogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGE4ZThjODMuLjdkYTliZWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNCBAQAorMjAxNC0wMS0xNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlv
LnByYWRhQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtBVEtdIEFYQ2hpbGRyZW5DaGFuZ2VkIG5v
dGlmaWNhdGlvbiBoYW5kbGluZyBpcyBhIHBlcmZvcm1hbmNlIGJsYWNrIGhvbGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjk3MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBjb2RlIHRoYXQg
aXMgY2F1c2luZyBhIGh1Z2UgcGVyZm9ybWFuY2UgcHJvYmxlbSB3aGVuCisgICAgICAgIGxvYWRp
bmcgYmlnIHBhZ2VzLCBqdXN0IHRvIGJlIGFibGUgdG8gZW1pdCB0aGUgY2hpbGRyZW4tY2hhbmdl
ZDphZGQKKyAgICAgICAgc2lnbmFsIGF0IHRoZSBleGFjdCB0aW1lIGEgY2hpbGQgaXMgYWRkZWQu
CisKKyAgICAgICAgVGhpcyByZW1vdmFsIGRvZXMgbm90IGltcGx5IHRoYXQgdGhlIHNpZ25hbCB3
b24ndCBiZSBldmVyIGVtaXR0ZWQsCisgICAgICAgIGp1c3QgdGhhdCBpdCB3aWxsIGJlIGVtaXR0
ZWQgYSBiaXQgbGF0ZXIgKHdoZW4gdGhlIG5ldyBjaGlsZCBpcworICAgICAgICBhc3luY2hyb25v
dXNseSBhZGRlZCB0byB0aGUgdHJlZSksIHdoaWNoIHNob3VsZCBiZSBnb29kIGVub3VnaAorICAg
ICAgICBhbnl3YXkgZm9yIEFjY2Vzc2libGUgVGVjaG5vbG9naWVzLCB3aXRob3V0IGltcGFjdGlu
ZyBwZXJmZm9ybWFuY2UKKyAgICAgICAgaW4gc3VjaCBhIG5lZ2F0aXZlIHdheS4KKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL0FYT2JqZWN0Q2FjaGVBdGsuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKTogUmVtb3ZlZAor
ICAgICAgICBleHRyZW1lbHkgZXhwZW5zaXZlIHJlZmVycmluZyBsb29wIHdoZW4gQVhDaGlsZHJl
bkNoYW5nZWQgaXMgcmVjZWl2ZWQuCisKIDIwMTQtMDEtMTMgIFphbiBEb2JlcnNlayAgPHpkb2Jl
cnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEF2b2lkIHVubmVjZXNzYXJ5IGNvcGllcyBvZiBB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL0FYT2JqZWN0Q2FjaGVBdGsuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAK
aW5kZXggNmIwYWI2ZS4uMTYzM2ZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKQEAgLTE5MywxNiArMTkzLDYgQEAg
dm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24oQWNjZXNzaWJpbGl0
eU9iamVjdCogY29yZU9iamVjdCwgQVgKICAgICAgICAgYXRrX29iamVjdF9ub3RpZnlfc3RhdGVf
Y2hhbmdlKGF4T2JqZWN0LCBBVEtfU1RBVEVfQ0hFQ0tFRCwgY29yZU9iamVjdC0+aXNDaGVja2Vk
KCkpOwogICAgICAgICBicmVhazsKIAotICAgIGNhc2UgQVhDaGlsZHJlbkNoYW5nZWQ6Ci0gICAg
ICAgIC8vIFdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGNoaWxkcmVuIEF0a09iamVjdHMg
YXJlIGNyZWF0ZWQgYXQgdGhpcyBtb21lbnQsCi0gICAgICAgIC8vIHNvIHRoZSBjaGlsZHJlbi1j
aGFuZ2VkOjphZGQgc2lnbmFsIGdldHMgcHJvcGVybHkgZW1pdHRlZCBpbiBhdHRhY2hXcmFwcGVy
KCkuCi0gICAgICAgIHsKLSAgICAgICAgICAgIGludCBudW1PZkNoaWxkcmVuID0gYXRrX29iamVj
dF9nZXRfbl9hY2Nlc3NpYmxlX2NoaWxkcmVuKGF4T2JqZWN0KTsKLSAgICAgICAgICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgbnVtT2ZDaGlsZHJlbjsgKytpKQotICAgICAgICAgICAgICAgIEdSZWZQ
dHI8QXRrT2JqZWN0PiBjaGlsZChhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKGF4T2Jq
ZWN0LCBpKSk7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0KICAgICBjYXNlIEFYU2VsZWN0
ZWRDaGlsZHJlbkNoYW5nZWQ6CiAgICAgY2FzZSBBWE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgogICAg
ICAgICBpZiAobm90aWZpY2F0aW9uID09IEFYTWVudUxpc3RWYWx1ZUNoYW5nZWQgJiYgY29yZU9i
amVjdC0+aXNNZW51TGlzdCgpKSB7Ci0tIAoxLjcuMTAuNAoK
</data>

          </attachment>
      

    </bug>

</bugzilla>