<?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>156050</bug_id>
          
          <creation_ts>2016-03-30 17:54:44 -0700</creation_ts>
          <short_desc>[iOS WK2] Avoid creating tiles that are too large for rendering</short_desc>
          <delta_ts>2016-03-30 19:08:24 -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>New Bugs</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1179266</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-03-30 17:54:44 -0700</bug_when>
    <thetext>[iOS WK2] Avoid creating tiles that are too large for rendering</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179269</commentid>
    <comment_count>1</comment_count>
      <attachid>275247</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-03-30 17:58:47 -0700</bug_when>
    <thetext>Created attachment 275247
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179282</commentid>
    <comment_count>2</comment_count>
      <attachid>275253</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-03-30 18:31:19 -0700</bug_when>
    <thetext>Created attachment 275253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179288</commentid>
    <comment_count>3</comment_count>
      <attachid>275253</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-03-30 18:37:39 -0700</bug_when>
    <thetext>Comment on attachment 275253
Patch

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

&gt; Source/WebCore/platform/graphics/ca/TileController.cpp:499
&gt; +    surfaceSizeLimit.scale(1 / m_deviceScaleFactor);

Is this always going to be correct when devices have more than a single display with different device scale factors?

&gt; Source/WebCore/platform/graphics/ca/TileController.cpp:512
&gt; +        tileSize.setWidth(std::min(std::max&lt;int&gt;(ceilf(boundsWithoutMargin().width() * tileGrid().scale()), kDefaultTileSize), maxTileSize.height()));

Surprised to see maxTileSize.height() here in a line that’s about width. Wouldn’t width() be right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179289</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-03-30 19:00:20 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 275253 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=275253&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/ca/TileController.cpp:499
&gt; &gt; +    surfaceSizeLimit.scale(1 / m_deviceScaleFactor);
&gt; 
&gt; Is this always going to be correct when devices have more than a single
&gt; display with different device scale factors?

Yes, this is the m_deviceScaleFactor for the window that this TileController&apos;s view is (primarily) on.

&gt; &gt; Source/WebCore/platform/graphics/ca/TileController.cpp:512
&gt; &gt; +        tileSize.setWidth(std::min(std::max&lt;int&gt;(ceilf(boundsWithoutMargin().width() * tileGrid().scale()), kDefaultTileSize), maxTileSize.height()));
&gt; 
&gt; Surprised to see maxTileSize.height() here in a line that’s about width.
&gt; Wouldn’t width() be right?

Yes, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179297</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-03-30 19:08:24 -0700</bug_when>
    <thetext>https://trac.webkit.org/r198875</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275247</attachid>
            <date>2016-03-30 17:58:47 -0700</date>
            <delta_ts>2016-03-30 18:31:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156050-20160330175851.patch</filename>
            <type>text/plain</type>
            <size>4939</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4NzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzY3ZjMyOTQ3NzFkOTFl
OGI0Mzk3ZDg4Mzc2MWNlMTNjODg5MGFmOC4uMzJlOTQ1NDRlZTU5NjQzZGJiNmI5NjRkZDhjMzNl
Y2ZhN2M5M2NiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2LTAzLTMwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgV0syXSBB
dm9pZCBjcmVhdGluZyB0aWxlcyB0aGF0IGFyZSB0b28gbGFyZ2UgZm9yIHJlbmRlcmluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2MDUwCisgICAg
ICAgIHJkYXI6Ly9wcm9ibGVtLzI1NDI0NTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSW4gdGhlIGNhc2Ugb2YgYSBXS1dlYlZpZXcgd2hpY2ggaXMg
c2l6ZWQgbGFyZ2UgZW5vdWdoIHRvIHNob3cgYW4gZW50aXJlIGRvY3VtZW50CisgICAgICAgIChm
b3IgZXhhbXBsZSwgd2hlbiBlbmNsb3NlZCBpbnNpZGUgYSBVSVNjcm9sbFZpZXcpLCB3ZSB3b3Vs
ZCBjcmVhdGUgdGlsZXMgdGhhdCB3ZXJlCisgICAgICAgIGxhcmdlciB0aGFuIENvcmVBbmltYXRp
b24gd2FzIHdpbGxpbmcgdG8gZGVhbCB3aXRoLgorICAgICAgICAKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxl
Q29udHJvbGxlcjo6dGlsZVNpemUpOiBUYWtlIHRoZSBkZXZpY2Ugc2NhbGUsIGFuZCB0aGUgbWF4
IElPU3VyZmFjZSBzaXplCisgICAgICAgIGludG8gYWNjb3VudCB3aGVuIGNvbXB1dGluZyB0aGUg
bWF4IHRpbGUgc2l6ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZh
Y2UubW06CisgICAgICAgIChJT1N1cmZhY2U6Om1heGltdW1TaXplKTogQ29yZUFuaW1hdGlvbiBp
bXBvc2VzIGxpbWl0cyBpbiBhZGRpdGlvbiB0byB0aGUgc2l6ZSByZXBvcnRlZAorICAgICAgICBi
eSBJT1N1cmZhY2VHZXRQcm9wZXJ0eU1heGltdW0oKSwgbmFtZWx5IGFuIDhrIGNhcCwgc28gbWlt
aWMgdGhhdCBoZXJlLgorICAgICAgICAoSU9TdXJmYWNlOjplbnN1cmVQbGF0Zm9ybUNvbnRleHQp
OiBUeXBvLgorCiAyMDE2LTAzLTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIEluc3BlY3RvciBNZW1vcnkgVGltZWxpbmUgc29tZXRpbWVzIGVuY291
bnRlcnMgdW5zdG9wcGFibGUgckFGIGRyYXdpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcAppbmRleCA5OWI1YjYyMGYx
OWM1Y2FmYWNhMDdiNjM4MjhjNzY1NzRmMDViOTFkLi5jOTQ3OWE3YWQ0ZGYxOGJjODcxMzBiNzI2
Yzk1ZmJiYWM4MGNjM2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiVGlsZUNvbnRyb2xsZXIuaCIKIAorI2luY2x1ZGUgIklP
U3VyZmFjZS5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1DQUxheWVyLmgiCkBAIC00ODksMTYgKzQ5MCwyMyBAQCBJbnRTaXpl
IFRpbGVDb250cm9sbGVyOjp0aWxlU2l6ZSgpIGNvbnN0CiAgICAgaWYgKG1faW5MaXZlUmVzaXpl
IHx8IG1fdGlsZVNpemVMb2NrZWQpCiAgICAgICAgIHJldHVybiB0aWxlR3JpZCgpLnRpbGVTaXpl
KCk7CiAKKyAgICBJbnRTaXplIG1heFRpbGVTaXplKGtHaWFudFRpbGVTaXplLCBrR2lhbnRUaWxl
U2l6ZSk7CisjaWYgVVNFKElPU1VSRkFDRSkKKyAgICBJbnRTaXplIHN1cmZhY2VTaXplTGltaXQg
PSBJT1N1cmZhY2U6Om1heGltdW1TaXplKCk7CisgICAgc3VyZmFjZVNpemVMaW1pdC5zY2FsZSgx
IC8gbV9kZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgbWF4VGlsZVNpemUgPSBtYXhUaWxlU2l6ZS5z
aHJ1bmtUbyhzdXJmYWNlU2l6ZUxpbWl0KTsKKyNlbmRpZgorICAgIAogICAgIGlmIChvd25pbmdH
cmFwaGljc0xheWVyKCktPnBsYXRmb3JtQ0FMYXllclVzZUdpYW50VGlsZXMoKSkKLSAgICAgICAg
cmV0dXJuIEludFNpemUoa0dpYW50VGlsZVNpemUsIGtHaWFudFRpbGVTaXplKTsKKyAgICAgICAg
cmV0dXJuIG1heFRpbGVTaXplOwogCiAgICAgSW50U2l6ZSB0aWxlU2l6ZShrRGVmYXVsdFRpbGVT
aXplLCBrRGVmYXVsdFRpbGVTaXplKTsKIAogICAgIGlmIChtX3Njcm9sbGFiaWxpdHkgPT0gTm90
U2Nyb2xsYWJsZSkgewogICAgICAgICBJbnRTaXplIHNjYWxlZFNpemUgPSBleHBhbmRlZEludFNp
emUoYm91bmRzV2l0aG91dE1hcmdpbigpLnNpemUoKSAqIHRpbGVHcmlkKCkuc2NhbGUoKSk7Ci0g
ICAgICAgIHRpbGVTaXplID0gc2NhbGVkU2l6ZS5jb25zdHJhaW5lZEJldHdlZW4oSW50U2l6ZShr
RGVmYXVsdFRpbGVTaXplLCBrRGVmYXVsdFRpbGVTaXplKSwgSW50U2l6ZShrR2lhbnRUaWxlU2l6
ZSwga0dpYW50VGlsZVNpemUpKTsKKyAgICAgICAgdGlsZVNpemUgPSBzY2FsZWRTaXplLmNvbnN0
cmFpbmVkQmV0d2VlbihJbnRTaXplKGtEZWZhdWx0VGlsZVNpemUsIGtEZWZhdWx0VGlsZVNpemUp
LCBtYXhUaWxlU2l6ZSk7CiAgICAgfSBlbHNlIGlmIChtX3Njcm9sbGFiaWxpdHkgPT0gVmVydGlj
YWxseVNjcm9sbGFibGUpCi0gICAgICAgIHRpbGVTaXplLnNldFdpZHRoKHN0ZDo6bWluKHN0ZDo6
bWF4PGludD4oY2VpbGYoYm91bmRzV2l0aG91dE1hcmdpbigpLndpZHRoKCkgKiB0aWxlR3JpZCgp
LnNjYWxlKCkpLCBrRGVmYXVsdFRpbGVTaXplKSwga0dpYW50VGlsZVNpemUpKTsKKyAgICAgICAg
dGlsZVNpemUuc2V0V2lkdGgoc3RkOjptaW4oc3RkOjptYXg8aW50PihjZWlsZihib3VuZHNXaXRo
b3V0TWFyZ2luKCkud2lkdGgoKSAqIHRpbGVHcmlkKCkuc2NhbGUoKSksIGtEZWZhdWx0VGlsZVNp
emUpLCBtYXhUaWxlU2l6ZS5oZWlnaHQoKSkpOwogCiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9s
bGluZywgc3RyZWFtIDw8ICJUaWxlQ29udHJvbGxlcjo6dGlsZVNpemUgbmV3U2l6ZT0iIDw8IHRp
bGVTaXplKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvSU9TdXJmYWNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvSU9TdXJmYWNlLm1tCmluZGV4IDlmYTZmMjMwOTM5NTM2YjM5ZDQ4M2MzMjI4ZTdjN2I5MmIz
ZGViYjYuLmQ2ZDk3ODBkNTA1ZGZmZDFkY2Q5ZTY1ODJmYjYzZTcyYzNiMzMzYzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0K
QEAgLTIzOSw3ICsyMzksMTMgQEAgSU9TdXJmYWNlOjpJT1N1cmZhY2UoSU9TdXJmYWNlUmVmIHN1
cmZhY2UsIENvbG9yU3BhY2UgY29sb3JTcGFjZSkKIAogSW50U2l6ZSBJT1N1cmZhY2U6Om1heGlt
dW1TaXplKCkKIHsKLSAgICByZXR1cm4gSW50U2l6ZShJT1N1cmZhY2VHZXRQcm9wZXJ0eU1heGlt
dW0oa0lPU3VyZmFjZVdpZHRoKSwgSU9TdXJmYWNlR2V0UHJvcGVydHlNYXhpbXVtKGtJT1N1cmZh
Y2VIZWlnaHQpKTsKKyAgICBJbnRTaXplIG1heFNpemUoSU9TdXJmYWNlR2V0UHJvcGVydHlNYXhp
bXVtKGtJT1N1cmZhY2VXaWR0aCksIElPU3VyZmFjZUdldFByb3BlcnR5TWF4aW11bShrSU9TdXJm
YWNlSGVpZ2h0KSk7CisjaWYgUExBVEZPUk0oSU9TKQorICAgIC8vIE1hdGNoIGxpbWl0cyBpbXBv
c2VkIGJ5IENBLiBGSVhNRTogc2hvdWxkIGhhdmUgQVBJIGZvciB0aGlzIDxyZGFyOi8vcHJvYmxl
bS8yNTQ1NDE0OD4KKyAgICBjb25zdCBpbnQgaU9TTWF4U3VyZmFjZURpbWVuc2lvbiA9IDggKiAx
MDI0OworICAgIG1heFNpemUgPSBtYXhTaXplLnNocnVua1RvKHsgaU9TTWF4U3VyZmFjZURpbWVu
c2lvbiwgaU9TTWF4U3VyZmFjZURpbWVuc2lvbiB9KTsKKyNlbmRpZgorICAgIHJldHVybiBtYXhT
aXplOwogfQogCiBNYWNoU2VuZFJpZ2h0IElPU3VyZmFjZTo6Y3JlYXRlU2VuZFJpZ2h0KCkgY29u
c3QKQEAgLTI4OCw3ICsyOTQsNyBAQCBDR0NvbnRleHRSZWYgSU9TdXJmYWNlOjplbnN1cmVQbGF0
Zm9ybUNvbnRleHQoKQogICAgIGNhc2UgRm9ybWF0OjpSR0IxMDoKICAgICBjYXNlIEZvcm1hdDo6
UkdCMTBBODoKICAgICAgICAgLy8gQSBoYWxmLWZsb2F0IGZvcm1hdCB3aWxsIGJlIHVzZWQgaWYg
Q0cgbmVlZHMgdG8gcmVhZCBiYWNrIHRoZSBJT1N1cmZhY2UgY29udGVudHMsCi0gICAgICAgIC8v
IGJ1dCBmb3IgYW4gSU9TdXJmYWNlLXRvLUlPU3VyZmFjZSBjb3B5LCB0aGVyZSBzaG91ZCBiZSBu
byBjb252ZXJzaW9uLgorICAgICAgICAvLyBidXQgZm9yIGFuIElPU3VyZmFjZS10by1JT1N1cmZh
Y2UgY29weSwgdGhlcmUgc2hvdWxkIGJlIG5vIGNvbnZlcnNpb24uCiAgICAgICAgIGJpdHNQZXJD
b21wb25lbnQgPSAxNjsKICAgICAgICAgYml0c1BlclBpeGVsID0gNjQ7CiAgICAgICAgIGJpdG1h
cEluZm8gPSBrQ0dJbWFnZUFscGhhUHJlbXVsdGlwbGllZExhc3QgfCBrQ0dCaXRtYXBCeXRlT3Jk
ZXIxNkhvc3QgfCBrQ0dCaXRtYXBGbG9hdENvbXBvbmVudHM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275253</attachid>
            <date>2016-03-30 18:31:19 -0700</date>
            <delta_ts>2016-03-30 18:37:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156050-20160330183122.patch</filename>
            <type>text/plain</type>
            <size>4995</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4NzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzY3ZjMyOTQ3NzFkOTFl
OGI0Mzk3ZDg4Mzc2MWNlMTNjODg5MGFmOC4uMzJlOTQ1NDRlZTU5NjQzZGJiNmI5NjRkZDhjMzNl
Y2ZhN2M5M2NiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2LTAzLTMwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgV0syXSBB
dm9pZCBjcmVhdGluZyB0aWxlcyB0aGF0IGFyZSB0b28gbGFyZ2UgZm9yIHJlbmRlcmluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2MDUwCisgICAg
ICAgIHJkYXI6Ly9wcm9ibGVtLzI1NDI0NTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSW4gdGhlIGNhc2Ugb2YgYSBXS1dlYlZpZXcgd2hpY2ggaXMg
c2l6ZWQgbGFyZ2UgZW5vdWdoIHRvIHNob3cgYW4gZW50aXJlIGRvY3VtZW50CisgICAgICAgIChm
b3IgZXhhbXBsZSwgd2hlbiBlbmNsb3NlZCBpbnNpZGUgYSBVSVNjcm9sbFZpZXcpLCB3ZSB3b3Vs
ZCBjcmVhdGUgdGlsZXMgdGhhdCB3ZXJlCisgICAgICAgIGxhcmdlciB0aGFuIENvcmVBbmltYXRp
b24gd2FzIHdpbGxpbmcgdG8gZGVhbCB3aXRoLgorICAgICAgICAKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxl
Q29udHJvbGxlcjo6dGlsZVNpemUpOiBUYWtlIHRoZSBkZXZpY2Ugc2NhbGUsIGFuZCB0aGUgbWF4
IElPU3VyZmFjZSBzaXplCisgICAgICAgIGludG8gYWNjb3VudCB3aGVuIGNvbXB1dGluZyB0aGUg
bWF4IHRpbGUgc2l6ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZh
Y2UubW06CisgICAgICAgIChJT1N1cmZhY2U6Om1heGltdW1TaXplKTogQ29yZUFuaW1hdGlvbiBp
bXBvc2VzIGxpbWl0cyBpbiBhZGRpdGlvbiB0byB0aGUgc2l6ZSByZXBvcnRlZAorICAgICAgICBi
eSBJT1N1cmZhY2VHZXRQcm9wZXJ0eU1heGltdW0oKSwgbmFtZWx5IGFuIDhrIGNhcCwgc28gbWlt
aWMgdGhhdCBoZXJlLgorICAgICAgICAoSU9TdXJmYWNlOjplbnN1cmVQbGF0Zm9ybUNvbnRleHQp
OiBUeXBvLgorCiAyMDE2LTAzLTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIEluc3BlY3RvciBNZW1vcnkgVGltZWxpbmUgc29tZXRpbWVzIGVuY291
bnRlcnMgdW5zdG9wcGFibGUgckFGIGRyYXdpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcAppbmRleCA5OWI1YjYyMGYx
OWM1Y2FmYWNhMDdiNjM4MjhjNzY1NzRmMDViOTFkLi40MThmNTIwNGQ4NGI4MGZkMDU0YWEzOTdm
ZGUxY2I1MzgwZTYxYzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCkBAIC0zNiw2ICszNiwxMCBAQAogI2luY2x1
ZGUgPHV0aWxpdHk+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAorI2lmIFVTRShJT1NV
UkZBQ0UpCisjaW5jbHVkZSAiSU9TdXJmYWNlLmgiCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElP
UykKICNpbmNsdWRlICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKICNpbmNsdWRlICJUaWxlQ29u
dHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuaCIKQEAgLTQ4OSwxNiArNDkzLDIzIEBAIEludFNpemUg
VGlsZUNvbnRyb2xsZXI6OnRpbGVTaXplKCkgY29uc3QKICAgICBpZiAobV9pbkxpdmVSZXNpemUg
fHwgbV90aWxlU2l6ZUxvY2tlZCkKICAgICAgICAgcmV0dXJuIHRpbGVHcmlkKCkudGlsZVNpemUo
KTsKIAorICAgIEludFNpemUgbWF4VGlsZVNpemUoa0dpYW50VGlsZVNpemUsIGtHaWFudFRpbGVT
aXplKTsKKyNpZiBVU0UoSU9TVVJGQUNFKQorICAgIEludFNpemUgc3VyZmFjZVNpemVMaW1pdCA9
IElPU3VyZmFjZTo6bWF4aW11bVNpemUoKTsKKyAgICBzdXJmYWNlU2l6ZUxpbWl0LnNjYWxlKDEg
LyBtX2RldmljZVNjYWxlRmFjdG9yKTsKKyAgICBtYXhUaWxlU2l6ZSA9IG1heFRpbGVTaXplLnNo
cnVua1RvKHN1cmZhY2VTaXplTGltaXQpOworI2VuZGlmCisgICAgCiAgICAgaWYgKG93bmluZ0dy
YXBoaWNzTGF5ZXIoKS0+cGxhdGZvcm1DQUxheWVyVXNlR2lhbnRUaWxlcygpKQotICAgICAgICBy
ZXR1cm4gSW50U2l6ZShrR2lhbnRUaWxlU2l6ZSwga0dpYW50VGlsZVNpemUpOworICAgICAgICBy
ZXR1cm4gbWF4VGlsZVNpemU7CiAKICAgICBJbnRTaXplIHRpbGVTaXplKGtEZWZhdWx0VGlsZVNp
emUsIGtEZWZhdWx0VGlsZVNpemUpOwogCiAgICAgaWYgKG1fc2Nyb2xsYWJpbGl0eSA9PSBOb3RT
Y3JvbGxhYmxlKSB7CiAgICAgICAgIEludFNpemUgc2NhbGVkU2l6ZSA9IGV4cGFuZGVkSW50U2l6
ZShib3VuZHNXaXRob3V0TWFyZ2luKCkuc2l6ZSgpICogdGlsZUdyaWQoKS5zY2FsZSgpKTsKLSAg
ICAgICAgdGlsZVNpemUgPSBzY2FsZWRTaXplLmNvbnN0cmFpbmVkQmV0d2VlbihJbnRTaXplKGtE
ZWZhdWx0VGlsZVNpemUsIGtEZWZhdWx0VGlsZVNpemUpLCBJbnRTaXplKGtHaWFudFRpbGVTaXpl
LCBrR2lhbnRUaWxlU2l6ZSkpOworICAgICAgICB0aWxlU2l6ZSA9IHNjYWxlZFNpemUuY29uc3Ry
YWluZWRCZXR3ZWVuKEludFNpemUoa0RlZmF1bHRUaWxlU2l6ZSwga0RlZmF1bHRUaWxlU2l6ZSks
IG1heFRpbGVTaXplKTsKICAgICB9IGVsc2UgaWYgKG1fc2Nyb2xsYWJpbGl0eSA9PSBWZXJ0aWNh
bGx5U2Nyb2xsYWJsZSkKLSAgICAgICAgdGlsZVNpemUuc2V0V2lkdGgoc3RkOjptaW4oc3RkOjpt
YXg8aW50PihjZWlsZihib3VuZHNXaXRob3V0TWFyZ2luKCkud2lkdGgoKSAqIHRpbGVHcmlkKCku
c2NhbGUoKSksIGtEZWZhdWx0VGlsZVNpemUpLCBrR2lhbnRUaWxlU2l6ZSkpOworICAgICAgICB0
aWxlU2l6ZS5zZXRXaWR0aChzdGQ6Om1pbihzdGQ6Om1heDxpbnQ+KGNlaWxmKGJvdW5kc1dpdGhv
dXRNYXJnaW4oKS53aWR0aCgpICogdGlsZUdyaWQoKS5zY2FsZSgpKSwga0RlZmF1bHRUaWxlU2l6
ZSksIG1heFRpbGVTaXplLmhlaWdodCgpKSk7CiAKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xs
aW5nLCBzdHJlYW0gPDwgIlRpbGVDb250cm9sbGVyOjp0aWxlU2l6ZSBuZXdTaXplPSIgPDwgdGls
ZVNpemUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9JT1N1cmZhY2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9JT1N1cmZhY2UubW0KaW5kZXggOWZhNmYyMzA5Mzk1MzZiMzlkNDgzYzMyMjhlN2M3YjkyYjNk
ZWJiNi4uZDZkOTc4MGQ1MDVkZmZkMWRjZDllNjU4MmZiNjNlNzJjM2IzMzNjNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJmYWNlLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQpA
QCAtMjM5LDcgKzIzOSwxMyBAQCBJT1N1cmZhY2U6OklPU3VyZmFjZShJT1N1cmZhY2VSZWYgc3Vy
ZmFjZSwgQ29sb3JTcGFjZSBjb2xvclNwYWNlKQogCiBJbnRTaXplIElPU3VyZmFjZTo6bWF4aW11
bVNpemUoKQogewotICAgIHJldHVybiBJbnRTaXplKElPU3VyZmFjZUdldFByb3BlcnR5TWF4aW11
bShrSU9TdXJmYWNlV2lkdGgpLCBJT1N1cmZhY2VHZXRQcm9wZXJ0eU1heGltdW0oa0lPU3VyZmFj
ZUhlaWdodCkpOworICAgIEludFNpemUgbWF4U2l6ZShJT1N1cmZhY2VHZXRQcm9wZXJ0eU1heGlt
dW0oa0lPU3VyZmFjZVdpZHRoKSwgSU9TdXJmYWNlR2V0UHJvcGVydHlNYXhpbXVtKGtJT1N1cmZh
Y2VIZWlnaHQpKTsKKyNpZiBQTEFURk9STShJT1MpCisgICAgLy8gTWF0Y2ggbGltaXRzIGltcG9z
ZWQgYnkgQ0EuIEZJWE1FOiBzaG91bGQgaGF2ZSBBUEkgZm9yIHRoaXMgPHJkYXI6Ly9wcm9ibGVt
LzI1NDU0MTQ4PgorICAgIGNvbnN0IGludCBpT1NNYXhTdXJmYWNlRGltZW5zaW9uID0gOCAqIDEw
MjQ7CisgICAgbWF4U2l6ZSA9IG1heFNpemUuc2hydW5rVG8oeyBpT1NNYXhTdXJmYWNlRGltZW5z
aW9uLCBpT1NNYXhTdXJmYWNlRGltZW5zaW9uIH0pOworI2VuZGlmCisgICAgcmV0dXJuIG1heFNp
emU7CiB9CiAKIE1hY2hTZW5kUmlnaHQgSU9TdXJmYWNlOjpjcmVhdGVTZW5kUmlnaHQoKSBjb25z
dApAQCAtMjg4LDcgKzI5NCw3IEBAIENHQ29udGV4dFJlZiBJT1N1cmZhY2U6OmVuc3VyZVBsYXRm
b3JtQ29udGV4dCgpCiAgICAgY2FzZSBGb3JtYXQ6OlJHQjEwOgogICAgIGNhc2UgRm9ybWF0OjpS
R0IxMEE4OgogICAgICAgICAvLyBBIGhhbGYtZmxvYXQgZm9ybWF0IHdpbGwgYmUgdXNlZCBpZiBD
RyBuZWVkcyB0byByZWFkIGJhY2sgdGhlIElPU3VyZmFjZSBjb250ZW50cywKLSAgICAgICAgLy8g
YnV0IGZvciBhbiBJT1N1cmZhY2UtdG8tSU9TdXJmYWNlIGNvcHksIHRoZXJlIHNob3VkIGJlIG5v
IGNvbnZlcnNpb24uCisgICAgICAgIC8vIGJ1dCBmb3IgYW4gSU9TdXJmYWNlLXRvLUlPU3VyZmFj
ZSBjb3B5LCB0aGVyZSBzaG91bGQgYmUgbm8gY29udmVyc2lvbi4KICAgICAgICAgYml0c1BlckNv
bXBvbmVudCA9IDE2OwogICAgICAgICBiaXRzUGVyUGl4ZWwgPSA2NDsKICAgICAgICAgYml0bWFw
SW5mbyA9IGtDR0ltYWdlQWxwaGFQcmVtdWx0aXBsaWVkTGFzdCB8IGtDR0JpdG1hcEJ5dGVPcmRl
cjE2SG9zdCB8IGtDR0JpdG1hcEZsb2F0Q29tcG9uZW50czsK
</data>
<flag name="review"
          id="299622"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>