<?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>58930</bug_id>
          
          <creation_ts>2011-04-19 15:06:04 -0700</creation_ts>
          <short_desc>Accessibility tree should not contain duplicate child nodes.</short_desc>
          <delta_ts>2011-09-12 23:10:06 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Chris Guillory">ctguil</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cfleizach</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>388828</commentid>
    <comment_count>0</comment_count>
      <attachid>90262</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2011-04-19 15:06:04 -0700</bug_when>
    <thetext>Created attachment 90262
Layout Test

The accessibility tree can incorrectly list the same node as a child more than once. This can lead to undefined behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388832</commentid>
    <comment_count>1</comment_count>
      <attachid>90262</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2011-04-19 15:07:15 -0700</bug_when>
    <thetext>Comment on attachment 90262
Layout Test

&gt;Index: LayoutTests/accessibility/duplicate-child-nodes.html
&gt;===================================================================
&gt;--- LayoutTests/accessibility/duplicate-child-nodes.html	(revision 0)
&gt;+++ LayoutTests/accessibility/duplicate-child-nodes.html	(revision 0)
&gt;@@ -0,0 +1,32 @@
&gt;+&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt;
&gt;+&lt;html&gt;
&gt;+&lt;head&gt;
&gt;+&lt;link rel=&quot;stylesheet&quot; href=&quot;../fast/js/resources/js-test-style.css&quot;&gt;
&gt;+&lt;script&gt;
&gt;+    var successfullyParsed = false;
&gt;+&lt;/script&gt;
&gt;+&lt;script src=&quot;../fast/js/resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
&gt;+&lt;/head&gt;
&gt;+&lt;body&gt;
&gt;+
&gt;+&lt;em&gt;&lt;code &gt;&lt;h4 &gt;&lt;/em&gt;
&gt;+
&gt;+&lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
&gt;+&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
&gt;+
&gt;+&lt;script&gt;
&gt;+    description(&quot;Child nodes should not be duplicated in the accessibility tree.&quot;);
&gt;+
&gt;+    if (window.accessibilityController) {
&gt;+        document.body.focus();
&gt;+        var webArea = accessibilityController.focusedElement;
&gt;+        if (webArea.childrenCount &gt; 1)
&gt;+            shouldBe(&quot;webArea.childAtIndex(0).isEqual(webArea.childAtIndex(1))&quot;, &quot;false&quot;);
&gt;+    }
&gt;+
&gt;+    successfullyParsed = true;
&gt;+&lt;/script&gt;
&gt;+
&gt;+&lt;script src=&quot;../fast/js/resources/js-test-post.js&quot;&gt;&lt;/script&gt;
&gt;+&lt;/body&gt;
&gt;+&lt;/html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388981</commentid>
    <comment_count>2</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-04-19 18:20:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/9309623&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466106</commentid>
    <comment_count>3</comment_count>
      <attachid>107139</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2011-09-12 21:28:25 -0700</bug_when>
    <thetext>Created attachment 107139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466148</commentid>
    <comment_count>4</comment_count>
      <attachid>107139</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-09-12 22:56:49 -0700</bug_when>
    <thetext>Comment on attachment 107139
Patch

r=me thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466156</commentid>
    <comment_count>5</comment_count>
      <attachid>107139</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-12 23:10:01 -0700</bug_when>
    <thetext>Comment on attachment 107139
Patch

Clearing flags on attachment: 107139

Committed r95018: &lt;http://trac.webkit.org/changeset/95018&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466157</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-12 23:10:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90262</attachid>
            <date>2011-04-19 15:06:04 -0700</date>
            <delta_ts>2011-04-19 15:07:15 -0700</delta_ts>
            <desc>Layout Test</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>1865</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0Mjg1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDMtMTAgIENocmlzIEd1
aWxsb3J5ICA8Y2hyaXMuZ3VpbGxvcnlAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZm9yIENvdmVyaXR5IGRpc2NvdmVyZWQg
Tk9fRUZGRUNUIChzZWxmLWFzc2lnbikgZGVmZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQxNDMKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dwdS9UaWxpbmdEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGluZ0RhdGE6OnNl
dE1heFRleHR1cmVTaXplKToKKwogMjAxMS0wNC0xOSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzU3ODY3PiBSZS1vcmRl
ciBlbnVtIFJlc291cmNlTG9hZFByaW9yaXR5IHRvIG1ha2UgVW5yZXNvbHZlZCB2YWx1ZSBsZXNz
IGltcG9ydGFudApJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kdXBsaWNhdGUtY2hp
bGQtbm9kZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R1
cGxpY2F0ZS1jaGlsZC1ub2Rlcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9kdXBsaWNhdGUtY2hpbGQtbm9kZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
Pg0KKzxodG1sPg0KKzxoZWFkPg0KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPg0KKzxzY3JpcHQ+DQorICAgIHZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsNCis8L3NjcmlwdD4NCis8c2NyaXB0IHNyYz0iLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pg0KKzwvaGVhZD4NCis8
Ym9keT4NCisNCis8ZW0+PGNvZGUgPjxoNCA+PC9lbT4NCisNCis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4NCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4NCisNCis8c2NyaXB0Pg0KKyAgICBkZXNj
cmlwdGlvbigiQ2hpbGQgbm9kZXMgc2hvdWxkIG5vdCBiZSBkdXBsaWNhdGVkIGluIHRoZSBhY2Nl
c3NpYmlsaXR5IHRyZWUuIik7DQorDQorICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIpIHsNCisgICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsNCisgICAgICAgIHZhciB3
ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7DQorICAgICAg
ICBpZiAod2ViQXJlYS5jaGlsZHJlbkNvdW50ID4gMSkNCisgICAgICAgICAgICBzaG91bGRCZSgi
d2ViQXJlYS5jaGlsZEF0SW5kZXgoMCkuaXNFcXVhbCh3ZWJBcmVhLmNoaWxkQXRJbmRleCgxKSki
LCAiZmFsc2UiKTsNCisgICAgfQ0KKw0KKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOw0K
Kzwvc2NyaXB0Pg0KKw0KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0Pg0KKzwvYm9keT4NCis8L2h0bWw+DQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107139</attachid>
            <date>2011-09-12 21:28:25 -0700</date>
            <delta_ts>2011-09-12 23:10:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58930-20110912212823.patch</filename>
            <type>text/plain</type>
            <size>2552</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDk1MDExKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDktMTIgIERvbWluaWMgTWF6em9uaSAg
PGRtYXp6b25pQGdvb2dsZS5jb20+CisKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IGVuc3VyZXMg
dGhhdCB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGRvZXMgbm90IGNvbnRhaW4gZHVw
bGljYXRlIGNoaWxkIG5vZGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTg5MzAKKworICAgICAgICBUaGlzIHRlc3QgZmFpbGVkIHdoZW4gdGhlIGJ1
ZyB3YXMgb3JpZ2luYWxseSBmaWxlZCwgYnV0IHdhcworICAgICAgICBmaXhlZCBpbjogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODA1CisgICAgICAgIHNvIG5vIGNv
ZGUgY2hhbmdlcyBhcmUgYWNjb21wYW55aW5nIHRoaXMgbmV3IGxheW91dCB0ZXN0LgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9kdXBsaWNhdGUtY2hpbGQtbm9kZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2R1cGxpY2F0ZS1jaGlsZC1ub2Rlcy5odG1sOiBBZGRlZC4KKwogMjAxMS0w
OS0xMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIERvbid0IGFsbG93
IHNldHRpbmcgX19wcm90b19fIHRvIGJlIGEgZ2V0dGVyIG9yIHNldHRlcgpJbmRleDogTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9kdXBsaWNhdGUtY2hpbGQtbm9kZXMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHVwbGljYXRlLWNoaWxkLW5v
ZGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvZHVwbGljYXRlLWNoaWxkLW5vZGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw5IEBACitDaGlsZCBub2RlcyBzaG91bGQgbm90IGJlIGR1cGxpY2F0ZWQgaW4gdGhlIGFj
Y2Vzc2liaWxpdHkgdHJlZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R1cGxpY2F0ZS1jaGlsZC1ub2Rlcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHVwbGljYXRlLWNoaWxkLW5vZGVzLmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R1cGxpY2F0ZS1j
aGlsZC1ub2Rlcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0PgorICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8ZW0+PGNvZGUgPjxoNCA+PC9lbT4K
KworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKwor
PHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigiQ2hpbGQgbm9kZXMgc2hvdWxkIG5vdCBiZSBkdXBs
aWNhdGVkIGluIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUuIik7CisKKyAgICBpZiAod2luZG93LmFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsK
KyAgICAgICAgdmFyIHdlYkFyZWEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxl
bWVudDsKKyAgICAgICAgaWYgKHdlYkFyZWEuY2hpbGRyZW5Db3VudCA+IDEpCisgICAgICAgICAg
ICBzaG91bGRCZSgid2ViQXJlYS5jaGlsZEF0SW5kZXgoMCkuaXNFcXVhbCh3ZWJBcmVhLmNoaWxk
QXRJbmRleCgxKSkiLCAiZmFsc2UiKTsKKyAgICB9CisKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>