<?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>35472</bug_id>
          
          <creation_ts>2010-02-27 01:21:35 -0800</creation_ts>
          <short_desc>Radio buttons always be in valueMissing state if they are in a form element</short_desc>
          <delta_ts>2010-03-07 17:54:45 -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>Forms</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>HTML5</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brenton">webkit</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>abarth</cc>
    
    <cc>adele</cc>
    
    <cc>darin</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>194476</commentid>
    <comment_count>0</comment_count>
    <who name="Brenton">webkit</who>
    <bug_when>2010-02-27 01:21:35 -0800</bug_when>
    <thetext>What steps will reproduce the problem?
1. Create an input group of the type &apos;radio&apos; with @required set.
2. Check one of the boxes.
3. Call widget.checkValidity()

What is the expected result?
If any box in the group is checked, the whole control is valid.  widget.checkValidity() should return true.

What happens instead?
widget.checkValidity() always returns false if a radio group is required, and causes document.forms[0].checkValidity() to also return false.  It does this even if a button is checked (which defies the spec), or if the button you call it against is checked (which defies logic).

Please provide any additional information below.

From the HTML5 spec:

	&quot;Constraint validation: If the element is required and all of the input elements in the radio button group have a checkedness that is false, then the element is suffering from being missing.&quot;

Although not technically a regression, this bug breaks existing sites.  Any site that was using feature detection to call the HTML5 validity API no longer works.  document.forms[0].checkValidity is not null, so the native API will be used; however, this bug makes any form with a required radio group fail the checkValidity test.  This can prevent forms from being submitted.

ImARegular.com has begun to receive reports that our surveys no longer work in Chrome.

The workaround is to use the attached JavaScript code to detect is the HTML5 validity API is properly supported.  It also functions as a test case.

Chromium Bug:
http://code.google.com/p/chromium/issues/detail?id=36962

--------
Test case
--------

var hasCheckValidity = document.forms[0].checkValidity;

if (hasCheckValidity) {
	var testForm = document.createElement(&apos;form&apos;);
	var testInput = [];
	var addTestWidget = function(i) {
		testInput[i] = document.createElement(&apos;input&apos;);
		testInput[i].type = &apos;radio&apos;;
		testInput[i].required = &apos;required&apos;;
		testInput[i].name = &apos;radio_validity_test&apos;;
		testInput[i].value = i;
		testForm.appendChild(testInput[i]);
	}
	addTestWidget(0);
	addTestWidget(1);
	testInput[0].checked = true;
	hasCheckValidity = testInput[1].checkValidity();
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194500</commentid>
    <comment_count>1</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-02-27 06:27:59 -0800</bug_when>
    <thetext>Ok, I confirmed. We have a test for radio buttons, but it covers only a case of no &lt;form&gt; element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194502</commentid>
    <comment_count>2</comment_count>
      <attachid>49682</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-02-27 07:00:43 -0800</bug_when>
    <thetext>Created attachment 49682
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196737</commentid>
    <comment_count>3</comment_count>
      <attachid>49682</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-05 15:28:57 -0800</bug_when>
    <thetext>Comment on attachment 49682
Proposed patch

The style bot failed to catch this spacing error: (yes, I realize you were just moving code)
 166 static inline CheckedRadioButtons&amp; checkedRadioButtons(const HTMLInputElement *element)

otherwise looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197051</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-03-07 17:42:18 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 49682 [details])
&gt; The style bot failed to catch this spacing error: (yes, I realize you were just
&gt; moving code)
&gt;  166 static inline CheckedRadioButtons&amp; checkedRadioButtons(const
&gt; HTMLInputElement *element)
&gt; 
&gt; otherwise looks good.

Ok, I&apos;ll fix it and land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197052</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-03-07 17:54:45 -0800</bug_when>
    <thetext>Landed as r55640 &lt;http://trac.webkit.org/changeset/55640&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49682</attachid>
            <date>2010-02-27 07:00:43 -0800</date>
            <delta_ts>2010-03-05 15:28:57 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-35472-20100228000041.patch</filename>
            <type>text/plain</type>
            <size>9120</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjMzQxN2Y2Li45OTRlYmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDIt
MjcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBhIGJ1ZyB0aGF0IHZhbGlkaXR5LnZh
bHVlTWlzc2luZyBmb3IgYSByYWRpbyBidXR0b24gd2l0aCByZXF1aXJlZAorICAgICAgICBpbiBh
IGZvcm0gZWxlbWVudCBhbHdheXMgcmV0dXJucyB0cnVlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU0NzIKKworICAgICAgICBBZGQgdGVzdHMgZm9y
IHJhZGlvIGJ1dHRvbnMgaW4gYSBmb3JtIGVsZW1lbnQsIGFuZCBtZXJnZSBhbiBleGlzdGluZwor
ICAgICAgICByYWRpbyBidXR0b24gdGVzdCB0byBWYWxpZGl0eVN0YXRlLXZhbHVlTWlzc2luZy1y
YWRpby5odG1sLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXZhbHVlTWlz
c2luZy0wMDctZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFs
aWRpdHlTdGF0ZS12YWx1ZU1pc3NpbmctMDA3Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXZhbHVlTWlzc2luZy1yYWRpby1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS12YWx1ZU1pc3NpbmctcmFk
aW8uaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRp
dHlTdGF0ZS12YWx1ZU1pc3NpbmctcmFkaW8uanM6IEFkZGVkLgorCiAyMDEwLTAyLTI2ICBaaGVu
eWFvIE1vICA8em1vQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2
aW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdmFs
dWVNaXNzaW5nLTAwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlk
aXR5U3RhdGUtdmFsdWVNaXNzaW5nLTAwNy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGQ5ODZjNWMuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXZhbHVlTWlzc2luZy0wMDctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsNCArMCwwIEBACi1UaGVyZSBhcmUgdHdvIHJhZGlvIGJ1dHRvbnMgYmVsb3cgd2l0
aCB0aGUgc2FtZSBuYW1lLCBvbmx5IG9uZSBpcyByZXF1aXJlZCAod2hpY2ggbWVhbnMgdGhlIHdo
b2xlIGdyb3VwIGlzIHJlcXVpcmVkKSwgdGhlIG90aGVyIG9uZSBpcyBjaGVja2VkIGFuZCBsZWFk
cyB0aGUgcmVxdWlyZWQgYXR0cmlidXRlIHRvIGJlIHNhdGlzZmllZDogbm8gbWlzc2luZyB2YWx1
ZS4KLQotIAotU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXZhbHVlTWlzc2luZy0wMDcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS12YWx1ZU1pc3NpbmctMDA3Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDBiZDQ0ZmMuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9W
YWxpZGl0eVN0YXRlLXZhbHVlTWlzc2luZy0wMDcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI2
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+cmVxdWlyZWQgYW5kIHZhbHVlTWlzc2lu
ZyBvbiByYWRpbzwvdGl0bGU+Ci08c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgotICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKSB7Ci0gICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9ICI8bGk+IittZXNz
YWdlKyI8L2xpPiI7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotICAgICAgICB2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eU5hbWUoInZpY3RpbSIpOwotCi0gICAgICAgIGxvZyghdlswXS52YWxpZGl0eS52YWx1ZU1pc3Np
bmcgPyAiU1VDQ0VTUyIgOiAiRkFJTFVSRSIpOwotICAgIH0KLTwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgotPHA+VGhlcmUgYXJlIHR3byByYWRpbyBidXR0b25zIGJl
bG93IHdpdGggdGhlIHNhbWUgbmFtZSwgb25seSBvbmUgaXMgcmVxdWlyZWQgKHdoaWNoIG1lYW5z
IHRoZSB3aG9sZSBncm91cCBpcyByZXF1aXJlZCksIHRoZSBvdGhlciBvbmUgaXMgY2hlY2tlZCBh
bmQgbGVhZHMgdGhlIHJlcXVpcmVkIGF0dHJpYnV0ZSB0byBiZSBzYXRpc2ZpZWQ6IG5vIG1pc3Np
bmcgdmFsdWUuPC9wPgotPGlucHV0IG5hbWU9InZpY3RpbSIgdHlwZT0icmFkaW8iIHJlcXVpcmVk
Lz4KLTxpbnB1dCBuYW1lPSJ2aWN0aW0iIHR5cGU9InJhZGlvIiBjaGVja2VkLz4KLTxocj4KLTxv
bCBpZD0iY29uc29sZSI+PC9vbD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS12YWx1ZU1pc3NpbmctcmFkaW8tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXZhbHVlTWlzc2lu
Zy1yYWRpby1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
OTQ5OGU4MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS12YWx1ZU1pc3NpbmctcmFkaW8tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAK
K3ZhbHVlTWlzc2luZyB0ZXN0cyBmb3IgcmFkaW8gYnV0dG9ucworCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworV2l0aG91dCBmb3JtIGVsZW1lbnQKK05vIGNoZWNrZWQgYnV0dG9uOgor
UEFTUyBpbnB1dHNbMF0udmFsaWRpdHkudmFsdWVNaXNzaW5nIGlzIHRydWUKK1BBU1MgaW5wdXRz
WzFdLnZhbGlkaXR5LnZhbHVlTWlzc2luZyBpcyBmYWxzZQorVGhlIGZpcnN0IGJ1dHRvbiBoYXMg
YmVlbiBjaGVja2VkOgorUEFTUyBpbnB1dHNbMF0udmFsaWRpdHkudmFsdWVNaXNzaW5nIGlzIGZh
bHNlCitQQVNTIGlucHV0c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcgaXMgZmFsc2UKK1RoZSBz
ZWNvbmQgYnV0dG9uIGhhcyBiZWVuIGNoZWNrZWQ6CitQQVNTIGlucHV0c1swXS52YWxpZGl0eS52
YWx1ZU1pc3NpbmcgaXMgZmFsc2UKK1BBU1MgaW5wdXRzWzFdLnZhbGlkaXR5LnZhbHVlTWlzc2lu
ZyBpcyBmYWxzZQorV2l0aCBmb3JtIGVsZW1lbnQKK05vIGNoZWNrZWQgYnV0dG9uOgorUEFTUyBp
bnB1dHNbMF0udmFsaWRpdHkudmFsdWVNaXNzaW5nIGlzIHRydWUKK1BBU1MgaW5wdXRzWzFdLnZh
bGlkaXR5LnZhbHVlTWlzc2luZyBpcyBmYWxzZQorVGhlIGZpcnN0IGJ1dHRvbiBoYXMgYmVlbiBj
aGVja2VkOgorUEFTUyBpbnB1dHNbMF0udmFsaWRpdHkudmFsdWVNaXNzaW5nIGlzIGZhbHNlCitQ
QVNTIGlucHV0c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcgaXMgZmFsc2UKK1RoZSBzZWNvbmQg
YnV0dG9uIGhhcyBiZWVuIGNoZWNrZWQ6CitQQVNTIGlucHV0c1swXS52YWxpZGl0eS52YWx1ZU1p
c3NpbmcgaXMgZmFsc2UKK1BBU1MgaW5wdXRzWzFdLnZhbGlkaXR5LnZhbHVlTWlzc2luZyBpcyBm
YWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS12YWx1ZU1p
c3NpbmctcmFkaW8uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS12
YWx1ZU1pc3NpbmctcmFkaW8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li43NWQxMzk2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXZhbHVlTWlzc2luZy1yYWRpby5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdmFsdWVNaXNzaW5nLXJhZGlvLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS12YWx1ZU1pc3NpbmctcmFkaW8uanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXZhbHVlTWlzc2lu
Zy1yYWRpby5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzc1ZDRhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFs
aWRpdHlTdGF0ZS12YWx1ZU1pc3NpbmctcmFkaW8uanMKQEAgLTAsMCArMSw0NCBAQAorZGVzY3Jp
cHRpb24oJ3ZhbHVlTWlzc2luZyB0ZXN0cyBmb3IgcmFkaW8gYnV0dG9ucycpOworCit2YXIgcGFy
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHBhcmVudCk7CisKK2RlYnVnKCdXaXRob3V0IGZvcm0gZWxlbWVudCcpOworcGFyZW50
LmlubmVySFRNTCA9ICc8aW5wdXQgbmFtZT12aWN0aW0gdHlwZT1yYWRpbyByZXF1aXJlZC8+Jwor
ICAgICsgJzxpbnB1dCBuYW1lPXZpY3RpbSB0eXBlPXJhZGlvLz4nOwordmFyIGlucHV0cyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCd2aWN0aW0nKTsKK2RlYnVnKCdObyBjaGVja2VkIGJ1
dHRvbjonKTsKK3Nob3VsZEJlVHJ1ZSgnaW5wdXRzWzBdLnZhbGlkaXR5LnZhbHVlTWlzc2luZycp
OworLy8gVGhlIGZvbGxvd2luZyByZXN1bHQgc2hvdWxkIGJlIGZhbHNlIGJlY2F1c2UgdGhlIGVs
ZW1lbnQgZG9lcyBub3QgaGF2ZQorLy8gInJlcXVpcmVkIi4gIEl0IGNvbmZvcm1zIHRvIEhUTUw1
LCBhbmQgdGhpcyBiZWhhdmlvciBoYXMgbm8gcHJhY3RpY2FsCisvLyBwcm9ibGVtcy4KK3Nob3Vs
ZEJlRmFsc2UoJ2lucHV0c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKK2RlYnVnKCdUaGUg
Zmlyc3QgYnV0dG9uIGhhcyBiZWVuIGNoZWNrZWQ6Jyk7CitpbnB1dHNbMF0uY2hlY2tlZCA9IHRy
dWU7CitzaG91bGRCZUZhbHNlKCdpbnB1dHNbMF0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Citz
aG91bGRCZUZhbHNlKCdpbnB1dHNbMV0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7CitkZWJ1Zygn
VGhlIHNlY29uZCBidXR0b24gaGFzIGJlZW4gY2hlY2tlZDonKTsKK2lucHV0c1sxXS5jaGVja2Vk
ID0gdHJ1ZTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0c1swXS52YWxpZGl0eS52YWx1ZU1pc3Npbmcn
KTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKKwor
ZGVidWcoJ1dpdGggZm9ybSBlbGVtZW50Jyk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPicK
KyAgICArICc8aW5wdXQgbmFtZT12aWN0aW0gdHlwZT1yYWRpbyByZXF1aXJlZC8+JworICAgICsg
JzxpbnB1dCBuYW1lPXZpY3RpbSB0eXBlPXJhZGlvLz4nCisgICAgKyAnPC9mb3JtPic7CitpbnB1
dHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgndmljdGltJyk7CitkZWJ1ZygnTm8gY2hl
Y2tlZCBidXR0b246Jyk7CitzaG91bGRCZVRydWUoJ2lucHV0c1swXS52YWxpZGl0eS52YWx1ZU1p
c3NpbmcnKTsKKy8vIFRoZSBmb2xsb3dpbmcgcmVzdWx0IHNob3VsZCBiZSBmYWxzZS4KK3Nob3Vs
ZEJlRmFsc2UoJ2lucHV0c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKK2RlYnVnKCdUaGUg
Zmlyc3QgYnV0dG9uIGhhcyBiZWVuIGNoZWNrZWQ6Jyk7CitpbnB1dHNbMF0uY2hlY2tlZCA9IHRy
dWU7CitzaG91bGRCZUZhbHNlKCdpbnB1dHNbMF0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Citz
aG91bGRCZUZhbHNlKCdpbnB1dHNbMV0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7CitkZWJ1Zygn
VGhlIHNlY29uZCBidXR0b24gaGFzIGJlZW4gY2hlY2tlZDonKTsKK2lucHV0c1sxXS5jaGVja2Vk
ID0gdHJ1ZTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0c1swXS52YWxpZGl0eS52YWx1ZU1pc3Npbmcn
KTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGE1MWIzMDIuLmY5Y2U0MDggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMTAtMDItMjcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBhIGJ1ZyB0
aGF0IHZhbGlkaXR5LnZhbHVlTWlzc2luZyBmb3IgYSByYWRpbyBidXR0b24gd2l0aCByZXF1aXJl
ZAorICAgICAgICBpbiBhIGZvcm0gZWxlbWVudCBhbHdheXMgcmV0dXJucyB0cnVlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU0NzIKKworICAgICAg
ICBUZXN0OiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdmFsdWVNaXNzaW5nLXJhZGlvLmh0bWwK
KworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpjaGVja2VkUmFkaW9CdXR0b25zKTogTW92ZSB0aGUgbG9jYXRpb24gdG8gYmUgdXNlZCBieSB2
YWx1ZU1pc3NpbmcoKS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVl
TWlzc2luZyk6CisgICAgICAgICAgVXNlIGNoZWNrZWRSYWRpb0J1dHRvbnMoKSBpbnN0ZWFkIG9m
IGRvY3VtZW50KCktPmNoZWNrZWRSYWRpb0J1dHRvbnMoKS4KKwogMjAxMC0wMi0yNiAgWmhlbnlh
byBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmlu
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDViOTEyM2QuLmEyNGNlZDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTE2Myw2ICsxNjMsMTMgQEAgYm9vbCBIVE1MSW5w
dXRFbGVtZW50OjphdXRvQ29tcGxldGUoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCitz
dGF0aWMgaW5saW5lIENoZWNrZWRSYWRpb0J1dHRvbnMmIGNoZWNrZWRSYWRpb0J1dHRvbnMoY29u
c3QgSFRNTElucHV0RWxlbWVudCAqZWxlbWVudCkKK3sKKyAgICBpZiAoSFRNTEZvcm1FbGVtZW50
KiBmb3JtID0gZWxlbWVudC0+Zm9ybSgpKQorICAgICAgICByZXR1cm4gZm9ybS0+Y2hlY2tlZFJh
ZGlvQnV0dG9ucygpOworICAgIHJldHVybiBlbGVtZW50LT5kb2N1bWVudCgpLT5jaGVja2VkUmFk
aW9CdXR0b25zKCk7Cit9CisKIGJvb2wgSFRNTElucHV0RWxlbWVudDo6dmFsdWVNaXNzaW5nKCkg
Y29uc3QKIHsKICAgICBpZiAoIWlzUmVxdWlyZWRGb3JtQ29udHJvbCgpIHx8IHJlYWRPbmx5KCkg
fHwgZGlzYWJsZWQoKSkKQEAgLTE4Nyw3ICsxOTQsNyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6
OnZhbHVlTWlzc2luZygpIGNvbnN0CiAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAgICAg
ICByZXR1cm4gIWNoZWNrZWQoKTsKICAgICAgICAgY2FzZSBSQURJTzoKLSAgICAgICAgICAgIHJl
dHVybiAhZG9jdW1lbnQoKS0+Y2hlY2tlZFJhZGlvQnV0dG9ucygpLmNoZWNrZWRCdXR0b25Gb3JH
cm91cChuYW1lKCkpOworICAgICAgICAgICAgcmV0dXJuICFjaGVja2VkUmFkaW9CdXR0b25zKHRo
aXMpLmNoZWNrZWRCdXR0b25Gb3JHcm91cChuYW1lKCkpOwogICAgICAgICBjYXNlIENPTE9SOgog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIEJVVFRPTjoKQEAgLTY3OCwx
NCArNjg1LDYgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzdGVwRG93bihpbnQgbiwgRXhjZXB0
aW9uQ29kZSYgZWMpCiAgICAgYXBwbHlTdGVwKC1uLCBlYyk7CiB9CiAKLXN0YXRpYyBpbmxpbmUg
Q2hlY2tlZFJhZGlvQnV0dG9ucyYgY2hlY2tlZFJhZGlvQnV0dG9ucyhjb25zdCBIVE1MSW5wdXRF
bGVtZW50ICplbGVtZW50KQotewotICAgIGlmIChIVE1MRm9ybUVsZW1lbnQqIGZvcm0gPSBlbGVt
ZW50LT5mb3JtKCkpCi0gICAgICAgIHJldHVybiBmb3JtLT5jaGVja2VkUmFkaW9CdXR0b25zKCk7
Ci0gICAgCi0gICAgcmV0dXJuIGVsZW1lbnQtPmRvY3VtZW50KCktPmNoZWNrZWRSYWRpb0J1dHRv
bnMoKTsKLX0KLQogYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc0tleWJvYXJkRm9jdXNhYmxlKEtl
eWJvYXJkRXZlbnQqIGV2ZW50KSBjb25zdAogewogICAgIC8vIElmIHRleHQgZmllbGRzIGNhbiBi
ZSBmb2N1c2VkLCB0aGVuIHRoZXkgc2hvdWxkIGFsd2F5cyBiZSBrZXlib2FyZCBmb2N1c2FibGUK
</data>
<flag name="review"
          id="32621"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>