<?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>32688</bug_id>
          
          <creation_ts>2009-12-17 17:55:39 -0800</creation_ts>
          <short_desc>MSAA: Accessibility role of list items is wrong</short_desc>
          <delta_ts>2009-12-18 16:52:36 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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="Jon Honeycutt">jhoneycutt</reporter>
          <assigned_to name="Jon Honeycutt">jhoneycutt</assigned_to>
          <cc>aroben</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>173005</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2009-12-17 17:55:39 -0800</bug_when>
    <thetext>List items should have the &quot;list item&quot; role, not the &quot;grouping&quot; role.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173318</commentid>
    <comment_count>1</comment_count>
      <attachid>45185</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2009-12-18 13:47:43 -0800</bug_when>
    <thetext>Created attachment 45185
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173328</commentid>
    <comment_count>2</comment_count>
      <attachid>45185</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-12-18 14:22:11 -0800</bug_when>
    <thetext>Comment on attachment 45185
patch


&gt; +static AccessibilityRole msaaRoleForRenderer(const RenderObject* renderer)
&gt; +{
&gt; +    if (!renderer)
&gt; +        return UnknownRole;
&gt; +
&gt; +    if (renderer-&gt;isText())
&gt; +        return EditableTextRole;
&gt; +
&gt; +    if (renderer-&gt;isListItem())
&gt; +        return ListItemRole;
&gt; +
&gt; +    return UnknownRole;
&gt; +}
&gt; +
&gt;  AccessibilityRole AccessibilityRenderObject::roleValueForMSAA() const
&gt;  {
&gt;      if (m_roleForMSAA != UnknownRole)
&gt;          return m_roleForMSAA;
&gt;  
&gt; -    if (m_renderer &amp;&amp; m_renderer-&gt;isText())
&gt; -        m_roleForMSAA = EditableTextRole;
&gt; -    else
&gt; +    m_roleForMSAA = msaaRoleForRenderer(m_renderer);
&gt; +
&gt; +    if (m_roleForMSAA == UnknownRole)
&gt;          m_roleForMSAA = m_role;

It seems unfortunate that we have this m_roleForMSAA. I&apos;d imagine the way things would work to be:

* WebCore has a master AccessibilityRole enum that has all the members needed by every supported accessibility platform
* The platform-specific integration with the system&apos;s accessibility layer would translate AccessibilityRoles into whatever the platform expects

Is there a reason why we don&apos;t do this?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173371</commentid>
    <comment_count>3</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2009-12-18 16:04:30 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 45185 [details])
&gt; 
&gt; It seems unfortunate that we have this m_roleForMSAA. I&apos;d imagine the way
&gt; things would work to be:
&gt; 
&gt; * WebCore has a master AccessibilityRole enum that has all the members needed
&gt; by every supported accessibility platform
&gt; * The platform-specific integration with the system&apos;s accessibility layer would
&gt; translate AccessibilityRoles into whatever the platform expects
&gt; 
&gt; Is there a reason why we don&apos;t do this?

No, there isn&apos;t. I&apos;ll post a patch to do that.

&gt; 
&gt; r=me

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173420</commentid>
    <comment_count>4</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2009-12-18 16:52:36 -0800</bug_when>
    <thetext>Landed in r52351.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45185</attachid>
            <date>2009-12-18 13:47:43 -0800</date>
            <delta_ts>2009-12-18 14:22:11 -0800</delta_ts>
            <desc>patch</desc>
            <filename>0002-MSAA-Accessibility-role-of-list-items-is-wrong.patch</filename>
            <type>text/plain</type>
            <size>8078</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">RnJvbSBhNDBlMmNmZDM5ZWVlYWNkM2MxMWY0MDI5YmJiNzhiZTE1MzQ5MmVkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gSG9uZXljdXR0IDxqaG9uZXljdXR0QGFwcGxlLmNvbT4K
RGF0ZTogVGh1LCAxNyBEZWMgMjAwOSAyMToyMDo0NiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIE1T
QUE6IEFjY2Vzc2liaWxpdHkgcm9sZSBvZiBsaXN0IGl0ZW1zIGlzIHdyb25nCgpodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI2ODgKClJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKV2ViQ29yZToKClRlc3Q6IHBsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5L2xpc3Qt
aXRlbS1yb2xlLmh0bWwKCiogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CihX
ZWJDb3JlOjopOgpBZGQgYSBMaXN0SXRlbVJvbGUgdG8gdGhlIGVudW0uCgoqIGFjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjptc2FhUm9sZUZvclJl
bmRlcmVyKToKUmV0dXJuIHRoZSByb2xlIGZvciB0aGUgUmVuZGVyT2JqZWN0LCBvciBVbmtub3du
Um9sZSBpZiB1bmtub3duLgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6cm9s
ZVZhbHVlRm9yTVNBQSk6CkNhbGwgbXNhYVJvbGVGb3JSZW5kZXJlcigpIHRvIGdldCB0aGUgcm9s
ZS4gSWYgaXQgaXMgVW5rbm93blJvbGUsIGZhbGwKYmFjayB0byBtX3JvbGUuCgpXZWJLaXQvd2lu
OgoKKiBBY2Nlc3NpYmxlQmFzZS5jcHA6CihNU0FBUm9sZSk6Ck1ha2UgdGhlIFdlYkNvcmUgbGlz
dCBpdGVtIHJvbGUgbWFwIHRvIHRoZSBNU0FBIGxpc3QgaXRlbSByb2xlLgoKTGF5b3V0VGVzdHM6
CgoqIHBsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5L2xpc3QtaXRlbS1yb2xlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCiogcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvbGlzdC1pdGVtLXJvbGUuaHRt
bDogQWRkZWQuClZlcmlmeSB0aGF0IHRoZSBsaXN0IGl0ZW0gcm9sZSBpcyAibGlzdCBpdGVtIi4K
LS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMTIgKysrKysrKwogLi4uL3dpbi9hY2Nlc3NpYmlsaXR5L2xpc3QtaXRlbS1yb2xlLWV4cGVj
dGVkLnR4dCAgfCAgICA3ICsrKysKIC4uLi9wbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9saXN0
LWl0ZW0tcm9sZS5odG1sIHwgICAzNCArKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIxICsrKysrKysrKysr
KwogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCAgICAgICAgfCAg
ICAzICstCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAg
ICB8ICAgMjAgKysrKysrKysrKy0tCiBXZWJLaXQvd2luL0FjY2Vzc2libGVCYXNlLmNwcCAgICAg
ICAgICAgICAgICAgICAgICB8ICAgIDIgKwogV2ViS2l0L3dpbi9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDEyICsrKysrKysKIDggZmlsZXMgY2hhbmdlZCwgMTA3
IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvbGlzdC1pdGVtLXJvbGUtZXhwZWN0ZWQu
dHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2FjY2Vzc2li
aWxpdHkvbGlzdC1pdGVtLXJvbGUuaHRtbAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMWJjNGQwLi5jMDc3OWNlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDUgKzEsMTcgQEAKIDIwMDktMTItMTcgIEpvbiBIb25leWN1dHQgIDxqaG9uZXljdXR0
QGFwcGxlLmNvbT4KIAorICAgICAgICBNU0FBOiBBY2Nlc3NpYmlsaXR5IHJvbGUgb2YgbGlzdCBp
dGVtcyBpcyB3cm9uZworCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMjY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvbGlzdC1pdGVtLXJvbGUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9saXN0
LWl0ZW0tcm9sZS5odG1sOiBBZGRlZC4KKyAgICAgICAgVmVyaWZ5IHRoYXQgdGhlIGxpc3QgaXRl
bSByb2xlIGlzICJsaXN0IGl0ZW0iLgorCisyMDA5LTEyLTE3ICBKb24gSG9uZXljdXR0ICA8amhv
bmV5Y3V0dEBhcHBsZS5jb20+CisKICAgICAgICAgTVNBQTogQWNjZXNzaWJpbGl0eSByb2xlIG9m
IGxpc3QgbWFya2VycyBpcyB3cm9uZwogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMjY4NwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL2FjY2Vzc2liaWxpdHkvbGlzdC1pdGVtLXJvbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvbGlzdC1pdGVtLXJvbGUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyNmVlM2YKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9saXN0LWl0ZW0t
cm9sZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCwgb24gV2luZG93cywgbGlzdCBpdGVtcyByZXR1cm4gdGhlICJsaXN0IGl0ZW0iIHJvbGUuIAor
CitCdWcgMzI2ODggLSBNU0FBOiBBY2Nlc3NpYmlsaXR5IHJvbGUgb2YgbGlzdCBpdGVtcyBpcyB3
cm9uZworCitsaXN0IGl0ZW0KK1BBU1MgbGlzdEl0ZW0ucm9sZSBpcyAibGlzdCBpdGVtIgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9saXN0LWl0
ZW0tcm9sZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvbGlz
dC1pdGVtLXJvbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjVj
OTc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2FjY2Vzc2li
aWxpdHkvbGlzdC1pdGVtLXJvbGUuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD4KKyAgICA8
aGVhZD4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisKKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgaWQ9ImJvZHkiPgorICAg
ICAgICA8cD4KKyAgICAgICAgICAgIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0LCBvbiBXaW5kb3dz
LCBsaXN0IGl0ZW1zIHJldHVybiB0aGUKKyAgICAgICAgICAgICJsaXN0IGl0ZW0iIHJvbGUuCisg
ICAgICAgICAgICA8YnI+PGJyPgorICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNjg4Ij5CdWcgMzI2ODggLSBNU0FBOiBBY2Nlc3Np
YmlsaXR5IHJvbGUgb2YgbGlzdCBpdGVtcyBpcyB3cm9uZzwvYT4KKyAgICAgICAgPC9wPgorCisg
ICAgICAgIDx1bD4KKyAgICAgICAgICAgIDxsaSBpZD0ibGlzdEl0ZW0iIHRhYmluZGV4PSIxIj5s
aXN0IGl0ZW08L2xpPgorICAgICAgICA8L3VsPgorCisgICAgICAgIDxwIGlkPSJjb25zb2xlIj48
L3A+CisKKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibGlzdEl0ZW0iKS5mb2N1cygpOworCisgICAgICAgICAgICAgICAgdmFyIGxpc3RJdGVtID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoJ2xpc3RJdGVtLnJvbGUnLCAnImxpc3QgaXRlbSInKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmN2YzYzlmLi4wYTFkNzRk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI0IEBACisyMDA5LTEyLTE3ICBKb24gSG9uZXljdXR0ICA8amhvbmV5Y3V0dEBh
cHBsZS5jb20+CisKKyAgICAgICAgTVNBQTogQWNjZXNzaWJpbGl0eSByb2xlIG9mIGxpc3QgaXRl
bXMgaXMgd3JvbmcKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzI2ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBwbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9saXN0LWl0ZW0tcm9sZS5odG1s
CisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Oik6CisgICAgICAgIEFkZCBhIExpc3RJdGVtUm9sZSB0byB0aGUgZW51bS4K
KworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjptc2FhUm9sZUZvclJlbmRlcmVyKToKKyAgICAgICAgUmV0dXJu
IHRoZSByb2xlIGZvciB0aGUgUmVuZGVyT2JqZWN0LCBvciBVbmtub3duUm9sZSBpZiB1bmtub3du
LgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6cm9sZVZhbHVl
Rm9yTVNBQSk6CisgICAgICAgIENhbGwgbXNhYVJvbGVGb3JSZW5kZXJlcigpIHRvIGdldCB0aGUg
cm9sZS4gSWYgaXQgaXMgVW5rbm93blJvbGUsIGZhbGwKKyAgICAgICAgYmFjayB0byBtX3JvbGUu
CisKIDIwMDktMTItMTcgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCBhN2U4Nzc3Li4xNWE0NmQ5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTE2OSw3ICsxNjksOCBAQCBl
bnVtIEFjY2Vzc2liaWxpdHlSb2xlIHsKICAgICBUcmVlSXRlbVJvbGUsCiAgICAgRGlyZWN0b3J5
Um9sZSwKICAgICBFZGl0YWJsZVRleHRSb2xlLAotICAgIAorICAgIExpc3RJdGVtUm9sZSwKKwog
ICAgIC8vIEFSSUEgR3JvdXBpbmcgcm9sZXMKICAgICBMYW5kbWFya0FwcGxpY2F0aW9uUm9sZSwK
ICAgICBMYW5kbWFya0Jhbm5lclJvbGUsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggMjZhNzg5NC4uYmM5NjA2YyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
Y3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
LmNwcApAQCAtMzExNCwxNCArMzExNCwyOCBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdDo6ZGVzY3JpcHRpb25Gb3JNU0FBKCkgY29uc3QKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9
CiAKK3N0YXRpYyBBY2Nlc3NpYmlsaXR5Um9sZSBtc2FhUm9sZUZvclJlbmRlcmVyKGNvbnN0IFJl
bmRlck9iamVjdCogcmVuZGVyZXIpCit7CisgICAgaWYgKCFyZW5kZXJlcikKKyAgICAgICAgcmV0
dXJuIFVua25vd25Sb2xlOworCisgICAgaWYgKHJlbmRlcmVyLT5pc1RleHQoKSkKKyAgICAgICAg
cmV0dXJuIEVkaXRhYmxlVGV4dFJvbGU7CisKKyAgICBpZiAocmVuZGVyZXItPmlzTGlzdEl0ZW0o
KSkKKyAgICAgICAgcmV0dXJuIExpc3RJdGVtUm9sZTsKKworICAgIHJldHVybiBVbmtub3duUm9s
ZTsKK30KKwogQWNjZXNzaWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6cm9s
ZVZhbHVlRm9yTVNBQSgpIGNvbnN0CiB7CiAgICAgaWYgKG1fcm9sZUZvck1TQUEgIT0gVW5rbm93
blJvbGUpCiAgICAgICAgIHJldHVybiBtX3JvbGVGb3JNU0FBOwogCi0gICAgaWYgKG1fcmVuZGVy
ZXIgJiYgbV9yZW5kZXJlci0+aXNUZXh0KCkpCi0gICAgICAgIG1fcm9sZUZvck1TQUEgPSBFZGl0
YWJsZVRleHRSb2xlOwotICAgIGVsc2UKKyAgICBtX3JvbGVGb3JNU0FBID0gbXNhYVJvbGVGb3JS
ZW5kZXJlcihtX3JlbmRlcmVyKTsKKworICAgIGlmIChtX3JvbGVGb3JNU0FBID09IFVua25vd25S
b2xlKQogICAgICAgICBtX3JvbGVGb3JNU0FBID0gbV9yb2xlOwogCiAgICAgcmV0dXJuIG1fcm9s
ZUZvck1TQUE7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0FjY2Vzc2libGVCYXNlLmNwcCBiL1dl
YktpdC93aW4vQWNjZXNzaWJsZUJhc2UuY3BwCmluZGV4IGY4N2JiOTkuLjBiNDJhZTMgMTAwNjQ0
Ci0tLSBhL1dlYktpdC93aW4vQWNjZXNzaWJsZUJhc2UuY3BwCisrKyBiL1dlYktpdC93aW4vQWNj
ZXNzaWJsZUJhc2UuY3BwCkBAIC01NjUsNiArNTY1LDggQEAgc3RhdGljIGxvbmcgTVNBQVJvbGUo
QWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAgICAgICAgY2FzZSBXZWJDb3JlOjpJbWFnZU1hcFJv
bGU6CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6SW1hZ2VSb2xlOgogICAgICAgICAgICAgcmV0dXJu
IFJPTEVfU1lTVEVNX0dSQVBISUM7CisgICAgICAgIGNhc2UgV2ViQ29yZTo6TGlzdEl0ZW1Sb2xl
OgorICAgICAgICAgICAgcmV0dXJuIFJPTEVfU1lTVEVNX0xJU1RJVEVNOwogICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgZGVmYXVsdCByb2xlIGZvciBNU0FBLgog
ICAgICAgICAgICAgcmV0dXJuIFJPTEVfU1lTVEVNX0NMSUVOVDsKZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOGMyYjJmOC4uMjQx
OGFhZiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAwOS0xMi0xNyAgSm9uIEhvbmV5Y3V0dCAgPGpo
b25leWN1dHRAYXBwbGUuY29tPgogCisgICAgICAgIE1TQUE6IEFjY2Vzc2liaWxpdHkgcm9sZSBv
ZiBsaXN0IGl0ZW1zIGlzIHdyb25nCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMyNjg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBBY2Nlc3NpYmxlQmFzZS5jcHA6CisgICAgICAgIChNU0FBUm9sZSk6
CisgICAgICAgIE1ha2UgdGhlIFdlYkNvcmUgbGlzdCBpdGVtIHJvbGUgbWFwIHRvIHRoZSBNU0FB
IGxpc3QgaXRlbSByb2xlLgorCisyMDA5LTEyLTE3ICBKb24gSG9uZXljdXR0ICA8amhvbmV5Y3V0
dEBhcHBsZS5jb20+CisKICAgICAgICAgTVNBQTogQWNjZXNzaWJpbGl0eSByb2xlIG9mIGxpc3Qg
bWFya2VycyBpcyB3cm9uZwogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zMjY4NwotLSAKMS42LjUuMi4xNDMuZzhjYzYyCgo=
</data>
<flag name="review"
          id="27167"
          type_id="1"
          status="+"
          setter="aroben"
    />
    <flag name="commit-queue"
          id="27168"
          type_id="3"
          status="-"
          setter="jhoneycutt"
    />
          </attachment>
      

    </bug>

</bugzilla>