<?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>158876</bug_id>
          
          <creation_ts>2016-06-17 10:19:40 -0700</creation_ts>
          <short_desc>AX: HTML indeterminate IDL attribute not mapped to checkbox value=2 for native checkboxes</short_desc>
          <delta_ts>2016-06-17 18:19:19 -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>Other</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>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1203334</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-06-17 10:19:40 -0700</bug_when>
    <thetext>Indeterminate not working on native checkboxes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203335</commentid>
    <comment_count>1</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-06-17 10:19:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/26842619&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203336</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-06-17 10:20:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/26864598&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203361</commentid>
    <comment_count>3</comment_count>
      <attachid>281571</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-06-17 11:44:59 -0700</bug_when>
    <thetext>Created attachment 281571
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203469</commentid>
    <comment_count>4</comment_count>
      <attachid>281571</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-06-17 16:29:04 -0700</bug_when>
    <thetext>Comment on attachment 281571
patch

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

&gt; LayoutTests/accessibility/checkbox-mixed-value.html:27
&gt; +              debug(element.stringValue + &quot;\n&quot;);

Please use (at least*) AccessibilityUIElement::isIndeterminate(). On my platform, exposure of this property is not through string value, but through state.

* &quot;at least&quot; because I think that is sufficient -- unless you want to not just verify not indeterminate, but also not checked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203471</commentid>
    <comment_count>5</comment_count>
      <attachid>281571</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-06-17 16:30:44 -0700</bug_when>
    <thetext>Comment on attachment 281571
patch

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

&gt;&gt; LayoutTests/accessibility/checkbox-mixed-value.html:27
&gt;&gt; +              debug(element.stringValue + &quot;\n&quot;);
&gt; 
&gt; Please use (at least*) AccessibilityUIElement::isIndeterminate(). On my platform, exposure of this property is not through string value, but through state.
&gt; 
&gt; * &quot;at least&quot; because I think that is sufficient -- unless you want to not just verify not indeterminate, but also not checked.

In this case we want to test that value ends up producing a 2 instead of 0. Maybe I should just move this to the Mac platform in that case? What do you think</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203475</commentid>
    <comment_count>6</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-06-17 16:49:14 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 281571 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=281571&amp;action=review
&gt; 
&gt; &gt;&gt; LayoutTests/accessibility/checkbox-mixed-value.html:27
&gt; &gt;&gt; +              debug(element.stringValue + &quot;\n&quot;);
&gt; &gt; 
&gt; &gt; Please use (at least*) AccessibilityUIElement::isIndeterminate(). On my platform, exposure of this property is not through string value, but through state.
&gt; &gt; 
&gt; &gt; * &quot;at least&quot; because I think that is sufficient -- unless you want to not just verify not indeterminate, but also not checked.
&gt; 
&gt; In this case we want to test that value ends up producing a 2 instead of 0.
&gt; Maybe I should just move this to the Mac platform in that case? What do you
&gt; think

I think the test belongs cross-platform if possible. Here&apos;s your platform&apos;s method:

bool AccessibilityUIElement::isIndeterminate() const
{
    BOOL result = NO;
    BEGIN_AX_OBJC_EXCEPTIONS
    id value = [m_element accessibilityAttributeValue:NSAccessibilityValueAttribute];
    if ([value isKindOfClass:[NSNumber class]])
        result = [value intValue] == 2;
    END_AX_OBJC_EXCEPTIONS
    return result;
}

Does that not verify that the value ends up producing a 2 instead of 0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203476</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-06-17 16:51:29 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Comment on attachment 281571 [details]
&gt; &gt; patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=281571&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; LayoutTests/accessibility/checkbox-mixed-value.html:27
&gt; &gt; &gt;&gt; +              debug(element.stringValue + &quot;\n&quot;);
&gt; &gt; &gt; 
&gt; &gt; &gt; Please use (at least*) AccessibilityUIElement::isIndeterminate(). On my platform, exposure of this property is not through string value, but through state.
&gt; &gt; &gt; 
&gt; &gt; &gt; * &quot;at least&quot; because I think that is sufficient -- unless you want to not just verify not indeterminate, but also not checked.
&gt; &gt; 
&gt; &gt; In this case we want to test that value ends up producing a 2 instead of 0.
&gt; &gt; Maybe I should just move this to the Mac platform in that case? What do you
&gt; &gt; think
&gt; 
&gt; I think the test belongs cross-platform if possible. Here&apos;s your platform&apos;s
&gt; method:
&gt; 
&gt; bool AccessibilityUIElement::isIndeterminate() const
&gt; {
&gt;     BOOL result = NO;
&gt;     BEGIN_AX_OBJC_EXCEPTIONS
&gt;     id value = [m_element
&gt; accessibilityAttributeValue:NSAccessibilityValueAttribute];
&gt;     if ([value isKindOfClass:[NSNumber class]])
&gt;         result = [value intValue] == 2;
&gt;     END_AX_OBJC_EXCEPTIONS
&gt;     return result;
&gt; }
&gt; 
&gt; Does that not verify that the value ends up producing a 2 instead of 0?

Good point. That should do it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203478</commentid>
    <comment_count>8</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-06-17 17:00:17 -0700</bug_when>
    <thetext>BTW, from a quick glance at window&apos;s DRT (are they still using that?), AccessibilityUIElement::isIndeterminate() is not implemented. If they are still using DRT, skipping for Windows is probably going to be needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203479</commentid>
    <comment_count>9</comment_count>
      <attachid>281598</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-06-17 17:02:38 -0700</bug_when>
    <thetext>Created attachment 281598
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203494</commentid>
    <comment_count>10</comment_count>
      <attachid>281598</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-06-17 17:51:05 -0700</bug_when>
    <thetext>Comment on attachment 281598
patch

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

&gt; LayoutTests/accessibility/checkbox-mixed-value.html:27
&gt; +              debug(&quot;Indeterminate status: &quot; + element.isIndeterminate + &quot;\n&quot;);

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203506</commentid>
    <comment_count>11</comment_count>
      <attachid>281598</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-17 18:19:15 -0700</bug_when>
    <thetext>Comment on attachment 281598
patch

Clearing flags on attachment: 281598

Committed r202194: &lt;http://trac.webkit.org/changeset/202194&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203507</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-17 18:19:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281571</attachid>
            <date>2016-06-17 11:44:59 -0700</date>
            <delta_ts>2016-06-17 17:02:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5493</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMjE3MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA2LTE3ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEhUTUwgaW5kZXRl
cm1pbmF0ZSBJREwgYXR0cmlidXRlIG5vdCBtYXBwZWQgdG8gY2hlY2tib3ggdmFsdWU9MiBmb3Ig
bmF0aXZlIGNoZWNrYm94ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1ODg3NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjY4NDI2MTk+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGluZGV0ZXJt
aW5hdGUgc3RhdGUgd2FzIG5vdCBiZWluZyByZXBvcnRlZCBmb3IgbmF0aXZlIGNoZWNrYm94ZXMu
IAorCisgICAgICAgIEFsc28gdGhlIGlzSW5kZXRlcm1pbmF0ZSgpIG1ldGhvZCB3YXMgcmVseWlu
ZyBvbiB3aGV0aGVyIHRoZSBhcHBlYXJhbmNlIGNoYW5nZWQsIHdoaWNoIGRvZXMgbm90IGhhcHBl
biBvbiBNYWMsIHNvIHRoYXQKKyAgICAgICAgd2FzIG5vdCBiZWluZyByZXBvcnRlZCBjb3JyZWN0
bHkuIENoYW5nZWQgdGhhdCB0byBjaGVjayB0aGUgYWN0dWFsIGF0dHJpYnV0ZS4KKworICAgICAg
ICBUZXN0OiBhY2Nlc3NpYmlsaXR5L2NoZWNrYm94LW1peGVkLXZhbHVlLmh0bWwKKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmlzSW5kZXRlcm1pbmF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNQcmVzc2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpjaGVja2JveE9yUmFkaW9WYWx1
ZSk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmNoZWNrYm94T3JSYWRpb1ZhbHVl
KToKKwogMjAxNi0wNi0xNyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgW1dpbl0gU2Nyb2xsaW5nIGluIHBvcHVwIG1lbnUgc2Nyb2xscyBwYXN0IGxhc3Qg
ZW50cnkuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAkocmV2aXNpb24gMjAyMTMzKQorKysgU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTY2NSw4ICs2NjUsNyBAQAogCiBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0Ojppc0luZGV0ZXJtaW5hdGUoKSBjb25zdAogewotICAgIGF1dG8qIG5vZGUgPSB0aGlzLT5u
b2RlKCk7Ci0gICAgcmV0dXJuIGlzPEhUTUxJbnB1dEVsZW1lbnQ+KG5vZGUpICYmIGRvd25jYXN0
PEhUTUxJbnB1dEVsZW1lbnQ+KCpub2RlKS5zaG91bGRBcHBlYXJJbmRldGVybWluYXRlKCk7Cisg
ICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGdldEF0dHJpYnV0ZShpbmRl
dGVybWluYXRlQXR0ciksICJ0cnVlIik7CiB9CiAKIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3Q6OmlzUHJlc3NlZCgpIGNvbnN0CkBAIC05MzgsNyArOTM3LDcgQEAKIEFjY2Vzc2liaWxpdHlC
dXR0b25TdGF0ZSBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y2hlY2tib3hPclJhZGlvVmFsdWUo
KSBjb25zdAogewogICAgIGlmIChpc05hdGl2ZUNoZWNrYm94T3JSYWRpbygpKQotICAgICAgICBy
ZXR1cm4gaXNDaGVja2VkKCkgPyBCdXR0b25TdGF0ZU9uIDogQnV0dG9uU3RhdGVPZmY7CisgICAg
ICAgIHJldHVybiBpc0luZGV0ZXJtaW5hdGUoKSA/IEJ1dHRvblN0YXRlTWl4ZWQgOiBpc0NoZWNr
ZWQoKSA/IEJ1dHRvblN0YXRlT24gOiBCdXR0b25TdGF0ZU9mZjsKIAogICAgIHJldHVybiBBY2Nl
c3NpYmlsaXR5T2JqZWN0OjpjaGVja2JveE9yUmFkaW9WYWx1ZSgpOwogfQpJbmRleDogU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3Bw
CShyZXZpc2lvbiAyMDIxMzMpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDk4LDcgKzI0OTgsNyBAQAog
ICAgICAgICByZXR1cm4gQnV0dG9uU3RhdGVNaXhlZDsKICAgICB9CiAgICAgCi0gICAgaWYgKGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGdldEF0dHJpYnV0ZShpbmRldGVybWluYXRlQXR0
ciksICJ0cnVlIikpCisgICAgaWYgKGlzSW5kZXRlcm1pbmF0ZSgpKQogICAgICAgICByZXR1cm4g
QnV0dG9uU3RhdGVNaXhlZDsKICAgICAKICAgICByZXR1cm4gQnV0dG9uU3RhdGVPZmY7CkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMDIxMzMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wNi0xNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxl
aXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBIVE1MIGluZGV0ZXJtaW5hdGUgSURMIGF0
dHJpYnV0ZSBub3QgbWFwcGVkIHRvIGNoZWNrYm94IHZhbHVlPTIgZm9yIG5hdGl2ZSBjaGVja2Jv
eGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg4
NzYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI2ODQyNjE5PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaGVja2JveC1t
aXhlZC12YWx1ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
Y2hlY2tib3gtbWl4ZWQtdmFsdWUuaHRtbDogQWRkZWQuCisKIDIwMTYtMDYtMTUgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPUyBXSzJdIE9uIGlQ
YWQsIGluZGlyZWN0IGZvY3Vzc2luZyBvZiBhIHRleHQgZmllbGQgZG9lc24ndCBhbHdheXMgc2Ny
b2xsIHRvIHRoZSBjb3JyZWN0IGxvY2F0aW9uCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2NoZWNrYm94LW1peGVkLXZhbHVlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2NoZWNrYm94LW1peGVkLXZhbHVlLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvY2hlY2tib3gtbWl4ZWQt
dmFsdWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKK1Rlc3Rz
IHdoZXRoZXIgbWl4ZWQgdmFsdWVzIGFyZSByZXBvcnRlZCBwcm9wZXJseSBvbiBuYXRpdmUgY2hl
Y2tib3hlcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKzE6IEFYUm9sZTogQVhD
aGVja0JveAorQVhWYWx1ZTogMgorCisyOiBBWFJvbGU6IEFYQ2hlY2tCb3gKK0FYVmFsdWU6IDAK
KworMzogQVhSb2xlOiBBWENoZWNrQm94CitBWFZhbHVlOiAwCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L2NoZWNrYm94LW1peGVkLXZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9jaGVja2JveC1taXhlZC12YWx1ZS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9jaGVja2JveC1taXhlZC12YWx1ZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJi
b2R5Ij4KKworPGRpdiBpZD0iY29udGVudCI+CisKKzxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9
ImVsZW1lbnQxIiBpbmRldGVybWluYXRlPSJ0cnVlIj4KKzxpbnB1dCB0eXBlPSJjaGVja2JveCIg
aWQ9ImVsZW1lbnQyIiBpbmRldGVybWluYXRlPSJmYWxzZSI+Cis8aW5wdXQgdHlwZT0iY2hlY2ti
b3giIGlkPSJlbGVtZW50MyI+CisKKzwvZGl2PgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVzY3JpcHRpb24o
IlRlc3RzIHdoZXRoZXIgbWl4ZWQgdmFsdWVzIGFyZSByZXBvcnRlZCBwcm9wZXJseSBvbiBuYXRp
dmUgY2hlY2tib3hlcy4iKTsKKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIpIHsKKyAgICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8PSAzOyBpKyspIHsKKyAgICAgICAg
ICAgICAgdmFyIGVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoImVsZW1lbnQiICsgaSk7CisgICAgICAgICAgICAgIGRlYnVnKGkgKyAiOiAiICsg
ZWxlbWVudC5yb2xlKTsKKyAgICAgICAgICAgICAgZGVidWcoZWxlbWVudC5zdHJpbmdWYWx1ZSAr
ICJcbiIpOworICAgICAgICAgIH0KKworICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250ZW50Iikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOworICAgIH0KKworPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281598</attachid>
            <date>2016-06-17 17:02:38 -0700</date>
            <delta_ts>2016-06-17 18:19:15 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5574</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMjE3MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA2LTE3ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEhUTUwgaW5kZXRl
cm1pbmF0ZSBJREwgYXR0cmlidXRlIG5vdCBtYXBwZWQgdG8gY2hlY2tib3ggdmFsdWU9MiBmb3Ig
bmF0aXZlIGNoZWNrYm94ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1ODg3NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjY4NDI2MTk+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGluZGV0ZXJt
aW5hdGUgc3RhdGUgd2FzIG5vdCBiZWluZyByZXBvcnRlZCBmb3IgbmF0aXZlIGNoZWNrYm94ZXMu
IAorCisgICAgICAgIEFsc28gdGhlIGlzSW5kZXRlcm1pbmF0ZSgpIG1ldGhvZCB3YXMgcmVseWlu
ZyBvbiB3aGV0aGVyIHRoZSBhcHBlYXJhbmNlIGNoYW5nZWQsIHdoaWNoIGRvZXMgbm90IGhhcHBl
biBvbiBNYWMsIHNvIHRoYXQKKyAgICAgICAgd2FzIG5vdCBiZWluZyByZXBvcnRlZCBjb3JyZWN0
bHkuIENoYW5nZWQgdGhhdCB0byBjaGVjayB0aGUgYWN0dWFsIGF0dHJpYnV0ZS4KKworICAgICAg
ICBUZXN0OiBhY2Nlc3NpYmlsaXR5L2NoZWNrYm94LW1peGVkLXZhbHVlLmh0bWwKKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmlzSW5kZXRlcm1pbmF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNQcmVzc2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpjaGVja2JveE9yUmFkaW9WYWx1
ZSk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmNoZWNrYm94T3JSYWRpb1ZhbHVl
KToKKwogMjAxNi0wNi0xNyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgW1dpbl0gU2Nyb2xsaW5nIGluIHBvcHVwIG1lbnUgc2Nyb2xscyBwYXN0IGxhc3Qg
ZW50cnkuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAkocmV2aXNpb24gMjAyMTMzKQorKysgU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTY2NSw4ICs2NjUsNyBAQAogCiBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0Ojppc0luZGV0ZXJtaW5hdGUoKSBjb25zdAogewotICAgIGF1dG8qIG5vZGUgPSB0aGlzLT5u
b2RlKCk7Ci0gICAgcmV0dXJuIGlzPEhUTUxJbnB1dEVsZW1lbnQ+KG5vZGUpICYmIGRvd25jYXN0
PEhUTUxJbnB1dEVsZW1lbnQ+KCpub2RlKS5zaG91bGRBcHBlYXJJbmRldGVybWluYXRlKCk7Cisg
ICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGdldEF0dHJpYnV0ZShpbmRl
dGVybWluYXRlQXR0ciksICJ0cnVlIik7CiB9CiAKIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3Q6OmlzUHJlc3NlZCgpIGNvbnN0CkBAIC05MzgsNyArOTM3LDcgQEAKIEFjY2Vzc2liaWxpdHlC
dXR0b25TdGF0ZSBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y2hlY2tib3hPclJhZGlvVmFsdWUo
KSBjb25zdAogewogICAgIGlmIChpc05hdGl2ZUNoZWNrYm94T3JSYWRpbygpKQotICAgICAgICBy
ZXR1cm4gaXNDaGVja2VkKCkgPyBCdXR0b25TdGF0ZU9uIDogQnV0dG9uU3RhdGVPZmY7CisgICAg
ICAgIHJldHVybiBpc0luZGV0ZXJtaW5hdGUoKSA/IEJ1dHRvblN0YXRlTWl4ZWQgOiBpc0NoZWNr
ZWQoKSA/IEJ1dHRvblN0YXRlT24gOiBCdXR0b25TdGF0ZU9mZjsKIAogICAgIHJldHVybiBBY2Nl
c3NpYmlsaXR5T2JqZWN0OjpjaGVja2JveE9yUmFkaW9WYWx1ZSgpOwogfQpJbmRleDogU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3Bw
CShyZXZpc2lvbiAyMDIxMzMpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDk4LDcgKzI0OTgsNyBAQAog
ICAgICAgICByZXR1cm4gQnV0dG9uU3RhdGVNaXhlZDsKICAgICB9CiAgICAgCi0gICAgaWYgKGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGdldEF0dHJpYnV0ZShpbmRldGVybWluYXRlQXR0
ciksICJ0cnVlIikpCisgICAgaWYgKGlzSW5kZXRlcm1pbmF0ZSgpKQogICAgICAgICByZXR1cm4g
QnV0dG9uU3RhdGVNaXhlZDsKICAgICAKICAgICByZXR1cm4gQnV0dG9uU3RhdGVPZmY7CkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMDIxMzMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wNi0xNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxl
aXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBIVE1MIGluZGV0ZXJtaW5hdGUgSURMIGF0
dHJpYnV0ZSBub3QgbWFwcGVkIHRvIGNoZWNrYm94IHZhbHVlPTIgZm9yIG5hdGl2ZSBjaGVja2Jv
eGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg4
NzYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI2ODQyNjE5PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaGVja2JveC1t
aXhlZC12YWx1ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
Y2hlY2tib3gtbWl4ZWQtdmFsdWUuaHRtbDogQWRkZWQuCisKIDIwMTYtMDYtMTUgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPUyBXSzJdIE9uIGlQ
YWQsIGluZGlyZWN0IGZvY3Vzc2luZyBvZiBhIHRleHQgZmllbGQgZG9lc24ndCBhbHdheXMgc2Ny
b2xsIHRvIHRoZSBjb3JyZWN0IGxvY2F0aW9uCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2NoZWNrYm94LW1peGVkLXZhbHVlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2NoZWNrYm94LW1peGVkLXZhbHVlLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvY2hlY2tib3gtbWl4ZWQt
dmFsdWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKK1Rlc3Rz
IHdoZXRoZXIgbWl4ZWQgdmFsdWVzIGFyZSByZXBvcnRlZCBwcm9wZXJseSBvbiBuYXRpdmUgY2hl
Y2tib3hlcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKzE6IEFYUm9sZTogQVhD
aGVja0JveAorSW5kZXRlcm1pbmF0ZSBzdGF0dXM6IHRydWUKKworMjogQVhSb2xlOiBBWENoZWNr
Qm94CitJbmRldGVybWluYXRlIHN0YXR1czogZmFsc2UKKworMzogQVhSb2xlOiBBWENoZWNrQm94
CitJbmRldGVybWluYXRlIHN0YXR1czogZmFsc2UKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvY2hlY2tib3gtbWl4ZWQtdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2NoZWNrYm94LW1peGVkLXZhbHVlLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2NoZWNrYm94LW1peGVkLXZhbHVlLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgor
Cis8ZGl2IGlkPSJjb250ZW50Ij4KKworPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iZWxlbWVu
dDEiIGluZGV0ZXJtaW5hdGU9InRydWUiPgorPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iZWxl
bWVudDIiIGluZGV0ZXJtaW5hdGU9ImZhbHNlIj4KKzxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9
ImVsZW1lbnQzIj4KKworPC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiVGVzdHMg
d2hldGhlciBtaXhlZCB2YWx1ZXMgYXJlIHJlcG9ydGVkIHByb3Blcmx5IG9uIG5hdGl2ZSBjaGVj
a2JveGVzLiIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewor
ICAgICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IDM7IGkrKykgeworICAgICAgICAgICAgICB2
YXIgZWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJ
ZCgiZWxlbWVudCIgKyBpKTsKKyAgICAgICAgICAgICAgZGVidWcoaSArICI6ICIgKyBlbGVtZW50
LnJvbGUpOworICAgICAgICAgICAgICBkZWJ1ZygiSW5kZXRlcm1pbmF0ZSBzdGF0dXM6ICIgKyBl
bGVtZW50LmlzSW5kZXRlcm1pbmF0ZSArICJcbiIpOworICAgICAgICAgIH0KKworICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50Iikuc3R5bGUudmlzaWJpbGl0eSA9ICJo
aWRkZW4iOworICAgIH0KKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>