<?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>158084</bug_id>
          
          <creation_ts>2016-05-25 13:47:01 -0700</creation_ts>
          <short_desc>Simplify and inline minimumValueForLength()</short_desc>
          <delta_ts>2024-07-08 16:11:36 -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>Layout and Rendering</component>
          <version>WebKit 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1196447</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-25 13:47:01 -0700</bug_when>
    <thetext>Simplify and inline minimumValueForLength(). Based on iOS PLT profiles, we spend up to 0.7% of CPU time during page loads in this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1196449</commentid>
    <comment_count>1</comment_count>
      <attachid>279803</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-25 13:48:28 -0700</bug_when>
    <thetext>Created attachment 279803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1196467</commentid>
    <comment_count>2</comment_count>
      <attachid>279803</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-25 14:12:13 -0700</bug_when>
    <thetext>Comment on attachment 279803
Patch

Clearing flags on attachment: 279803

Committed r201401: &lt;http://trac.webkit.org/changeset/201401&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1196468</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-25 14:12:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1196481</commentid>
    <comment_count>4</comment_count>
      <attachid>279803</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-05-25 14:24:37 -0700</bug_when>
    <thetext>Comment on attachment 279803
Patch

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

I think also there is no real need for the sources LengthFunctions.h and LengthFunctions.cpp. All the functions in these files can be moved to Length.h and LengthSize.h. The names of the functions should be shorter and clearer. Instead of having 
    inline LayoutUnit minimumValueForLength(const Length&amp; length, LayoutUnit maximumValue)
We can have
    inline LayoutUnit Length::minimumValue(LayoutUnit maximumValue) const;

&gt; Source/WebCore/css/LengthFunctions.h:38
&gt; +int minimumIntValueForLength(const Length&amp;, LayoutUnit maximumValue);

This function is called only twice in the windows code. Can&apos;t we make the casting inline?

&gt; Source/WebCore/css/LengthFunctions.h:39
&gt;  int intValueForLength(const Length&amp;, LayoutUnit maximumValue);

I am not sure why do we need intValueForLength() especially all what it does is just casting which can be inline. Also it is only used in 6 places; 4 of them in in one block of code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2045188</commentid>
    <comment_count>5</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2024-07-08 16:11:36 -0700</bug_when>
    <thetext>*** Bug 134495 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279803</attachid>
            <date>2016-05-25 13:48:28 -0700</date>
            <delta_ts>2016-05-25 14:12:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158084-20160525134936.patch</filename>
            <type>text/plain</type>
            <size>8903</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxMzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTFkZDBiNWIxYTA4YzVi
MmFlNDEwZDM5N2YzM2JmNGUyYzAxNDRjMS4uMzdiZGE0YmI2N2I3ZGE0NzA2ZjFlZjY5ZDM0NzFh
YzlkZTQ2NmQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTA1LTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxpZnkgYW5kIGlubGlu
ZSBtaW5pbXVtVmFsdWVGb3JMZW5ndGgoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MDg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgU2ltcGxpZnkgYW5kIGlubGluZSBtaW5pbXVtVmFsdWVGb3JMZW5n
dGgoKS4gQmFzZWQgb24gaU9TIFBMVCBwcm9maWxlcywKKyAgICAgICAgd2Ugc3BlbmQgdXAgdG8g
MC43JSBvZiBDUFUgdGltZSBkdXJpbmcgcGFnZSBsb2FkcyBpbiB0aGlzIGZ1bmN0aW9uLgorCisg
ICAgICAgIFRoZSByb3VuZFBlcmNlbnRhZ2VzIHBhcmFtZXRlciBoYXMgYmVlbiBkcm9wcGVkIGJl
Y2F1c2UgaXQgd2FzIGZhbHNlCisgICAgICAgIGZvciBhbGwgY2FsbCBzaXRlcy4KKworICAgICAg
ICAqIGNzcy9MZW5ndGhGdW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bWluaW11bUlu
dFZhbHVlRm9yTGVuZ3RoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1pbmltdW1WYWx1
ZUZvckxlbmd0aCk6IERlbGV0ZWQuCisgICAgICAgICogY3NzL0xlbmd0aEZ1bmN0aW9ucy5oOgor
ICAgICAgICAoV2ViQ29yZTo6bWluaW11bVZhbHVlRm9yTGVuZ3RoKToKKyAgICAgICAgKFdlYkNv
cmU6Om1pbmltdW1JbnRWYWx1ZUZvckxlbmd0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlc29sdmVFZGdlUmVsYXRp
dmVMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OmNhbGN1
bGF0ZUJhY2tncm91bmRJbWFnZUdlb21ldHJ5KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6bWluaW11bVZhbHVl
Rm9yTGVuZ3RoKToKKwogMjAxNi0wNS0yNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgogCiAgICAgICAgIFtGb250IExvYWRpbmddIEFTU0VSVCBpZiBjYWxsaW5nIEZv
bnRGYWNlLmxvYWRlZCB0d2ljZSB3aXRoIGEgZ2FyYmFnZSBjb2xsZWN0aW9uIGJldHdlZW4gdGhl
bQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0xlbmd0aEZ1bmN0aW9ucy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvTGVuZ3RoRnVuY3Rpb25zLmNwcAppbmRleCBjZjFjMDIxNmU4YzU0
Nzg2NzhkMWNlOTRjMDE2NWEzNDAyYTU4ZDljLi5iMjFkZDVkNTYzNzM5ZmZiZGQxZDg5ZDgxZTVl
NDQzMGFhZTZlMTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVuZ3RoRnVuY3Rp
b25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVuZ3RoRnVuY3Rpb25zLmNwcApAQCAt
MjUsNTAgKzI1LDE1IEBACiAjaW5jbHVkZSAiTGVuZ3RoRnVuY3Rpb25zLmgiCiAKICNpbmNsdWRl
ICJGbG9hdFNpemUuaCIKLSNpbmNsdWRlICJMYXlvdXRVbml0LmgiCiAjaW5jbHVkZSAiTGVuZ3Ro
U2l6ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWludCBtaW5pbXVtSW50VmFsdWVGb3JM
ZW5ndGgoY29uc3QgTGVuZ3RoJiBsZW5ndGgsIExheW91dFVuaXQgbWF4aW11bVZhbHVlLCBib29s
IHJvdW5kUGVyY2VudGFnZXMpCi17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4obWluaW11
bVZhbHVlRm9yTGVuZ3RoKGxlbmd0aCwgbWF4aW11bVZhbHVlLCByb3VuZFBlcmNlbnRhZ2VzKSk7
Ci19Ci0KIGludCBpbnRWYWx1ZUZvckxlbmd0aChjb25zdCBMZW5ndGgmIGxlbmd0aCwgTGF5b3V0
VW5pdCBtYXhpbXVtVmFsdWUpCiB7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odmFsdWVG
b3JMZW5ndGgobGVuZ3RoLCBtYXhpbXVtVmFsdWUpKTsKIH0KIAotTGF5b3V0VW5pdCBtaW5pbXVt
VmFsdWVGb3JMZW5ndGgoY29uc3QgTGVuZ3RoJiBsZW5ndGgsIExheW91dFVuaXQgbWF4aW11bVZh
bHVlLCBib29sIHJvdW5kUGVyY2VudGFnZXMpCi17Ci0gICAgc3dpdGNoIChsZW5ndGgudHlwZSgp
KSB7Ci0gICAgY2FzZSBGaXhlZDoKLSAgICAgICAgcmV0dXJuIGxlbmd0aC52YWx1ZSgpOwotICAg
IGNhc2UgUGVyY2VudDoKLSAgICAgICAgaWYgKHJvdW5kUGVyY2VudGFnZXMpCi0gICAgICAgICAg
ICByZXR1cm4gTGF5b3V0VW5pdChyb3VuZChtYXhpbXVtVmFsdWUgKiBsZW5ndGgucGVyY2VudCgp
IC8gMTAwLjBmKSk7Ci0gICAgICAgIC8vIERvbid0IHJlbW92ZSB0aGUgZXh0cmEgY2FzdCB0byBm
bG9hdC4gSXQgaXMgbmVlZGVkIGZvciByb3VuZGluZyBvbiAzMi1iaXQgSW50ZWwgbWFjaGluZXMg
dGhhdCB1c2UgdGhlIEZQVSBzdGFjay4KLSAgICAgICAgcmV0dXJuIExheW91dFVuaXQoc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KG1heGltdW1WYWx1ZSAqIGxlbmd0aC5wZXJjZW50KCkgLyAxMDAuMGYpKTsK
LSAgICBjYXNlIENhbGN1bGF0ZWQ6Ci0gICAgICAgIHJldHVybiBsZW5ndGgubm9uTmFuQ2FsY3Vs
YXRlZFZhbHVlKG1heGltdW1WYWx1ZSk7Ci0gICAgY2FzZSBGaWxsQXZhaWxhYmxlOgotICAgIGNh
c2UgQXV0bzoKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgY2FzZSBSZWxhdGl2ZToKLSAgICBjYXNl
IEludHJpbnNpYzoKLSAgICBjYXNlIE1pbkludHJpbnNpYzoKLSAgICBjYXNlIE1pbkNvbnRlbnQ6
Ci0gICAgY2FzZSBNYXhDb250ZW50OgotICAgIGNhc2UgRml0Q29udGVudDoKLSAgICBjYXNlIFVu
ZGVmaW5lZDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiAw
OwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsKLX0KLQog
TGF5b3V0VW5pdCB2YWx1ZUZvckxlbmd0aChjb25zdCBMZW5ndGgmIGxlbmd0aCwgTGF5b3V0VW5p
dCBtYXhpbXVtVmFsdWUpCiB7CiAgICAgc3dpdGNoIChsZW5ndGgudHlwZSgpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVuZ3RoRnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTGVuZ3RoRnVuY3Rpb25zLmgKaW5kZXggNTdlNGZhNTJlMWQ0MmNiZjdhMWEzNGQ1OTJl
MzBkZDgxMDQ3OTdjMi4uZmU3NWNlMmViMjM3NGNjYjE1M2MyNTc2ODVhMjY4MDZkZGE1NDZlOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0xlbmd0aEZ1bmN0aW9ucy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9MZW5ndGhGdW5jdGlvbnMuaApAQCAtMjQsNiArMjQsOSBAQAogI2lm
bmRlZiBMZW5ndGhGdW5jdGlvbnNfaAogI2RlZmluZSBMZW5ndGhGdW5jdGlvbnNfaAogCisjaW5j
bHVkZSAiTGF5b3V0VW5pdC5oIgorI2luY2x1ZGUgIkxlbmd0aC5oIgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEZsb2F0U2l6ZTsKQEAgLTMyLDE0ICszNSw0NSBAQCBjbGFzcyBSZW5k
ZXJWaWV3Owogc3RydWN0IExlbmd0aDsKIHN0cnVjdCBMZW5ndGhTaXplOwogCi1pbnQgbWluaW11
bUludFZhbHVlRm9yTGVuZ3RoKGNvbnN0IExlbmd0aCYsIExheW91dFVuaXQgbWF4aW11bVZhbHVl
LCBib29sIHJvdW5kUGVyY2VudGFnZXMgPSBmYWxzZSk7CitpbnQgbWluaW11bUludFZhbHVlRm9y
TGVuZ3RoKGNvbnN0IExlbmd0aCYsIExheW91dFVuaXQgbWF4aW11bVZhbHVlKTsKIGludCBpbnRW
YWx1ZUZvckxlbmd0aChjb25zdCBMZW5ndGgmLCBMYXlvdXRVbml0IG1heGltdW1WYWx1ZSk7Ci1M
YXlvdXRVbml0IG1pbmltdW1WYWx1ZUZvckxlbmd0aChjb25zdCBMZW5ndGgmLCBMYXlvdXRVbml0
IG1heGltdW1WYWx1ZSwgYm9vbCByb3VuZFBlcmNlbnRhZ2VzID0gZmFsc2UpOworTGF5b3V0VW5p
dCBtaW5pbXVtVmFsdWVGb3JMZW5ndGgoY29uc3QgTGVuZ3RoJiwgTGF5b3V0VW5pdCBtYXhpbXVt
VmFsdWUpOwogV0VCQ09SRV9FWFBPUlQgTGF5b3V0VW5pdCB2YWx1ZUZvckxlbmd0aChjb25zdCBM
ZW5ndGgmLCBMYXlvdXRVbml0IG1heGltdW1WYWx1ZSk7CiBmbG9hdCBmbG9hdFZhbHVlRm9yTGVu
Z3RoKGNvbnN0IExlbmd0aCYsIExheW91dFVuaXQgbWF4aW11bVZhbHVlKTsKIFdFQkNPUkVfRVhQ
T1JUIGZsb2F0IGZsb2F0VmFsdWVGb3JMZW5ndGgoY29uc3QgTGVuZ3RoJiwgZmxvYXQgbWF4aW11
bVZhbHVlKTsKIEZsb2F0U2l6ZSBmbG9hdFNpemVGb3JMZW5ndGhTaXplKGNvbnN0IExlbmd0aFNp
emUmLCBjb25zdCBGbG9hdFNpemUmKTsKIAoraW5saW5lIExheW91dFVuaXQgbWluaW11bVZhbHVl
Rm9yTGVuZ3RoKGNvbnN0IExlbmd0aCYgbGVuZ3RoLCBMYXlvdXRVbml0IG1heGltdW1WYWx1ZSkK
K3sKKyAgICBzd2l0Y2ggKGxlbmd0aC50eXBlKCkpIHsKKyAgICBjYXNlIEZpeGVkOgorICAgICAg
ICByZXR1cm4gbGVuZ3RoLnZhbHVlKCk7CisgICAgY2FzZSBQZXJjZW50OgorICAgICAgICAvLyBE
b24ndCByZW1vdmUgdGhlIGV4dHJhIGNhc3QgdG8gZmxvYXQuIEl0IGlzIG5lZWRlZCBmb3Igcm91
bmRpbmcgb24gMzItYml0IEludGVsIG1hY2hpbmVzIHRoYXQgdXNlIHRoZSBGUFUgc3RhY2suCisg
ICAgICAgIHJldHVybiBMYXlvdXRVbml0KHN0YXRpY19jYXN0PGZsb2F0PihtYXhpbXVtVmFsdWUg
KiBsZW5ndGgucGVyY2VudCgpIC8gMTAwLjBmKSk7CisgICAgY2FzZSBDYWxjdWxhdGVkOgorICAg
ICAgICByZXR1cm4gbGVuZ3RoLm5vbk5hbkNhbGN1bGF0ZWRWYWx1ZShtYXhpbXVtVmFsdWUpOwor
ICAgIGNhc2UgRmlsbEF2YWlsYWJsZToKKyAgICBjYXNlIEF1dG86CisgICAgICAgIHJldHVybiAw
OworICAgIGNhc2UgUmVsYXRpdmU6CisgICAgY2FzZSBJbnRyaW5zaWM6CisgICAgY2FzZSBNaW5J
bnRyaW5zaWM6CisgICAgY2FzZSBNaW5Db250ZW50OgorICAgIGNhc2UgTWF4Q29udGVudDoKKyAg
ICBjYXNlIEZpdENvbnRlbnQ6CisgICAgY2FzZSBVbmRlZmluZWQ6CisgICAgICAgIGJyZWFrOwor
ICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKworaW5s
aW5lIGludCBtaW5pbXVtSW50VmFsdWVGb3JMZW5ndGgoY29uc3QgTGVuZ3RoJiBsZW5ndGgsIExh
eW91dFVuaXQgbWF4aW11bVZhbHVlKQoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KG1p
bmltdW1WYWx1ZUZvckxlbmd0aChsZW5ndGgsIG1heGltdW1WYWx1ZSkpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBMZW5ndGhGdW5jdGlvbnNfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggNDk2
MTJmMzk0MWE0ODUyNGJkYWE5YmFmZGJiNTVkOTFjZDkzZTRhNi4uOThhYTM2MWZmODMwMjY4YWJl
MGU2ODY4M2VjM2UyMzUzZDllMWQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC0xMDUxLDcgKzEwNTEsNyBAQCBzdGF0aWMg
aW5saW5lIExheW91dFVuaXQgZ2V0U3BhY2UoTGF5b3V0VW5pdCBhcmVhU2l6ZSwgTGF5b3V0VW5p
dCB0aWxlU2l6ZSkKIAogc3RhdGljIExheW91dFVuaXQgcmVzb2x2ZUVkZ2VSZWxhdGl2ZUxlbmd0
aChjb25zdCBMZW5ndGgmIGxlbmd0aCwgRWRnZSBlZGdlLCBMYXlvdXRVbml0IGF2YWlsYWJsZVNw
YWNlLCBjb25zdCBMYXlvdXRTaXplJiBhcmVhU2l6ZSwgY29uc3QgTGF5b3V0U2l6ZSYgdGlsZVNp
emUpCiB7Ci0gICAgTGF5b3V0VW5pdCByZXN1bHQgPSBtaW5pbXVtVmFsdWVGb3JMZW5ndGgobGVu
Z3RoLCBhdmFpbGFibGVTcGFjZSwgZmFsc2UpOworICAgIExheW91dFVuaXQgcmVzdWx0ID0gbWlu
aW11bVZhbHVlRm9yTGVuZ3RoKGxlbmd0aCwgYXZhaWxhYmxlU3BhY2UpOwogCiAgICAgaWYgKGVk
Z2UgPT0gRWRnZTo6UmlnaHQpCiAgICAgICAgIHJldHVybiBhcmVhU2l6ZS53aWR0aCgpIC0gdGls
ZVNpemUud2lkdGgoKSAtIHJlc3VsdDsKQEAgLTExOTIsNyArMTE5Miw3IEBAIEJhY2tncm91bmRJ
bWFnZUdlb21ldHJ5IFJlbmRlckJveE1vZGVsT2JqZWN0OjpjYWxjdWxhdGVCYWNrZ3JvdW5kSW1h
Z2VHZW9tZXRyeShjCiAgICAgICAgIExheW91dFVuaXQgc3BhY2UgPSBnZXRTcGFjZShwb3NpdGlv
bmluZ0FyZWFTaXplLndpZHRoKCksIHRpbGVTaXplLndpZHRoKCkpOwogICAgICAgICBpZiAoc3Bh
Y2UgPj0gMCkgewogICAgICAgICAgICAgTGF5b3V0VW5pdCBhY3R1YWxXaWR0aCA9IHRpbGVTaXpl
LndpZHRoKCkgKyBzcGFjZTsKLSAgICAgICAgICAgIGNvbXB1dGVkWFBvc2l0aW9uID0gbWluaW11
bVZhbHVlRm9yTGVuZ3RoKExlbmd0aCgpLCBhdmFpbGFibGVXaWR0aCwgZmFsc2UpOworICAgICAg
ICAgICAgY29tcHV0ZWRYUG9zaXRpb24gPSBtaW5pbXVtVmFsdWVGb3JMZW5ndGgoTGVuZ3RoKCks
IGF2YWlsYWJsZVdpZHRoKTsKICAgICAgICAgICAgIHNwYWNlU2l6ZS5zZXRXaWR0aChzcGFjZSk7
CiAgICAgICAgICAgICBzcGFjZVNpemUuc2V0SGVpZ2h0KDApOwogICAgICAgICAgICAgcGhhc2Uu
c2V0V2lkdGgoYWN0dWFsV2lkdGggPyBhY3R1YWxXaWR0aCAtIGZtb2RmKChjb21wdXRlZFhQb3Np
dGlvbiArIGxlZnQpLCBhY3R1YWxXaWR0aCkgOiAwKTsKQEAgLTEyMTgsNyArMTIxOCw3IEBAIEJh
Y2tncm91bmRJbWFnZUdlb21ldHJ5IFJlbmRlckJveE1vZGVsT2JqZWN0OjpjYWxjdWxhdGVCYWNr
Z3JvdW5kSW1hZ2VHZW9tZXRyeShjCiAKICAgICAgICAgaWYgKHNwYWNlID49IDApIHsKICAgICAg
ICAgICAgIExheW91dFVuaXQgYWN0dWFsSGVpZ2h0ID0gdGlsZVNpemUuaGVpZ2h0KCkgKyBzcGFj
ZTsKLSAgICAgICAgICAgIGNvbXB1dGVkWVBvc2l0aW9uID0gbWluaW11bVZhbHVlRm9yTGVuZ3Ro
KExlbmd0aCgpLCBhdmFpbGFibGVIZWlnaHQsIGZhbHNlKTsKKyAgICAgICAgICAgIGNvbXB1dGVk
WVBvc2l0aW9uID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKExlbmd0aCgpLCBhdmFpbGFibGVIZWln
aHQpOwogICAgICAgICAgICAgc3BhY2VTaXplLnNldEhlaWdodChzcGFjZSk7CiAgICAgICAgICAg
ICBwaGFzZS5zZXRIZWlnaHQoYWN0dWFsSGVpZ2h0ID8gYWN0dWFsSGVpZ2h0IC0gZm1vZGYoKGNv
bXB1dGVkWVBvc2l0aW9uICsgdG9wKSwgYWN0dWFsSGVpZ2h0KSA6IDApOwogICAgICAgICB9IGVs
c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IDZmMjQ0NDU5
N2JlODg0MWUwNjQxYjZkY2UwMTU0OTBkNDQyNWNjYWQuLmI3MjY1MzFjMDE1MTI3ZDA4OThjNTRh
NjU2MGFkZWQxYmYxZGFlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaApAQCAtMjQxLDcgKzI0MSw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHByb3BhZ2F0ZVN0
eWxlVG9Bbm9ueW1vdXNDaGlsZHJlbihTdHlsZVByb3BhZ2F0aW9uVHlwZSk7CiAKICAgICBMYXlv
dXRVbml0IHZhbHVlRm9yTGVuZ3RoKGNvbnN0IExlbmd0aCYsIExheW91dFVuaXQgbWF4aW11bVZh
bHVlKSBjb25zdDsKLSAgICBMYXlvdXRVbml0IG1pbmltdW1WYWx1ZUZvckxlbmd0aChjb25zdCBM
ZW5ndGgmLCBMYXlvdXRVbml0IG1heGltdW1WYWx1ZSwgYm9vbCByb3VuZFBlcmNlbnRhZ2VzID0g
ZmFsc2UpIGNvbnN0OworICAgIExheW91dFVuaXQgbWluaW11bVZhbHVlRm9yTGVuZ3RoKGNvbnN0
IExlbmd0aCYsIExheW91dFVuaXQgbWF4aW11bVZhbHVlKSBjb25zdDsKIAogICAgIHZvaWQgc2V0
Rmlyc3RDaGlsZChSZW5kZXJPYmplY3QqIGNoaWxkKSB7IG1fZmlyc3RDaGlsZCA9IGNoaWxkOyB9
CiAgICAgdm9pZCBzZXRMYXN0Q2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCkgeyBtX2xhc3RDaGls
ZCA9IGNoaWxkOyB9CkBAIC0zNzEsOSArMzcxLDkgQEAgaW5saW5lIExheW91dFVuaXQgUmVuZGVy
RWxlbWVudDo6dmFsdWVGb3JMZW5ndGgoY29uc3QgTGVuZ3RoJiBsZW5ndGgsIExheW91dFVuaXQK
ICAgICByZXR1cm4gV2ViQ29yZTo6dmFsdWVGb3JMZW5ndGgobGVuZ3RoLCBtYXhpbXVtVmFsdWUp
OwogfQogCi1pbmxpbmUgTGF5b3V0VW5pdCBSZW5kZXJFbGVtZW50OjptaW5pbXVtVmFsdWVGb3JM
ZW5ndGgoY29uc3QgTGVuZ3RoJiBsZW5ndGgsIExheW91dFVuaXQgbWF4aW11bVZhbHVlLCBib29s
IHJvdW5kUGVyY2VudGFnZXMpIGNvbnN0CitpbmxpbmUgTGF5b3V0VW5pdCBSZW5kZXJFbGVtZW50
OjptaW5pbXVtVmFsdWVGb3JMZW5ndGgoY29uc3QgTGVuZ3RoJiBsZW5ndGgsIExheW91dFVuaXQg
bWF4aW11bVZhbHVlKSBjb25zdAogewotICAgIHJldHVybiBXZWJDb3JlOjptaW5pbXVtVmFsdWVG
b3JMZW5ndGgobGVuZ3RoLCBtYXhpbXVtVmFsdWUsIHJvdW5kUGVyY2VudGFnZXMpOworICAgIHJl
dHVybiBXZWJDb3JlOjptaW5pbXVtVmFsdWVGb3JMZW5ndGgobGVuZ3RoLCBtYXhpbXVtVmFsdWUp
OwogfQogCiBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50Ojppc1JlbmRlckxheWVyTW9kZWxPYmpl
Y3QoKSBjb25zdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>