<?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>62335</bug_id>
          
          <creation_ts>2011-06-08 15:47:54 -0700</creation_ts>
          <short_desc>VoiceOver cannot navigate the itunes album view table</short_desc>
          <delta_ts>2011-06-15 04:47:44 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>57463</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>mario</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>417625</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-06-08 15:47:54 -0700</bug_when>
    <thetext>On iOS, VoiceOver cannot navigate the iTunes album view table.

This is a regression from
https://bugs.webkit.org/show_bug.cgi?id=57463</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417627</commentid>
    <comment_count>1</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-06-08 15:49:18 -0700</bug_when>
    <thetext>The problem is how rows of an ARIA grid are determined. The mentioned bug was strangely and wrongly only adding children 1 level deep in the hierarchy. This means that it doesn&apos;t look any farther for table rows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417639</commentid>
    <comment_count>2</comment_count>
      <attachid>96501</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-06-08 15:53:15 -0700</bug_when>
    <thetext>Created attachment 96501
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420536</commentid>
    <comment_count>3</comment_count>
      <attachid>96501</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-06-14 10:24:34 -0700</bug_when>
    <thetext>Comment on attachment 96501
patch

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

r=me with the unsigned =&gt; size_t changes.

&gt; Source/WebCore/accessibility/AccessibilityARIAGrid.cpp:119
&gt; +            unsigned length = children.size();

This should be size_t instead of unsigned.

&gt; Source/WebCore/accessibility/AccessibilityARIAGrid.cpp:120
&gt; +            for (unsigned i = 0; i &lt; length; ++i)

unsigned =&gt; size_t</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420594</commentid>
    <comment_count>4</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-06-14 11:20:49 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/88830</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420665</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-06-14 12:55:16 -0700</bug_when>
    <thetext>fix the leopard test
http://trac.webkit.org/changeset/88843</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420666</commentid>
    <comment_count>6</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-06-14 12:55:58 -0700</bug_when>
    <thetext>I see a GTK test is failing as well. May need Mario&apos;s help to fix that one

 AXRole: table
 AXRole: table
 AXRole: table cell
+AXRole: unknown
 AXRole: table cell
-AXRole: table cell
-AXRole: table cell
+AXRole: unknown
 Test passed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420667</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-06-14 12:56:10 -0700</bug_when>
    <thetext>http://build.webkit.org/results/GTK%20Linux%2064-bit%20Debug/r88840%20(23362)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420875</commentid>
    <comment_count>8</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-06-14 17:19:36 -0700</bug_when>
    <thetext>rdar://9600922. Also affects the desktop</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420912</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-14 18:03:48 -0700</bug_when>
    <thetext>It seems like the test is still faling on Leopard.
http://build.webkit.org/results/Leopard%20Intel%20Release%20(Tests)/r88877%20(33189)/results.html

Could you look into it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420916</commentid>
    <comment_count>10</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-06-14 18:07:35 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; It seems like the test is still faling on Leopard.
&gt; http://build.webkit.org/results/Leopard%20Intel%20Release%20(Tests)/r88877%20(33189)/results.html
&gt; 
&gt; Could you look into it?

looking into why my skipped list change didn&apos;t work</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420918</commentid>
    <comment_count>11</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-06-14 18:11:34 -0700</bug_when>
    <thetext>Fixed for real
http://trac.webkit.org/changeset/88887</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421185</commentid>
    <comment_count>12</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-06-15 04:33:48 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I see a GTK test is failing as well. May need Mario&apos;s help to fix that one
&gt; 
&gt;  AXRole: table
&gt;  AXRole: table
&gt;  AXRole: table cell
&gt; +AXRole: unknown
&gt;  AXRole: table cell
&gt; -AXRole: table cell
&gt; -AXRole: table cell
&gt; +AXRole: unknown
&gt;  Test passed

It seems the problem in GTK with this patch is that the addChild() method expects a row object with the cells as its children, and doesn&apos;t care initially whether that row object is ignoring a11y or not: it will just consider that later on, when deciding whether to add the row object itself to the hierarchy, or just the raw list of children:

  bool AccessibilityARIAGrid::addChild(AccessibilityObject* child, HashSet&lt;AccessibilityObject*&gt;&amp; appendedRows, unsigned&amp; columnCount)
  {
      if (!child || !child-&gt;isTableRow() || child-&gt;ariaRoleAttribute() != RowRole)
          return false;
        
      [...]

      // Try adding the row if it&apos;s not ignoring accessibility,
      // otherwise add its children (the cells) as the grid&apos;s children.
      if (!row-&gt;accessibilityIsIgnored())
          m_children.append(row);
      else
          m_children.append(row-&gt;children());

      appendedRows.add(row);
      return true;
  }

Thus, when we do the following in AccessibilityARIAGrid::addChildren()...

      // The children of this non-row will contain all non-ignored elements (recursing to find them). 
      // This allows the table to dive arbitrarily deep to find the rows.
      AccessibilityChildrenVector children = child-&gt;children();
      unsigned length = children.size();
      for (unsigned i = 0; i &lt; length; ++i)
          addChild(children[i].get(), appendedRows, columnCount);
      }

...nothing is being added to the hierarchy in GTK, because navigating through this AccessibilityChildrenVector, as Chris explained in the comment, will mean navigating through non-ignored elements only, which in GTK means just the cells, as rows won&apos;t be exposed in that platform (yest, weird, but at the moment it&apos;s like that, will change in the future, though [1][2]).

So, the problem I see with this patch, from GTK&apos;s selfish point of view, is that it assumes that rows are not being ignored, which is right for the Mac, but not for GTK at this point.

My proposal to keep this regression fixed while still keep all the parties happy, is just to combine the code before and after this patch with #if - #endif  regions, doing something like this:

   #if PLATFORM(GTK)
      // Do not navigate children through the Accessibility children vector to let addChild() check
      // the result of accessibilityIsIgnored() and make the proper decision.
      AccessibilityObject* grandChild = 0;
      for (grandChild = child-&gt;firstChild(); grandChild; grandChild = grandChild-&gt;nextSibling())
          addChild(grandChild, appendedRows, columnCount);
   #else
     // The children of this non-row will contain all non-ignored elements (recursing to find them). 
     // This allows the table to dive arbitrarily deep to find the rows.
     AccessibilityChildrenVector children = child-&gt;children();
     size_t length = children.size();
     for (size_t i = 0; i &lt; length; ++i)
         addChild(children[i].get(), appendedRows, columnCount);
  #endif


Why I propose this ugly thing? Well, because after all this hack is needed because of a very specific requirement in GTK (not exposing rows) that is needed at the moment, but that was already decided it will change in the future (see ATK hackfest agenda and conclusions in [1] and [2]), so when that happens it will be just a matter of removing this #if PLATFORM(GTK) - #endif region and just leaving the generic one Chris wrote, and that should work for all the parties.

As this seems to be a too-specific thing for GTK, I will file a new bug and propose this patch there, keeping the test skipped while it&apos;s not fixed.

[1] https://live.gnome.org/Hackfests/ATK2011/Agenda
[2] https://live.gnome.org/Hackfests/ATK2011/Agenda/table</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421192</commentid>
    <comment_count>13</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-06-15 04:47:44 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; [...]
&gt; As this seems to be a too-specific thing for GTK, I will file a new bug and propose this patch there, keeping the test skipped while it&apos;s not fixed.

Filed bug 62718 for tracking down this issue. Test skipped in the meanwhile: http://trac.webkit.org/changeset/88919</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96501</attachid>
            <date>2011-06-08 15:53:15 -0700</date>
            <delta_ts>2011-06-14 10:24:34 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>9141</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg4Mzk4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDYtMDggIENocmlzIEZs
ZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBWb2ljZU92ZXIgY2Fubm90IG5hdmlnYXRlIHRoZSBpVHVu
ZXMgYWxidW0gdmlldyB0YWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjIzMzUKKworICAgICAgICBUaGlzIGlzIGEgcmVncmVzc2lvbiBmcm9tIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQ2My4KKyAgICAgICAgUGFy
dCBvZiB0aGF0IHBhdGNoIG1hZGUgYSBjaGFuZ2Ugc28gdGhhdCBhbiBBUklBIHRhYmxlIHdpbGwg
b25seSBsb29rIGF0IGl0J3MgY2hpbGRyZW4gYW5kIGdyYW5kY2hpbGRyZW4KKyAgICAgICAgZm9y
IHBvc3NpYmxlIHJvd3MuIFRoYXQgaG93ZXZlciwgZG9lc24ndCBhbGxvdyBhcmJpdHJhcnkgaGll
cmFyY2hpZXMgdG8gd29yayB3aXRoIEFSSUEsIGxpa2UgaW4gaVR1bmVzIGFsYnVtIHZpZXcuCisK
KyAgICAgICAgVGVzdDogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1ncmlkLXdpdGgt
c3RyYW5nZS1oaWVyYXJjaHkuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5QVJJQUdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eUFSSUFH
cmlkOjphZGRDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5QVJJQUdyaWQ6
OmFkZENoaWxkcmVuKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklB
R3JpZC5oOgorCiAyMDExLTA2LTA4ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDg4Mzk4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTEtMDYtMDggIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBW
b2ljZU92ZXIgY2Fubm90IG5hdmlnYXRlIHRoZSBpdHVuZXMgYWxidW0gdmlldyB0YWJsZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzUKKworICAg
ICAgICAqIHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtZ3JpZC13aXRoLXN0cmFuZ2Ut
aGllcmFyY2h5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Fj
Y2Vzc2liaWxpdHkvYXJpYS1ncmlkLXdpdGgtc3RyYW5nZS1oaWVyYXJjaHkuaHRtbDogQWRkZWQu
CisKIDIwMTEtMDYtMDggIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwCShyZXZpc2lv
biA4ODI2NykKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFS
SUFHcmlkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksMTQgKzU5LDE0IEBACiAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQocmVuZGVyZXIpKTsKIH0KIAotdm9p
ZCBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQ6OmFkZENoaWxkKEFjY2Vzc2liaWxpdHlPYmplY3QqIGNo
aWxkLCBIYXNoU2V0PEFjY2Vzc2liaWxpdHlPYmplY3QqPiYgYXBwZW5kZWRSb3dzLCB1bnNpZ25l
ZCYgY29sdW1uQ291bnQpCitib29sIEFjY2Vzc2liaWxpdHlBUklBR3JpZDo6YWRkQ2hpbGQoQWNj
ZXNzaWJpbGl0eU9iamVjdCogY2hpbGQsIEhhc2hTZXQ8QWNjZXNzaWJpbGl0eU9iamVjdCo+JiBh
cHBlbmRlZFJvd3MsIHVuc2lnbmVkJiBjb2x1bW5Db3VudCkKIHsKICAgICBpZiAoIWNoaWxkIHx8
ICFjaGlsZC0+aXNUYWJsZVJvdygpIHx8IGNoaWxkLT5hcmlhUm9sZUF0dHJpYnV0ZSgpICE9IFJv
d1JvbGUpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAK
ICAgICBBY2Nlc3NpYmlsaXR5VGFibGVSb3cqIHJvdyA9IHN0YXRpY19jYXN0PEFjY2Vzc2liaWxp
dHlUYWJsZVJvdyo+KGNoaWxkKTsKICAgICBpZiAoYXBwZW5kZWRSb3dzLmNvbnRhaW5zKHJvdykp
Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKICAgICAv
LyBzdG9yZSB0aGUgbWF4aW11bSBudW1iZXIgb2YgY29sdW1ucwogICAgIHVuc2lnbmVkIHJvd0Nl
bGxDb3VudCA9IHJvdy0+Y2hpbGRyZW4oKS5zaXplKCk7CkBAIC04NCw2ICs4NCw3IEBACiAgICAg
ICAgIG1fY2hpbGRyZW4uYXBwZW5kKHJvdy0+Y2hpbGRyZW4oKSk7CiAKICAgICBhcHBlbmRlZFJv
d3MuYWRkKHJvdyk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAgICAgCiB2b2lkIEFjY2Vzc2liaWxp
dHlBUklBR3JpZDo6YWRkQ2hpbGRyZW4oKQpAQCAtMTA2LDIwICsxMDcsMTggQEAKICAgICB1bnNp
Z25lZCBjb2x1bW5Db3VudCA9IDA7CiAgICAgZm9yIChSZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVj
dD4gY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGlu
ZygpKSB7CiAKLSAgICAgICAgaWYgKGNoaWxkLT5pc1RhYmxlUm93KCkgfHwgY2hpbGQtPmFyaWFS
b2xlQXR0cmlidXRlKCkgPT0gUm93Um9sZSkKLSAgICAgICAgICAgIGFkZENoaWxkKGNoaWxkLmdl
dCgpLCBhcHBlbmRlZFJvd3MsIGNvbHVtbkNvdW50KTsKLSAgICAgICAgZWxzZSB7CisgICAgICAg
IGlmICghYWRkQ2hpbGQoY2hpbGQuZ2V0KCksIGFwcGVuZGVkUm93cywgY29sdW1uQ291bnQpKSB7
CisgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIGluIGNhc2UgdGhlIHJlbmRlciB0cmVlIGRv
ZXNuJ3QgbWF0Y2ggdGhlIGV4cGVjdGVkIEFSSUEgaGllcmFyY2h5LCBsb29rIGF0IHRoZSBjaGls
ZHJlbgogICAgICAgICAgICAgaWYgKCFjaGlsZC0+aGFzQ2hpbGRyZW4oKSkKICAgICAgICAgICAg
ICAgICBjaGlsZC0+YWRkQ2hpbGRyZW4oKTsKIAotICAgICAgICAgICAgLy8gRG8gbm90IG5hdmln
YXRlIGNoaWxkcmVuIHRocm91Z2ggdGhlIEFjY2Vzc2liaWxpdHkKLSAgICAgICAgICAgIC8vIGNo
aWxkcmVuIHZlY3RvciB0byBsZXQgYWRkQ2hpbGQoKSBjaGVjayB0aGUgcmVzdWx0Ci0gICAgICAg
ICAgICAvLyBvZiBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgYW5kIG1ha2UgdGhlIHByb3Blcgot
ICAgICAgICAgICAgLy8gZGVjaXNpb24gKGFkZCB0aGUgb2JqZWN0cyBvciB0aGVpciBjaGlsZHJl
bikuCi0gICAgICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBncmFuZENoaWxkID0gMDsKLSAg
ICAgICAgICAgIGZvciAoZ3JhbmRDaGlsZCA9IGNoaWxkLT5maXJzdENoaWxkKCk7IGdyYW5kQ2hp
bGQ7IGdyYW5kQ2hpbGQgPSBncmFuZENoaWxkLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAg
ICAgIGFkZENoaWxkKGdyYW5kQ2hpbGQsIGFwcGVuZGVkUm93cywgY29sdW1uQ291bnQpOworICAg
ICAgICAgICAgLy8gVGhlIGNoaWxkcmVuIG9mIHRoaXMgbm9uLXJvdyB3aWxsIGNvbnRhaW4gYWxs
IG5vbi1pZ25vcmVkIGVsZW1lbnRzIChyZWN1cnNpbmcgdG8gZmluZCB0aGVtKS4gCisgICAgICAg
ICAgICAvLyBUaGlzIGFsbG93cyB0aGUgdGFibGUgdG8gZGl2ZSBhcmJpdHJhcmlseSBkZWVwIHRv
IGZpbmQgdGhlIHJvd3MuCisgICAgICAgICAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3Ig
Y2hpbGRyZW4gPSBjaGlsZC0+Y2hpbGRyZW4oKTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGxlbmd0
aCA9IGNoaWxkcmVuLnNpemUoKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBsZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAgICBhZGRDaGlsZChjaGlsZHJlbltpXS5nZXQo
KSwgYXBwZW5kZWRSb3dzLCBjb2x1bW5Db3VudCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eUFSSUFHcmlkLmgJKHJldmlzaW9uIDg4MjY3KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsNyArNTUs
NyBAQAogICAgIC8vIEFSSUEgdHJlZWdyaWRzIGFuZCBncmlkcyBzdXBwb3J0IHNlbGVjdGVkIHJv
d3MuCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2VsZWN0ZWRSb3dzKCkgeyByZXR1cm4gdHJ1
ZTsgfSAgICAKIAotICAgIHZvaWQgYWRkQ2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdCosIEhhc2hT
ZXQ8QWNjZXNzaWJpbGl0eU9iamVjdCo+JiBhcHBlbmRlZFJvd3MsIHVuc2lnbmVkJiBjb2x1bW5D
b3VudCk7CisgICAgYm9vbCBhZGRDaGlsZChBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgSGFzaFNldDxB
Y2Nlc3NpYmlsaXR5T2JqZWN0Kj4mIGFwcGVuZGVkUm93cywgdW5zaWduZWQmIGNvbHVtbkNvdW50
KTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLWdyaWQtd2l0aC1zdHJhbmdlLWhpZXJhcmNoeS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvYXJpYS1ncmlkLXdpdGgtc3RyYW5nZS1oaWVyYXJjaHktZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJp
YS1ncmlkLXdpdGgtc3RyYW5nZS1oaWVyYXJjaHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDE5IEBACivCoAlOYW1lCVRpbWUJUG9wdWxhcml0eQkgUHJpY2UKKzEJVGVzdAlU
ZXN0CVRlc3QKK1RoaXMgdGVzdHMgdGhhdCBhbiBBUklBIGdyaWQgd2l0aCBhIGhpZXJhcmNoeSB0
aGF0IGlnbm9yZXMgcmVuZGVyIGVsZW1lbnRzIGluIGJldHdlZW4gd2lsbCBzdGlsbCBleHBvc2Ug
dGhlIGNvcnJlY3QgZWxlbWVudHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIGdyaWQuY2hpbGRyZW5Db3VudCBpcyA2CitQQVNTIGdyaWQuY2hpbGRBdEluZGV4KDApLnJv
bGUgaXMgJ0FYUm9sZTogQVhSb3cnCitQQVNTIGdyaWQuY2hpbGRBdEluZGV4KDEpLnJvbGUgaXMg
J0FYUm9sZTogQVhDb2x1bW4nCitQQVNTIGdyaWQuY2hpbGRBdEluZGV4KDApLmNoaWxkcmVuQ291
bnQgaXMgNAorUEFTUyBncmlkLmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCkucm9sZSBp
cyAnQVhSb2xlOiBBWENlbGwnCitQQVNTIGdyaWQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRl
eCgwKS5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1MgZ3JpZC5jaGlsZEF0SW5kZXgoMCku
Y2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKS5yb2xlIGlzICdBWFJvbGU6IEFYU3RhdGlj
VGV4dCcKK1BBU1MgZ3JpZC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJ
bmRleCgwKS5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogMScKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLWdyaWQtd2l0aC1zdHJhbmdlLWhpZXJhcmNoeS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2Fy
aWEtZ3JpZC13aXRoLXN0cmFuZ2UtaGllcmFyY2h5Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLWdyaWQtd2l0aC1zdHJhbmdl
LWhpZXJhcmNoeS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcxIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0PgordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNl
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgorCis8ZGl2
IHRhYmluZGV4PTAgaWQ9ImdyaWQiIHJvbGU9ImdyaWQiIGFyaWEtcmVhZG9ubHk9InRydWUiPgor
PGRpdiAgcm9sZT0icHJlc2VudGF0aW9uIj4KKyAgPHRhYmxlIHJvbGU9InByZXNlbnRhdGlvbiI+
CisgICAgICAgICAgPHRoZWFkPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICA8
dGggcm9sZT0iY29sdW1uaGVhZGVyIiBhcmlhLXNvcnQ9ImFzY2VuZGluZyI+Jm5ic3A7PC90aD4K
KyAgICAgICAgICAgICAgICAgPHRoIHJvbGU9ImNvbHVtbmhlYWRlciI+TmFtZTwvdGg+CisgICAg
ICAgICAgICAgICAgIDx0aCByb2xlPSJjb2x1bW5oZWFkZXIiPlRpbWU8L3RoPgorICAgICAgICAg
ICAgICAgICA8dGggcm9sZT0iY29sdW1uaGVhZGVyIj5Qb3B1bGFyaXR5PC90aD4KKyAgICAgICAg
ICAgICAgICAgPHRoIHJvbGU9ImNvbHVtbmhlYWRlciI+IFByaWNlPC90aD4KKyAgICAgICAgICAg
IDwvdHI+CisgICAgICAgICAgPC90aGVhZD4KKyAgICAgCisgICAgPHRib2R5PgorICAgIDx0ciBy
b2xlPSJyb3ciPgorICAgICAgICA8dGQgcm9sZT0iZ3JpZGNlbGwiPgorICAgICAgICAgIDxzcGFu
IGNsYXNzPSJpbmRleCI+PHNwYW4+MTwvc3Bhbj48L3NwYW4+CisgICAgICAgIDwvdGQ+CisgICAg
ICAgIDx0ZCByb2xlPSJncmlkY2VsbCIiPgorICAgICAgICAgIDxzcGFuPjxzcGFuPlRlc3Q8L3Nw
YW4+PC9zcGFuPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQgcm9sZT0iZ3JpZGNlbGwiIj4K
KyAgICAgICAgICA8c3Bhbj48c3Bhbj5UZXN0PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgPC90ZD4K
KyAgICAgICAgPHRkIHJvbGU9ImdyaWRjZWxsIiI+CisgICAgICAgICAgPHNwYW4+PHNwYW4+VGVz
dDwvc3Bhbj48L3NwYW4+CisgICAgICAgIDwvdGQ+CisgICAgPC90cj4gICAKKzwvdGFibGU+PC9k
aXY+PC9kaXY+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhbiBB
UklBIGdyaWQgd2l0aCBhIGhpZXJhcmNoeSB0aGF0IGlnbm9yZXMgcmVuZGVyIGVsZW1lbnRzIGlu
IGJldHdlZW4gd2lsbCBzdGlsbCBleHBvc2UgdGhlIGNvcnJlY3QgZWxlbWVudHMuIik7CisKKyAg
ICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisKKyAgICAgICAgICAvLyB0
aGlzIHRleHQgZmllbGQgc2hvdWxkIGJlIHJlcXVpcmVkLgorICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJncmlkIikuZm9jdXMoKTsKKyAgICAgICAgICB2YXIgZ3JpZCA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgICAgICAgc2hvdWxkQmUo
ImdyaWQuY2hpbGRyZW5Db3VudCIsICI2Iik7CisgICAgICAgICAgc2hvdWxkQmUoImdyaWQuY2hp
bGRBdEluZGV4KDApLnJvbGUiLCAiJ0FYUm9sZTogQVhSb3cnIik7CisgICAgICAgICAgc2hvdWxk
QmUoImdyaWQuY2hpbGRBdEluZGV4KDEpLnJvbGUiLCAiJ0FYUm9sZTogQVhDb2x1bW4nIik7CisK
KyAgICAgICAgICBzaG91bGRCZSgiZ3JpZC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRyZW5Db3VudCIs
ICI0Iik7CisgICAgICAgICAgc2hvdWxkQmUoImdyaWQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJ
bmRleCgwKS5yb2xlIiwgIidBWFJvbGU6IEFYQ2VsbCciKTsKKworICAgICAgICAgIHNob3VsZEJl
KCJncmlkLmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCkucm9sZSIsICInQVhSb2xlOiBB
WENlbGwnIik7CisgICAgICAgICAgc2hvdWxkQmUoImdyaWQuY2hpbGRBdEluZGV4KDApLmNoaWxk
QXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCkucm9sZSIsICInQVhSb2xlOiBBWFN0YXRpY1RleHQn
Iik7CisgICAgICAgICAgc2hvdWxkQmUoImdyaWQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRl
eCgwKS5jaGlsZEF0SW5kZXgoMCkuc3RyaW5nVmFsdWUiLCAiJ0FYVmFsdWU6IDEnIik7CisKKyAg
ICB9CisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="90206"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
    <flag name="commit-queue"
          id="91000"
          type_id="3"
          status="-"
          setter="ddkilzer"
    />
          </attachment>
      

    </bug>

</bugzilla>