<?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>45376</bug_id>
          
          <creation_ts>2010-09-08 02:31:28 -0700</creation_ts>
          <short_desc>Apply :invalid CSS class to &lt;input type=number&gt; with an unacceptable value</short_desc>
          <delta_ts>2010-09-24 16:06:09 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>43973</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>abarth</cc>
    
    <cc>adele</cc>
    
    <cc>aestes</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>275700</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-08 02:31:28 -0700</bug_when>
    <thetext>Apply :invalid CSS class to &lt;input type=number&gt; with an unacceptable value</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275701</commentid>
    <comment_count>1</comment_count>
      <attachid>66861</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-08 02:38:39 -0700</bug_when>
    <thetext>Created attachment 66861
Patch (EWS failure expected)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275837</commentid>
    <comment_count>2</comment_count>
      <attachid>66861</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-09-08 07:53:31 -0700</bug_when>
    <thetext>Comment on attachment 66861
Patch (EWS failure expected)

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

Ok.

&gt; WebCore/dom/Element.h:284
&gt; +    virtual bool hasUnacceptableValue() const { return false; }
Darin Adler taught me it would be better to have bodies of virtuals in the cpp files, even inlines. But for consistency with the other methods, I don&apos;t think it makes sense to ask you to redo this.

&gt; WebCore/html/HTMLInputElement.cpp:831
&gt; +    if (inputType() == NUMBER) {
One day we will rework HTMLInputElement to eliminate all this inputType() == FOO cruft. But not today.

&gt; WebCore/rendering/RenderTextControlSingleLine.cpp:178
&gt; +        static_cast&lt;HTMLInputElement*&gt;(input)-&gt;setNeedsStyleRecalc();
And we&apos;ll remove this cruft too :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275850</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-08 08:20:45 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; WebCore/html/HTMLInputElement.cpp:831
&gt; &gt; +    if (inputType() == NUMBER) {
&gt; One day we will rework HTMLInputElement to eliminate all this inputType() == FOO cruft. But not today.

If we can afford one additional memory allocation per input element, and I think we can, all we need to do is to create a class for the input type and replace all the switch and if statements with virtual function calls on that object. Should be simple refactoring!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276293</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-08 20:28:19 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; &gt; +    if (inputType() == NUMBER) {
&gt; &gt; One day we will rework HTMLInputElement to eliminate all this inputType() == FOO cruft. But not today.
&gt; 
&gt; If we can afford one additional memory allocation per input element, and I think we can, all we need to do is to create a class for the input type and replace all the switch and if statements with virtual function calls on that object. Should be simple refactoring!

I agree!  I have wanted to do so since I started to work on Forms.
I guess virtual method call is not slower than switch-case, and the object size would be smaller.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277017</commentid>
    <comment_count>5</comment_count>
      <attachid>66861</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-09 22:06:55 -0700</bug_when>
    <thetext>Comment on attachment 66861
Patch (EWS failure expected)

Clearing flags on attachment: 66861

Committed r67166: &lt;http://trac.webkit.org/changeset/67166&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277018</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-09 22:07:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277022</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-09 22:12:59 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67166 might have broken Qt Linux Release minimal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284804</commentid>
    <comment_count>8</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-24 16:06:09 -0700</bug_when>
    <thetext>It looks like this fix caused a regression related to input elements with placeholder text. See &lt;https://bugs.webkit.org/show_bug.cgi?id=45940&gt; for details.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66861</attachid>
            <date>2010-09-08 02:38:39 -0700</date>
            <delta_ts>2010-09-09 22:06:55 -0700</delta_ts>
            <desc>Patch (EWS failure expected)</desc>
            <filename>bug-45376-20100908183837.patch</filename>
            <type>text/plain</type>
            <size>10649</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNWI0M2VlNmVmMzk3NGJhOGYzOWU3MjNjYmM5MDdhYTNmOGY0MTIwLi4wZGIzMDFh
NzMzYjdkYTRlZGJlM2Q2YzFkNzE4MGI2NzVjNzNmOTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDktMDggIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFwcGx5IDppbnZhbGlkIENT
UyBjbGFzcyB0byA8aW5wdXQgdHlwZT1udW1iZXI+IHdpdGggYW4gdW5hY2NlcHRhYmxlIHZhbHVl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTM3Ngor
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1udW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1udW1iZXItdW5h
Y2NlcHRhYmxlLXN0eWxlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA4LTEzICBLZW50IFRhbXVyYSAg
PHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtbnVtYmVyLXVuYWNj
ZXB0YWJsZS1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0
LW51bWJlci11bmFjY2VwdGFibGUtc3R5bGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxZWVm
YzZhMWY2MTFhNDNkZGI0NTYxZWU2Yjc2ZWMwMDljMmRkMmQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LW51bWJlci11bmFjY2VwdGFibGUtc3R5bGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK0EgbnVtYmVyIGlucHV0IGZpZWxkcyB3aXRoIGFu
IHVuYWNjZXB0YWJsZSBzdHJpbmcgc2hvdWxkIGhhdmUgOmludmFsaWQgc3R5bGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBu
byB2YWx1ZS4KK1BBU1MgY29sb3JPZihudW1iZXIpIGlzIG5vcm1hbFN0eWxlQ29sb3IKK1R5cGUg
Jy0nLiBUaGUgcmVuZGVyZXIgdmFsdWUgYmVjb21lcyB1bmFjY2VwdGFibGUuCitQQVNTIGNvbG9y
T2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBudW1iZXIudmFsaWRpdHkudmFs
aWQgaXMgdHJ1ZQorVHlwZSAnMScgYWRkaXRpb25hbGx5LiBUaGUgcmVuZGVyZXIgdmFsdWUgYmVj
b21lcyBhY2NlcHRhYmxlLgorUEFTUyBjb2xvck9mKG51bWJlcikgaXMgbm9ybWFsU3R5bGVDb2xv
cgorVHlwZSAnKycgYWRkaXRpb25hbGx5LiBUaGUgcmVuZGVyZXIgdmFsdWUgYmVjb21lcyB1bmFj
Y2VwdGFibGUgYWdhaW4uCitQQVNTIGNvbG9yT2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVDb2xv
cgorVGhlIGVsZW1lbnQgbG9zdHMgZm9jdXMuIFRoZSB1bmFjY2VwdGFibGUgdmFsdWUgc2hvdWxk
IGJlIHB1cmdlZCBhbmQgdGhlIHN0eWxlIHNob3VsZCBiZSBub3JtYWwuCitQQVNTIGNvbG9yT2Yo
bnVtYmVyKSBpcyBub3JtYWxTdHlsZUNvbG9yCitQQVNTIGRvY3VtZW50LmdldFNlbGVjdGlvbigp
LnRvU3RyaW5nKCkgaXMgIi0xIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQt
bnVtYmVyLXVuYWNjZXB0YWJsZS1zdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9p
bnB1dC1udW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE2NTE0Zjhk
MzM2ZTQ0NjUxNTQ5MzE5YmY0NzFmNmJhYTA3ZmE2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtbnVtYmVyLXVuYWNjZXB0YWJsZS1zdHlsZS5odG1sCkBA
IC0wLDAgKzEsNTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKzppbnZhbGlkIHsKKyAgYmFja2dyb3VuZC1jb2xvcjog
I2ZmMDAwMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2IGlkPXBhcmVudD4KKzxpbnB1
dCB0eXBlPW51bWJlciBpZD1udW1iZXI+Cis8aW5wdXQgaWQ9YW5vdGhlcj4KKzwvZGl2PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCdBIG51bWJlciBpbnB1dCBmaWVsZHMgd2l0aCBhbiB1bmFjY2Vw
dGFibGUgc3RyaW5nIHNob3VsZCBoYXZlIDppbnZhbGlkIHN0eWxlLicpOworCitmdW5jdGlvbiBj
b2xvck9mKGVsKSB7CisgICAgcmV0dXJuIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUoZWwsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKTsKK30K
K3ZhciBub3JtYWxTdHlsZUNvbG9yID0gJ3JnYigyNTUsIDI1NSwgMjU1KSc7Cit2YXIgaW52YWxp
ZFN0eWxlQ29sb3IgPSAncmdiKDI1NSwgMCwgMCknOworCit2YXIgbnVtYmVyID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ251bWJlcicpOworbnVtYmVyLmZvY3VzKCk7CitkZWJ1ZygnSW5pdGlh
bCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuJyk7CitzaG91bGRCZSgnY29sb3JPZihu
dW1iZXIpJywgJ25vcm1hbFN0eWxlQ29sb3InKTsKKworZGVidWcoIlR5cGUgJy0nLiBUaGUgcmVu
ZGVyZXIgdmFsdWUgYmVjb21lcyB1bmFjY2VwdGFibGUuIik7Citkb2N1bWVudC5leGVjQ29tbWFu
ZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnLScpOworc2hvdWxkQmUoJ2NvbG9yT2YobnVtYmVyKScs
ICdpbnZhbGlkU3R5bGVDb2xvcicpOworc2hvdWxkQmVUcnVlKCdudW1iZXIudmFsaWRpdHkudmFs
aWQnKTsKKworZGVidWcoIlR5cGUgJzEnIGFkZGl0aW9uYWxseS4gVGhlIHJlbmRlcmVyIHZhbHVl
IGJlY29tZXMgYWNjZXB0YWJsZS4iKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRUZXh0
JywgZmFsc2UsICcxJyk7CitzaG91bGRCZSgnY29sb3JPZihudW1iZXIpJywgJ25vcm1hbFN0eWxl
Q29sb3InKTsKKworZGVidWcoIlR5cGUgJysnIGFkZGl0aW9uYWxseS4gVGhlIHJlbmRlcmVyIHZh
bHVlIGJlY29tZXMgdW5hY2NlcHRhYmxlIGFnYWluLiIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQo
J0luc2VydFRleHQnLCBmYWxzZSwgJysnKTsKK3Nob3VsZEJlKCdjb2xvck9mKG51bWJlciknLCAn
aW52YWxpZFN0eWxlQ29sb3InKTsKKworZGVidWcoIlRoZSBlbGVtZW50IGxvc3RzIGZvY3VzLiBU
aGUgdW5hY2NlcHRhYmxlIHZhbHVlIHNob3VsZCBiZSBwdXJnZWQgYW5kIHRoZSBzdHlsZSBzaG91
bGQgYmUgbm9ybWFsLiIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Fub3RoZXInKS5mb2N1
cygpOworc2hvdWxkQmUoJ2NvbG9yT2YobnVtYmVyKScsICdub3JtYWxTdHlsZUNvbG9yJyk7Cisv
LyBWaXNpYmx1ZSB2YWx1ZSBpcyBub3QgJy0xKycuCitudW1iZXIuZm9jdXMoKTsKK2RvY3VtZW50
LmV4ZWNDb21tYW5kKCdTZWxlY3RBbGwnKTsKK3Nob3VsZEJlKCdkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKS50b1N0cmluZygpJywgJyItMSInKTsKKworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bh
cmVudCcpLmlubmVySFRNTCA9ICcnOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ZDEyZTg4YjUyNTBjZjE2NTJhNTdi
NjhiN2E1NmZhMDk3YmZiZDNkLi5kNzcwOGY1ZDFhZjQzOGEyNzVhNDQ5MDM3ZWMyZmIzODQyZjQ1
ODEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM2IEBACisyMDEwLTA5LTA4ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBcHBseSA6aW52YWxpZCBDU1MgY2xhc3MgdG8gPGlucHV0IHR5cGU9bnVtYmVyPiB3aXRoIGFu
IHVuYWNjZXB0YWJsZSB2YWx1ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDUzNzYKKworICAgICAgICBBcHBseSA6aW52YWxpZCBDU1MgY2xhc3MgdG8g
PGlucHV0IHR5cGU9bnVtYmVyPiBlbGVtZW50cyB3aXRoIGFuCisgICAgICAgIHVuYWNjZXB0YWJs
ZSB2YWx1ZSBpbiBvcmRlciB0byB0ZWxsIHVzZXJzIHRoYXQgYSB2YWx1ZSBpcyBub3QKKyAgICAg
ICAgdmFsaWQuCisKKyAgICAgICAgSW50cm9kdWNpbmcgRWxlbWVudDo6aGFzVW5hY2NjZXB0YWJs
ZVZhbHVlKCksIGFuZCBDU1NTdHlsZVNlbGVjdG9yCisgICAgICAgIGFwcGxpZXMgOmludmFsaWQg
dG8gbm90IG9ubHkgZWxlbWVudHMgd2l0aCAhaXNWYWxpZEZvcm1Db250cm9sRWxlbWVudCgpCisg
ICAgICAgIGJ1dCBhbHNvIGVsZW1lbnRzIHdpdGggaGFzVW5hY2NjZXB0YWJsZVZhbHVlKCkuCisK
KyAgICAgICAgSFRNTElucHV0RWxlbWVudCBhbmQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
IG5lZWQgc29tZSBjaGFuZ2VzCisgICAgICAgIHRvIHVwZGF0ZSBzdHlsZSBhbmQgdG8gYXZvaWQg
dXBkYXRpbmcgcmVuZGVyZXIgdmFsdWUgZHVyaW5nIHN0eWxlCisgICAgICAgIHVwZGF0ZS4KKwor
ICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2lucHV0LW51bWJlci11bmFjY2VwdGFibGUtc3R5bGUu
aHRtbAorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9y
KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
aGFzVW5hY2NlcHRhYmxlVmFsdWUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpoYW5kbGVCbHVyRXZlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aGFzVW5hY2NlcHRhYmxlVmFs
dWUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzdWJ0cmVlSGFzQ2hhbmdlZCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnVwZGF0ZUZyb21FbGVtZW50
KToKKwogMjAxMC0wOC0xMyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3Bw
CmluZGV4IGQ2ZjA0YWE2ZTIyZTVjMmY5NWIzM2E1MzRhZWE4YTlmYTViN2FhMzAuLmRhY2NlOWFk
NWZkODRhZWUwZDJjYzM0N2EwOTIxZTYyOGUxYWVmMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwCkBAIC0yNTc2LDcgKzI1NzYsNyBAQCBib29sIENTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9y
Q2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3RvcihDU1NTZWxlY3Rvciogc2VsLCBFbGVtZQogICAgICAg
ICAgICAgICAgIGlmICghZSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICAgICAgICAgIGUtPmRvY3VtZW50KCktPnNldENvbnRhaW5zVmFsaWRpdHlTdHlsZVJ1bGVz
KCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGUtPndpbGxWYWxpZGF0ZSgpICYmICFlLT5pc1Zh
bGlkRm9ybUNvbnRyb2xFbGVtZW50KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGUtPndpbGxW
YWxpZGF0ZSgpICYmICFlLT5pc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCkgfHwgZS0+aGFzVW5h
Y2NlcHRhYmxlVmFsdWUoKTsKICAgICAgICAgICAgIH0gY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRv
Q2hlY2tlZDogewogICAgICAgICAgICAgICAgIGlmICghZSB8fCAhZS0+aXNGb3JtQ29udHJvbEVs
ZW1lbnQoKSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmggYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNWJiZGRjMmU5NzQ1
ODRlNWQzMzE1MTA5ODVjNzA4Y2ViMjlmMzIyOS4uMWJmMTljZmFjNTU2NTdjMzM5ZDgxNGE4OWRk
NzhlMTM4ODAwODExNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMjgxLDYgKzI4MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIGJvb2wgaXNEZWZhdWx0QnV0dG9uRm9yRm9ybSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIHdpbGxWYWxpZGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtQ29udHJvbEVsZW1lbnQoKSB7IHJldHVybiBm
YWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBoYXNVbmFjY2VwdGFibGVWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgZm9ybUNvbnRyb2xWYWx1ZU1hdGNo
ZXNSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNl
dEZvcm1Db250cm9sVmFsdWVNYXRjaGVzUmVuZGVyZXIoYm9vbCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5jcHAKaW5kZXggZDdiYjcwYzEyZGE1ODY1OGFhZmFmNWY2YjAwN2U0MDc5MDJiZjQw
ZC4uMjNiOWZjMDdmZjU5NTIzYTFjMTQ5NTJkMjEwOGI1MDgyMWQ5MzZkOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcApAQCAtODI4LDggKzgyOCwxNCBAQCB2b2lkIEhUTUxJbnB1dEVsZW1l
bnQ6OmhhbmRsZUZvY3VzRXZlbnQoKQogCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmhhbmRsZUJs
dXJFdmVudCgpCiB7Ci0gICAgLy8gUmVzZXQgdGhlIHJlbmRlcmVyIHZhbHVlLCB3aGljaCBtaWdo
dCBiZSB1bm1hdGNoZWQgd2l0aCB0aGUgZWxlbWVudCB2YWx1ZS4KLSAgICBzZXRGb3JtQ29udHJv
bFZhbHVlTWF0Y2hlc1JlbmRlcmVyKGZhbHNlKTsKKyAgICBpZiAoaW5wdXRUeXBlKCkgPT0gTlVN
QkVSKSB7CisgICAgICAgIC8vIFJlc2V0IHRoZSByZW5kZXJlciB2YWx1ZSwgd2hpY2ggbWlnaHQg
YmUgdW5tYXRjaGVkIHdpdGggdGhlIGVsZW1lbnQgdmFsdWUuCisgICAgICAgIHNldEZvcm1Db250
cm9sVmFsdWVNYXRjaGVzUmVuZGVyZXIoZmFsc2UpOworICAgICAgICAvLyBXZSBuZWVkIHRvIHJl
c2V0IHRoZSByZW5kZXJlciB2YWx1ZSBleHBsaWNpdGx5IGJlY2F1c2UgYW4gdW5hY2NlcHRhYmxl
CisgICAgICAgIC8vIHJlbmRlcmVyIHZhbHVlIHNob3VsZCBiZSBwdXJnZWQgYmVmb3JlIHN0eWxl
IGNhbGN1bGF0aW9uLgorICAgICAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHJlbmRl
cmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgfQogICAgIElucHV0RWxlbWVudDo6ZGlz
cGF0Y2hCbHVyRXZlbnQodGhpcywgdGhpcyk7CiB9CiAKQEAgLTI2OTEsNiArMjY5NywxMSBAQCBT
dHJpbmcgSFRNTElucHV0RWxlbWVudDo6c2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bv
c2VkVmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIHByb3Bvc2VkVmFsdWU7CiB9CiAKK2Jvb2wgSFRN
TElucHV0RWxlbWVudDo6aGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjb25zdAoreworICAgIHJldHVy
biBpbnB1dFR5cGUoKSA9PSBOVU1CRVIgJiYgcmVuZGVyZXIoKSAmJiAhaXNBY2NlcHRhYmxlVmFs
dWUodG9SZW5kZXJUZXh0Q29udHJvbChyZW5kZXJlcigpKS0+dGV4dCgpKTsKK30KKwogYm9vbCBI
VE1MSW5wdXRFbGVtZW50OjpuZWVkc0FjdGl2YXRpb25DYWxsYmFjaygpCiB7CiAgICAgcmV0dXJu
IGlucHV0VHlwZSgpID09IFBBU1NXT1JEIHx8IG1fYXV0b2NvbXBsZXRlID09IE9mZjsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5oCmluZGV4IDRkZTEyMWRkNzAyNTk2ODg3MTE2MzVlZDAxNWRmNWZmYmNi
YjQzY2UuLmUwMjM3OTZiN2RhMDUzMzc2YmZhNGNiZjE4ZGIxOTY4OTg1N2VmZTQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuaApAQCAtMjgzLDYgKzI4Myw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0
dWFsIGJvb2wgaXNBY2NlcHRhYmxlVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdmly
dHVhbCBTdHJpbmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICB2aXJ0
dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9p
ZCBkb2N1bWVudERpZEJlY29tZUFjdGl2ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAppbmRleCA5YmIxNmFiMmE2MjI2Mzk2YWRm
ODhlMzM0NjUzZjE4MTYyZmExN2U1Li5iMTIwYTVhMzRmOTJiZjA2MzliYTU3Mjk5NjA2MDEzN2Ix
ODBiMmNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2lu
Z2xlTGluZS5jcHAKQEAgLTE3Myw2ICsxNzMsMTAgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmU6OnN1YnRyZWVIYXNDaGFuZ2VkKCkKICAgICBTdHJpbmcgdmFsdWUgPSB0ZXh0KCk7
CiAgICAgaWYgKGlucHV0LT5pc0FjY2VwdGFibGVWYWx1ZSh2YWx1ZSkpCiAgICAgICAgIGlucHV0
LT5zZXRWYWx1ZUZyb21SZW5kZXJlcihpbnB1dC0+c2FuaXRpemVWYWx1ZSh2YWx1ZSkpOworICAg
IGlmIChub2RlKCktPmlzSFRNTEVsZW1lbnQoKSkgeworICAgICAgICAvLyBSZWNhbGMgZm9yIDpp
bnZhbGlkIGFuZCBoYXNVbmFjY2VwdGFibGVWYWx1ZSgpIGNoYW5nZS4KKyAgICAgICAgc3RhdGlj
X2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KGlucHV0KS0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOwor
ICAgIH0KIAogICAgIGlmIChtX2NhbmNlbEJ1dHRvbikKICAgICAgICAgdXBkYXRlQ2FuY2VsQnV0
dG9uVmlzaWJpbGl0eSgpOwpAQCAtNjc4LDcgKzY4MiwxMCBAQCB2b2lkIFJlbmRlclRleHRDb250
cm9sU2luZ2xlTGluZTo6dXBkYXRlRnJvbUVsZW1lbnQoKQogICAgIH0gZWxzZSB7CiAgICAgICAg
IGlmICghaW5wdXRFbGVtZW50KCktPnN1Z2dlc3RlZFZhbHVlKCkuaXNOdWxsKCkpCiAgICAgICAg
ICAgICBzZXRJbm5lclRleHRWYWx1ZShpbnB1dEVsZW1lbnQoKS0+c3VnZ2VzdGVkVmFsdWUoKSk7
Ci0gICAgICAgIGVsc2UKKyAgICAgICAgZWxzZSBpZiAoIW5vZGUoKS0+aXNIVE1MRWxlbWVudCgp
IHx8ICFzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obm9kZSgpKS0+Zm9ybUNvbnRyb2xW
YWx1ZU1hdGNoZXNSZW5kZXJlcigpKQorICAgICAgICAgICAgLy8gRm9yIEhUTUxJbnB1dEVsZW1l
bnQsIHVwZGF0ZSB0aGUgcmVuZGVyZXIgdmFsdWUgb25seSBpZiB0aGUKKyAgICAgICAgICAgIC8v
IGZvcm1Db250cm9sVmFsdWVNYXRjaGVzUmVuZGVyZXIoKSBmbGFnIGlzIGZhbHNlLiBJdCBwcm90
ZWN0cyBhbgorICAgICAgICAgICAgLy8gdW5hY2NlcHRhYmxlIHJlbmRlcmVyIHZhbHVlIGZyb20g
YmVpbmcgb3ZlcndyaXR0ZW4gd2l0aCB0aGUgRE9NIHZhbHVlLgogICAgICAgICAgICAgc2V0SW5u
ZXJUZXh0VmFsdWUoaW5wdXRFbGVtZW50KCktPnZhbHVlKCkpOwogICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>