<?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>26995</bug_id>
          
          <creation_ts>2009-07-06 11:50:21 -0700</creation_ts>
          <short_desc>AX: Some webpages do not send AXLoadComplete</short_desc>
          <delta_ts>2009-07-07 14:06:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>cfleizach</cc>
    
    <cc>darin</cc>
    
    <cc>gfhughesVO+webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>129973</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-07-06 11:50:21 -0700</bug_when>
    <thetext>some webpages are not sending AXLoadComplete notifications</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130049</commentid>
    <comment_count>1</comment_count>
      <attachid>32332</attachid>
    <who name="Greg Hughes">gfhughesVO+webkit</who>
    <bug_when>2009-07-06 16:08:28 -0700</bug_when>
    <thetext>Created attachment 32332
Proposed patch

Patch ensures that the AXCache is updated with the current document before posting the AXLoadComplete notification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130050</commentid>
    <comment_count>2</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-07-06 16:10:46 -0700</bug_when>
    <thetext>you could probably cache renderer()
you might want to add a comment saying why we need to do this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130066</commentid>
    <comment_count>3</comment_count>
      <attachid>32332</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-07-06 18:00:42 -0700</bug_when>
    <thetext>Comment on attachment 32332
Proposed patch

Code change looks fine. Needs comment explaining why it&apos;s calling getOrCreate and discarding the result. Needs a ChangeLog.

review- because of those issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130069</commentid>
    <comment_count>4</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-07-06 18:01:50 -0700</bug_when>
    <thetext>greg, also run the prepare-ChangeLog script and re-submit the patch (along with comments), which will obviate this patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130090</commentid>
    <comment_count>5</comment_count>
      <attachid>32350</attachid>
    <who name="Greg Hughes">gfhughesVO+webkit</who>
    <bug_when>2009-07-06 18:50:42 -0700</bug_when>
    <thetext>Created attachment 32350
Updated patch

patch updated to cache renderer() and include a comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130094</commentid>
    <comment_count>6</comment_count>
      <attachid>32351</attachid>
    <who name="Greg Hughes">gfhughesVO+webkit</who>
    <bug_when>2009-07-06 19:17:04 -0700</bug_when>
    <thetext>Created attachment 32351
Updated patch 3

Updated patch based on review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130159</commentid>
    <comment_count>7</comment_count>
      <attachid>32351</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-07-07 00:54:15 -0700</bug_when>
    <thetext>Comment on attachment 32351
Updated patch 3

&gt; +    RenderObject* render = renderer();

An idiom we use for this is

    RenderObject* renderer = this-&gt;renderer();

The downside of naming the variable &quot;render&quot; is that&apos;s a verb with a different meaning.

Is there any way to make a regression test for this?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130214</commentid>
    <comment_count>8</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-07-07 08:35:22 -0700</bug_when>
    <thetext>for a regression test... what if we stored the last notification to be sent in AXObjectCache. then in the layout test we could have a mechanism to ask for the last notification, which would allow us to ensure it was sent. 

it seems like we might want to also add an ASSERT checking that there is an ax object available before posting the notification, so that we might catch other cases where this is happening</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130232</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-07-07 10:10:35 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; it seems like we might want to also add an ASSERT checking that there is an ax
&gt; object available before posting the notification, so that we might catch other
&gt; cases where this is happening

We can&apos;t do that until we fix the real problem, because we know that assert will fire.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130250</commentid>
    <comment_count>10</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-07-07 11:54:01 -0700</bug_when>
    <thetext>i was not able to write a layout test for this because i need the layout test to stall until it the notification gets posted. unfortunately, the layout tests get run and exited before the notification is actually sent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130252</commentid>
    <comment_count>11</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-07-07 12:06:04 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/45602</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130271</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-07-07 14:06:57 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; i was not able to write a layout test for this because i need the layout test
&gt; to stall until it the notification gets posted. unfortunately, the layout tests
&gt; get run and exited before the notification is actually sent.

That&apos;s something we can tackle later; it can be overcome so we can make a test for this. You can call layoutTestController.waitUntilDone() to prevent the layout test machinery from moving on to the next test until layoutTestController.notifyDone() is called. Then you just have to figure out how to get some JavaScript code called once the test truly is done.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32332</attachid>
            <date>2009-07-06 16:08:28 -0700</date>
            <delta_ts>2009-07-06 18:00:42 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>26995.ghughes.patch</filename>
            <type>text/plain</type>
            <size>623</size>
            <attacher name="Greg Hughes">gfhughesVO+webkit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDQ1NTM3KQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjc3LDggKzE2NzcsMTAgQEAgdm9pZCBEb2N1bWVudDo6
aW1wbGljaXRDbG9zZSgpCiAgICAgfQogCiAjaWYgUExBVEZPUk0oTUFDKQotICAgIGlmIChmICYm
IHJlbmRlcmVyKCkgJiYgdGhpcyA9PSB0b3BEb2N1bWVudCgpICYmIEFYT2JqZWN0Q2FjaGU6OmFj
Y2Vzc2liaWxpdHlFbmFibGVkKCkpCisgICAgaWYgKGYgJiYgcmVuZGVyZXIoKSAmJiB0aGlzID09
IHRvcERvY3VtZW50KCkgJiYgQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkg
eworICAgICAgICBheE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKHJlbmRlcmVyKCkpOwogICAg
ICAgICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24ocmVuZGVyZXIoKSwgIkFYTG9h
ZENvbXBsZXRlIiwgdHJ1ZSk7CisgICAgfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoU1ZHKQo=
</data>
<flag name="review"
          id="16794"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>32350</attachid>
            <date>2009-07-06 18:50:42 -0700</date>
            <delta_ts>2009-07-06 19:17:04 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>26995.ghughes.2.patch</filename>
            <type>application/octet-stream</type>
            <size>1599</size>
            <attacher name="Greg Hughes">gfhughesVO+webkit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDQ1NTM3KQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYzLDYgKzE2NjMsNyBAQCB2b2lkIERvY3VtZW50Ojpp
bXBsaWNpdENsb3NlKCkKICAgICB9CiAKICAgICBmcmFtZSgpLT5sb2FkZXIoKS0+Y2hlY2tDYWxs
SW1wbGljaXRDbG9zZSgpOworICAgIFJlbmRlck9iamVjdCogcmVuZGVyID0gcmVuZGVyZXIoKTsK
IAogICAgIC8vIFdlIHVzZWQgdG8gZm9yY2UgYSBzeW5jaHJvbm91cyBkaXNwbGF5IGFuZCBmbHVz
aCBoZXJlLiAgVGhpcyByZWFsbHkgaXNuJ3QKICAgICAvLyBuZWNlc3NhcnkgYW5kIGNhbiBpbiBm
YWN0IGJlIGFjdGl2ZWx5IGhhcm1mdWwgaWYgcGFnZXMgYXJlIGxvYWRpbmcgYXQgYSByYXRlIG9m
ID4gNjBmcHMKQEAgLTE2NzIsMTMgKzE2NzMsMTggQEAgdm9pZCBEb2N1bWVudDo6aW1wbGljaXRD
bG9zZSgpCiAgICAgICAgIHVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKICAgICAgICAgCiAgICAgICAg
IC8vIEFsd2F5cyBkbyBhIGxheW91dCBhZnRlciBsb2FkaW5nIGlmIG5lZWRlZC4KLSAgICAgICAg
aWYgKHZpZXcoKSAmJiByZW5kZXJlcigpICYmICghcmVuZGVyZXIoKS0+Zmlyc3RDaGlsZCgpIHx8
IHJlbmRlcmVyKCktPm5lZWRzTGF5b3V0KCkpKQorICAgICAgICBpZiAodmlldygpICYmIHJlbmRl
ciAmJiAoIXJlbmRlci0+Zmlyc3RDaGlsZCgpIHx8IHJlbmRlci0+bmVlZHNMYXlvdXQoKSkpCiAg
ICAgICAgICAgICB2aWV3KCktPmxheW91dCgpOwogICAgIH0KIAogI2lmIFBMQVRGT1JNKE1BQykK
LSAgICBpZiAoZiAmJiByZW5kZXJlcigpICYmIHRoaXMgPT0gdG9wRG9jdW1lbnQoKSAmJiBBWE9i
amVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQotICAgICAgICBheE9iamVjdENhY2hl
KCktPnBvc3ROb3RpZmljYXRpb24ocmVuZGVyZXIoKSwgIkFYTG9hZENvbXBsZXRlIiwgdHJ1ZSk7
CisgICAgaWYgKGYgJiYgcmVuZGVyICYmIHRoaXMgPT0gdG9wRG9jdW1lbnQoKSAmJiBBWE9iamVj
dENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSB7CisgICAgICAgIC8vIFRoZSBBWCBjYWNo
ZSBtYXkgaGF2ZSBiZWVuIGNsZWFyZWQgYXQgdGhpcyBwb2ludCwgc28gd2UgbmVlZCB0byBtYWtl
IHN1cmUgdGhhdCB3ZSBoYXZlIGFuCisgICAgICAgIC8vIEFYIG9iamVjdCB0byBzZW5kIHRoZSBu
b3RpZmljYXRpb24gdG8uIFRoaXMgY291bGQgdHJpZ2dlciBhIGxheW91dCBjaGFuZ2UsIHdoaWNo
IGlzIHNhZmUKKyAgICAgICAgLy8gdG8gZG8gaGVyZSAoYnV0IG5vdCBzYWZlIHRvIGRvIGluIHBv
c3ROb3RpZmljYXRpb24pLgorICAgICAgICBheE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKHJl
bmRlcik7CisgICAgICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbihyZW5kZXIs
ICJBWExvYWRDb21wbGV0ZSIsIHRydWUpOworICAgIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFNW
RykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32351</attachid>
            <date>2009-07-06 19:17:04 -0700</date>
            <delta_ts>2009-07-07 00:54:15 -0700</delta_ts>
            <desc>Updated patch 3</desc>
            <filename>26995.ghughes.3.patch</filename>
            <type>text/plain</type>
            <size>2637</size>
            <attacher name="Greg Hughes">gfhughesVO+webkit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU3OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMDctMDYgIEdyZWdvcnkgSHVnaGVzICA8Z2ZodWdoZXNWTyt3
ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisg
ICAgICAgIEFYOiBTb21lIHdlYnBhZ2VzIGRvIG5vdCBzZW5kIEFYTG9hZENvbXBsZXRlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjk5NQorCisgICAg
ICAgIFdoZW4gc2VuZGluZyB0aGUgQVhMYXlvdXRDb21wbGV0ZSBub3RpZmljYXRpb24gaXQgaXMg
cG9zc2libGUKKyAgICAgICAgdGhhdCB0aGUgQVhPYmplY3RDYWNoZSB3YXMgY2xlYXJlZCwgcmVz
dWx0aW5nIGluIG5vIHZhbGlkCisgICAgICAgIG9iamVjdCB0byBzZW5kIHRoZSBub3RpZmljYXRp
b24gdG8uIFRoaXMgZml4IGVuc3VyZXMgdGhhdCBhbgorICAgICAgICBBWCBvYmplY3QgaXMgY3Jl
YXRlZCBhbmQgY2FjaGVkIGlmIG9uZSBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LgorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbXBsaWNp
dENsb3NlKToKKwogMjAwOS0wNy0wNiAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEJ1ZyAyNzAwMjogQnVpbGQgZml4IHdoZW4gREFTSEJPQVJEX1NVUFBPUlQg
aXMgZGlzYWJsZWQgd2l0aCAtV3VudXNlZC1wYXJhbWV0ZXIKSW5kZXg6IFdlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlz
aW9uIDQ1NTM3KQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjYzLDYgKzE2NjMsNyBAQCB2b2lkIERvY3VtZW50OjppbXBsaWNpdENsb3NlKCkKICAgICB9
CiAKICAgICBmcmFtZSgpLT5sb2FkZXIoKS0+Y2hlY2tDYWxsSW1wbGljaXRDbG9zZSgpOworICAg
IFJlbmRlck9iamVjdCogcmVuZGVyID0gcmVuZGVyZXIoKTsKIAogICAgIC8vIFdlIHVzZWQgdG8g
Zm9yY2UgYSBzeW5jaHJvbm91cyBkaXNwbGF5IGFuZCBmbHVzaCBoZXJlLiAgVGhpcyByZWFsbHkg
aXNuJ3QKICAgICAvLyBuZWNlc3NhcnkgYW5kIGNhbiBpbiBmYWN0IGJlIGFjdGl2ZWx5IGhhcm1m
dWwgaWYgcGFnZXMgYXJlIGxvYWRpbmcgYXQgYSByYXRlIG9mID4gNjBmcHMKQEAgLTE2NzIsMTMg
KzE2NzMsMTkgQEAgdm9pZCBEb2N1bWVudDo6aW1wbGljaXRDbG9zZSgpCiAgICAgICAgIHVwZGF0
ZVN0eWxlSWZOZWVkZWQoKTsKICAgICAgICAgCiAgICAgICAgIC8vIEFsd2F5cyBkbyBhIGxheW91
dCBhZnRlciBsb2FkaW5nIGlmIG5lZWRlZC4KLSAgICAgICAgaWYgKHZpZXcoKSAmJiByZW5kZXJl
cigpICYmICghcmVuZGVyZXIoKS0+Zmlyc3RDaGlsZCgpIHx8IHJlbmRlcmVyKCktPm5lZWRzTGF5
b3V0KCkpKQorICAgICAgICBpZiAodmlldygpICYmIHJlbmRlciAmJiAoIXJlbmRlci0+Zmlyc3RD
aGlsZCgpIHx8IHJlbmRlci0+bmVlZHNMYXlvdXQoKSkpCiAgICAgICAgICAgICB2aWV3KCktPmxh
eW91dCgpOwogICAgIH0KIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAoZiAmJiByZW5kZXJl
cigpICYmIHRoaXMgPT0gdG9wRG9jdW1lbnQoKSAmJiBBWE9iamVjdENhY2hlOjphY2Nlc3NpYmls
aXR5RW5hYmxlZCgpKQotICAgICAgICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24o
cmVuZGVyZXIoKSwgIkFYTG9hZENvbXBsZXRlIiwgdHJ1ZSk7CisgICAgaWYgKGYgJiYgcmVuZGVy
ICYmIHRoaXMgPT0gdG9wRG9jdW1lbnQoKSAmJiBBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5
RW5hYmxlZCgpKSB7CisgICAgICAgIC8vIFRoZSBBWCBjYWNoZSBtYXkgaGF2ZSBiZWVuIGNsZWFy
ZWQgYXQgdGhpcyBwb2ludCwgYnV0IHdlIG5lZWQgdG8gbWFrZSBzdXJlIGl0IGNvbnRhaW5zIGFu
CisgICAgICAgIC8vIEFYIG9iamVjdCB0byBzZW5kIHRoZSBub3RpZmljYXRpb24gdG8uIGdldE9y
Q3JlYXRlIHdpbGwgbWFrZSBzdXJlIHRoYXQgYW4gdmFsaWQgQVggb2JqZWN0CisgICAgICAgIC8v
IGV4aXN0cyBpbiB0aGUgY2FjaGUgKHdlIGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIGJlY2F1c2Ug
d2UgZG9uJ3QgbmVlZCBpdCBoZXJlKS4gVGhpcyBpcyAKKyAgICAgICAgLy8gb25seSBzYWZlIHRv
IGNhbGwgd2hlbiBhIGxheW91dCBpcyBub3QgaW4gcHJvZ3Jlc3MsIHNvIGl0IGNhbiBub3QgYmUg
dXNlZCBpbiBwb3N0Tm90aWZpY2F0aW9uICAgIAorICAgICAgICBheE9iamVjdENhY2hlKCktPmdl
dE9yQ3JlYXRlKHJlbmRlcik7CisgICAgICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNh
dGlvbihyZW5kZXIsICJBWExvYWRDb21wbGV0ZSIsIHRydWUpOworICAgIH0KICNlbmRpZgogCiAj
aWYgRU5BQkxFKFNWRykK
</data>
<flag name="review"
          id="16818"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>