<?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>55883</bug_id>
          
          <creation_ts>2011-03-07 10:41:20 -0800</creation_ts>
          <short_desc>[Gtk] Consistent crash from Google/ARIA combobox click</short_desc>
          <delta_ts>2011-03-30 11:18:49 -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>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://translate.google.com</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>30796</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mario</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>363402</commentid>
    <comment_count>0</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2011-03-07 10:41:20 -0800</bug_when>
    <thetext>Steps to reproduce:

1. view translate.google.com
2. click on the left-most combo box (source lang)

I reliably segfault: http://pastebin.com/VZHNginK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363521</commentid>
    <comment_count>1</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-03-07 13:06:49 -0800</bug_when>
    <thetext>Do you need to have particular GTK+ modules enabled to see this crash?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363676</commentid>
    <comment_count>2</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2011-03-07 16:35:43 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Do you need to have particular GTK+ modules enabled to see this crash?

A11y support.

$ env | grep GTK
GTK_MODULES=canberra-gtk-module:gail:atk-bridge

~~~~~~~~~

(In reply to a discussion Mario and I had via IRC)

I&apos;ve looked at regular ol&apos; combo boxes and confirmed that they are not spitting up. As discussed, 25531 is not for ARIA; 30796 is. Changing blockers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375208</commentid>
    <comment_count>3</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-03-29 05:26:26 -0700</bug_when>
    <thetext>It looks like the problem is an infinite loop cause by the call to firstChild() in the following snipped of code:

  AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
  {
      [...]

      if (isGroup()) {
          // When a list item is made up entirely of children (e.g. paragraphs)
          // the list item gets ignored. We need it.
          if (parent-&gt;isList())
              return IncludeObject;

          // We expect the parent of a table cell to be a table.
          AccessibilityObject* child = firstChild();
          if (child &amp;&amp; child-&gt;roleValue() == CellRole)
              return IgnoreObject;
      }
      [...]
  }


This snippet is normally not troublesome, but when the &apos;first child&apos; is something with an ARIA role established to either &apos;option&apos; or &apos;menuitem&apos; (as it happens in this case), at some point during the execution of firstChild(), the following code will be executed:

  AccessibilityRole AccessibilityRenderObject::determineAriaRoleAttribute() const
  {
      [...]
      // selects and listboxes both have options as child roles, but they map to different roles within WebCore
      if (equalIgnoringCase(ariaRole, &quot;option&quot;)) {
          if (parentObjectUnignored()-&gt;ariaRoleAttribute() == MenuRole)
              return MenuItemRole;
          if (parentObjectUnignored()-&gt;ariaRoleAttribute() == ListBoxRole)
              return ListBoxOptionRole;
      }
      // an aria &quot;menuitem&quot; may map to MenuButton or MenuItem depending on its parent
      if (equalIgnoringCase(ariaRole, &quot;menuitem&quot;)) {
          if (parentObjectUnignored()-&gt;ariaRoleAttribute() == GroupRole)
              return MenuButtonRole;
          if (parentObjectUnignored()-&gt;ariaRoleAttribute() == MenuRole)
              return MenuItemRole;
      }
    
      return UnknownRole;
  }

As you can see parentObjectUnignored() is executed before determining the actual ARIA role for that first child, and this happens before returning the instance when it&apos;s the first time it&apos;s accessed (while creating the AX object through AXObjectCache), resulting in calling again to accessibilityPlatformIncludesObject() over the same instance as done at the beginning, hence starting a new iteration of our beloved infinite loop :P

Perhaps a way to get this fixed would be to try to avoid calling to firstChild() in accessibilityPlatformIncludesObject() as a rule of thumb, or just removing completely this code:

   [...]
   // We expect the parent of a table cell to be a table.
   AccessibilityObject* child = firstChild();
   if (child &amp;&amp; child-&gt;roleValue() == CellRole)
       return IgnoreObject;
   [...]

... and then trying to get some equivalent code for that in case we think it&apos;s really needed after all (which is something I currently have doubts about, since just removing that fixed the bug and doesn&apos;t get any unit/layout test failing).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375250</commentid>
    <comment_count>4</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-03-29 06:23:40 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; [...]
&gt; Perhaps a way to get this fixed would be to try to avoid calling to 
&gt; firstChild() in accessibilityPlatformIncludesObject() as a rule of thumb, or 
&gt; just removing completely this code:
&gt; 
&gt;    [...]
&gt;    // We expect the parent of a table cell to be a table.
&gt;    AccessibilityObject* child = firstChild();
&gt;    if (child &amp;&amp; child-&gt;roleValue() == CellRole)
&gt;        return IgnoreObject;
&gt;    [...]
&gt; 
&gt; ... and then trying to get some equivalent code for that in case we think it&apos;s 
&gt; really needed after all (which is something I currently have doubts about, 
&gt; since just removing that fixed the bug and doesn&apos;t get any unit/layout test 
&gt; failing).

I&apos;ve just done some investigation and found out that these lines of code were introduced along with SVN revision 55623 (http://trac.webkit.org/changeset/55623), where a new layout test was also added: http://trac.webkit.org/changeset/55623

I&apos;ve executed that test after completely removing those lines and still succeeds, as well as the rest of the non-skipped a11y tests, hence I think perhaps that code is no longer needed so it could be safely removed.

Expect a patch in a while, then...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375346</commentid>
    <comment_count>5</comment_count>
      <attachid>87332</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-03-29 08:05:53 -0700</bug_when>
    <thetext>Created attachment 87332
Patch proposal + Layout test

As promised, here you have the patch for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375609</commentid>
    <comment_count>6</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-03-29 11:50:48 -0700</bug_when>
    <thetext>Committed r82296: &lt;http://trac.webkit.org/changeset/82296&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376430</commentid>
    <comment_count>7</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2011-03-30 10:12:06 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; 
&gt; I&apos;ve executed that test after completely removing those lines and still succeeds, as well as the rest of the non-skipped a11y tests, hence I think perhaps that code is no longer needed so it could be safely removed.

Just for the record, I looked at some tables with the latest from master, and I&apos;m not seeing any table weirdness like I was back in the days of that patch. So I believe you are correct. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376492</commentid>
    <comment_count>8</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-03-30 11:18:49 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; 
&gt; &gt; I&apos;ve executed that test after completely removing those lines and still succeeds, as well as the rest of the non-skipped a11y tests, hence I think perhaps that code is no longer needed so it could be safely removed.
&gt; 
&gt; Just for the record, I looked at some tables with the latest from master, and I&apos;m not seeing any table weirdness like I was back in the days of that patch. So I believe you are correct. :-)

That&apos;s great news! Thanks for sharing, Joanie :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87332</attachid>
            <date>2011-03-29 08:05:53 -0700</date>
            <delta_ts>2011-03-29 11:37:06 -0700</delta_ts>
            <desc>Patch proposal + Layout test</desc>
            <filename>0001-2011-03-29-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>7345</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBhNzlkZmVkNWI4MDAxYzAxZThkMDc3NTU4ZWE2NWRlZDNiODViYWQ4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBUdWUsIDI5IE1hciAyMDExIDE1OjUyOjU3ICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMS0wMy0yOSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR3RrXSBDb25z
aXN0ZW50IGNyYXNoIGZyb20gR29vZ2xlL0FSSUEgY29tYm9ib3ggY2xpY2sKICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU4ODMKCiAgICAgICAgRG8gbm90
IGNhbGwgdG8gZmlyc3RDaGlsZCgpIHRvIGF2b2lkIGVudGVyaW5nIGludG8gaW5maW5pdGUgbG9v
cHMuCgogICAgICAgIFRoaXMgd291bGQgaGFwcGVuIHdoZW4gY3VycmVudCBpdGVtIGlzIGEgV2Vi
Q29yZSBHcm91cCBhbmQgc29tZSBvZgogICAgICAgIGl0cyBjaGlsZHJlbiBoYXZlIGVpdGhlciBy
b2xlICdvcHRpb24nIG9yICdtZW51aXRlbScuIE90aGVyIHRoYW4KICAgICAgICB0aGF0IHRoZSBs
b2dpYyBiZWhpbmQgdGhhdCBjYWxsIHRvIGZpcnN0Q2hpbGQoKSBzZWVtcyB0byBiZSBubwogICAg
ICAgIGxvbmdlciBuZWVkZWQgc28gaXQncyBzYWZlIHRvIHJlbW92ZSBpdC4KCiAgICAgICAgVGVz
dDogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1vcHRpb25zLWFuZC1tZW51aXRlbXMt
Y3Jhc2guaHRtbAoKICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmpl
Y3RBdGsuY3BwOgogICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3Np
YmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCk6CiAgICAgICAgUmVtb3ZlIGNhbGwgdG8gZmly
c0NoaWxkLCB3aGljaCB3YXMgbGVhZGluZyB0byBjcmFzaGVzIHNvbWV0aW1lcy4KCjIwMTEtMDMt
MjkgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgoKICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgW0d0a10gQ29uc2lzdGVudCBjcmFz
aCBmcm9tIEdvb2dsZS9BUklBIGNvbWJvYm94IGNsaWNrCiAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1ODgzCgogICAgICAgIEFkZGVkIG5ldyBsYXlvdXQg
dGVzdCB0byBjaGVjayB0aGlzIGRvZXNuJ3QgY3Jhc2ggYW55bW9yZSBpbiBHVEsuCgogICAgICAg
ICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1vcHRpb25zLWFuZC1tZW51aXRlbXMt
Y3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3Np
YmlsaXR5L2FyaWEtb3B0aW9ucy1hbmQtbWVudWl0ZW1zLWNyYXNoLmh0bWw6IEFkZGVkLgotLS0K
IExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAx
MiArKysrKysKIC4uLi9hcmlhLW9wdGlvbnMtYW5kLW1lbnVpdGVtcy1jcmFzaC1leHBlY3RlZC50
eHQgIHwgICAxMSArKysrKysKIC4uLi9hcmlhLW9wdGlvbnMtYW5kLW1lbnVpdGVtcy1jcmFzaC5o
dG1sICAgICAgICAgIHwgICAzNiArKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIwICsrKysrKysrKysrCiAu
Li4vYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAgICB8ICAgMTUg
KystLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25z
KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvYXJpYS1vcHRpb25zLWFuZC1tZW51aXRlbXMtY3Jhc2gtZXhwZWN0ZWQudHh0CiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJp
YS1vcHRpb25zLWFuZC1tZW51aXRlbXMtY3Jhc2guaHRtbAoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYWIyN2U5Li4yZDc1
YWIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMtMjkgIE1hcmlvIFNhbmNoZXogUHJh
ZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtHdGtdIENvbnNpc3RlbnQgY3Jhc2ggZnJvbSBHb29nbGUvQVJJ
QSBjb21ib2JveCBjbGljaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTU4ODMKKworICAgICAgICBBZGRlZCBuZXcgbGF5b3V0IHRlc3QgdG8gY2hlY2sg
dGhpcyBkb2Vzbid0IGNyYXNoIGFueW1vcmUgaW4gR1RLLgorCisgICAgICAgICogcGxhdGZvcm0v
Z3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1vcHRpb25zLWFuZC1tZW51aXRlbXMtY3Jhc2gtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlh
LW9wdGlvbnMtYW5kLW1lbnVpdGVtcy1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxMS0wMy0yOCAg
WXV0YSBLaXRhbXVyYSAgPHl1dGFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LiBZZXQgYW5vdGhlciB0ZXN0IHJlc3VsdCBmaXggZm9yIGZhc3QvYmxvY2tmbG93L2ZhbGxiYWNr
LW9yaWVudGF0aW9uLWV4cGVjdGVkLmh0bWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLW9wdGlvbnMtYW5kLW1lbnVpdGVtcy1jcmFzaC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlh
LW9wdGlvbnMtYW5kLW1lbnVpdGVtcy1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZTgwNTFlYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtb3B0aW9ucy1hbmQtbWVudWl0ZW1z
LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitBbiBBUklBIG1lbnUgaXRlbQor
QW4gQVJJQSBvcHRpb24KK1RoaXMgdGVzdHMgdGhhdCBoYXZpbmcgZWxlbWVudHMgd2l0aCBBUklB
IHJvbGUgJ29wdGlvbicgb3IgJ21lbnVpdGVtJyBhcyBjaGlsZHJlbiBvZiBzb21ldGhpbmcgb2Yg
R3JvdXAgcm9sZSBkb2VzIG5vdCBjcmFzaC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLW9w
dGlvbnMtYW5kLW1lbnVpdGVtcy1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvYXJpYS1vcHRpb25zLWFuZC1tZW51aXRlbXMtY3Jhc2guaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDRjZWNkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1vcHRpb25zLWFu
ZC1tZW51aXRlbXMtY3Jhc2guaHRtbApAQCAtMCwwICsxLDM2IEBACis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0PgordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgorPGRpdiByb2xl
PSJtZW51aXRlbSI+QW4gQVJJQSBtZW51IGl0ZW08L2Rpdj4KKzxkaXYgcm9sZT0ib3B0aW9uIj5B
biBBUklBIG9wdGlvbjwvZGl2PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGhh
dmluZyBlbGVtZW50cyB3aXRoIEFSSUEgcm9sZSAnb3B0aW9uJyBvciAnbWVudWl0ZW0nIGFzIGNo
aWxkcmVuIG9mIHNvbWV0aGluZyBvZiBHcm91cCByb2xlIGRvZXMgbm90IGNyYXNoLiIpOworCitp
ZiAod2luZG93LmxheW91dENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Cit9CisKK2lmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsK
KyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9keSIpLmZvY3VzKCk7CisgICAgd2ViQXJl
YSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgLy8gSnVz
dCB0cnlpbmcgdG8gZ2V0IHRoZSBhY2Nlc3NpYmxlIG9iamVjdHMgZm9yIHRoZSBlbGVtZW50cyB3
aXRoCisgICAgLy8gcm9sZSAnb3B0aW9uJyBhbmQgJ21lbnVpdGVtJyBzaG91bGRuJ3QgbWFrZSB0
aGlzIGNyYXNoLgorICAgIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgwKTsKKyAgICBl
bGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMSk7Cit9CisKK3N1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZDBhMDc5MS4uZDUyOWRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisy
MDExLTAzLTI5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR3RrXSBDb25z
aXN0ZW50IGNyYXNoIGZyb20gR29vZ2xlL0FSSUEgY29tYm9ib3ggY2xpY2sKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1ODgzCisKKyAgICAgICAgRG8g
bm90IGNhbGwgdG8gZmlyc3RDaGlsZCgpIHRvIGF2b2lkIGVudGVyaW5nIGludG8gaW5maW5pdGUg
bG9vcHMuCisKKyAgICAgICAgVGhpcyB3b3VsZCBoYXBwZW4gd2hlbiBjdXJyZW50IGl0ZW0gaXMg
YSBXZWJDb3JlIEdyb3VwIGFuZCBzb21lIG9mCisgICAgICAgIGl0cyBjaGlsZHJlbiBoYXZlIGVp
dGhlciByb2xlICdvcHRpb24nIG9yICdtZW51aXRlbScuIE90aGVyIHRoYW4KKyAgICAgICAgdGhh
dCB0aGUgbG9naWMgYmVoaW5kIHRoYXQgY2FsbCB0byBmaXJzdENoaWxkKCkgc2VlbXMgdG8gYmUg
bm8KKyAgICAgICAgbG9uZ2VyIG5lZWRlZCBzbyBpdCdzIHNhZmUgdG8gcmVtb3ZlIGl0LgorCisg
ICAgICAgIFRlc3Q6IHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtb3B0aW9ucy1hbmQt
bWVudWl0ZW1zLWNyYXNoLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vz
c2liaWxpdHlPYmplY3RBdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9i
amVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QpOgorICAgICAgICBSZW1v
dmUgY2FsbCB0byBmaXJzQ2hpbGQsIHdoaWNoIHdhcyBsZWFkaW5nIHRvIGNyYXNoZXMgc29tZXRp
bWVzLgorCiAyMDExLTAzLTI4ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmpl
Y3RBdGsuY3BwCmluZGV4IGM4YzE5NTEuLmIzZWY1YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3Bw
CkBAIC00MywxNyArNDMsMTAgQEAgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3Np
YmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc08KICAgICBpZiAocm9s
ZVZhbHVlKCkgPT0gU3BsaXR0ZXJSb2xlKQogICAgICAgICByZXR1cm4gSW5jbHVkZU9iamVjdDsK
IAotICAgIGlmIChpc0dyb3VwKCkpIHsKLSAgICAgICAgLy8gV2hlbiBhIGxpc3QgaXRlbSBpcyBt
YWRlIHVwIGVudGlyZWx5IG9mIGNoaWxkcmVuIChlLmcuIHBhcmFncmFwaHMpCi0gICAgICAgIC8v
IHRoZSBsaXN0IGl0ZW0gZ2V0cyBpZ25vcmVkLiBXZSBuZWVkIGl0LgotICAgICAgICBpZiAocGFy
ZW50LT5pc0xpc3QoKSkKLSAgICAgICAgICAgIHJldHVybiBJbmNsdWRlT2JqZWN0OwotCi0gICAg
ICAgIC8vIFdlIGV4cGVjdCB0aGUgcGFyZW50IG9mIGEgdGFibGUgY2VsbCB0byBiZSBhIHRhYmxl
LgotICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsKLSAg
ICAgICAgaWYgKGNoaWxkICYmIGNoaWxkLT5yb2xlVmFsdWUoKSA9PSBDZWxsUm9sZSkKLSAgICAg
ICAgICAgIHJldHVybiBJZ25vcmVPYmplY3Q7Ci0gICAgfQorICAgIC8vIFdoZW4gYSBsaXN0IGl0
ZW0gaXMgbWFkZSB1cCBlbnRpcmVseSBvZiBjaGlsZHJlbiAoZS5nLiBwYXJhZ3JhcGhzKQorICAg
IC8vIHRoZSBsaXN0IGl0ZW0gZ2V0cyBpZ25vcmVkLiBXZSBuZWVkIGl0LgorICAgIGlmIChpc0dy
b3VwKCkgJiYgcGFyZW50LT5pc0xpc3QoKSkKKyAgICAgICAgcmV0dXJuIEluY2x1ZGVPYmplY3Q7
CiAKICAgICAvLyBFbnRyaWVzIGFuZCBwYXNzd29yZCBmaWVsZHMgaGF2ZSBleHRyYW5lb3VzIGNo
aWxkcmVuIHdoaWNoIHdlIHdhbnQgdG8gaWdub3JlLgogICAgIGlmIChwYXJlbnQtPmlzUGFzc3dv
cmRGaWVsZCgpIHx8IHBhcmVudC0+aXNUZXh0Q29udHJvbCgpKQotLSAKMS43LjQKCg==
</data>
<flag name="review"
          id="79746"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>