<?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>131867</bug_id>
          
          <creation_ts>2014-04-18 17:05:25 -0700</creation_ts>
          <short_desc>[WebGL] Limit maximum texture sizes on older Intel hardware</short_desc>
          <delta_ts>2014-04-18 22:32: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>WebGL</component>
          <version>528+ (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="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>noam</cc>
    
    <cc>roger_fong</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1002078</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-04-18 17:05:25 -0700</bug_when>
    <thetext>Chrome and Firefox limit the maximum size of textures on Intel hardware due to corruption that may reveal the contents of other windows. We should do the same.

&lt;rdar://problem/16582628&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002079</commentid>
    <comment_count>1</comment_count>
      <attachid>229686</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-04-18 17:09:37 -0700</bug_when>
    <thetext>Created attachment 229686
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002081</commentid>
    <comment_count>2</comment_count>
      <attachid>229686</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-04-18 17:17:31 -0700</bug_when>
    <thetext>Comment on attachment 229686
Patch

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

r=me

&gt; Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:103
&gt; +    // Intel HD 3000 devices have problems with
&gt; +    // large textures. &lt;rdar://problem/16649140&gt;

This can be one line.

&gt; Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:252
&gt; +    case MAX_TEXTURE_SIZE:
&gt; +        ::glGetIntegerv(MAX_TEXTURE_SIZE, value);
&gt; +        if (getExtensions()-&gt;requiresRestrictedMaximumTextureSize())
&gt; +            *value = std::min(4096, *value);
&gt; +        break;
&gt; +    case MAX_CUBE_MAP_TEXTURE_SIZE:
&gt; +        ::glGetIntegerv(MAX_CUBE_MAP_TEXTURE_SIZE, value);
&gt; +        if (getExtensions()-&gt;requiresRestrictedMaximumTextureSize())
&gt; +            *value = std::min(1024, *value);
&gt; +        break;

Should we really silently truncate instead of just failing and returning an error? What&apos;s the expected behavior here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002082</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-04-18 17:20:15 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 229686 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=229686&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:103
&gt; &gt; +    // Intel HD 3000 devices have problems with
&gt; &gt; +    // large textures. &lt;rdar://problem/16649140&gt;
&gt; 
&gt; This can be one line.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:252
&gt; &gt; +    case MAX_TEXTURE_SIZE:
&gt; &gt; +        ::glGetIntegerv(MAX_TEXTURE_SIZE, value);
&gt; &gt; +        if (getExtensions()-&gt;requiresRestrictedMaximumTextureSize())
&gt; &gt; +            *value = std::min(4096, *value);
&gt; &gt; +        break;
&gt; &gt; +    case MAX_CUBE_MAP_TEXTURE_SIZE:
&gt; &gt; +        ::glGetIntegerv(MAX_CUBE_MAP_TEXTURE_SIZE, value);
&gt; &gt; +        if (getExtensions()-&gt;requiresRestrictedMaximumTextureSize())
&gt; &gt; +            *value = std::min(1024, *value);
&gt; &gt; +        break;
&gt; 
&gt; Should we really silently truncate instead of just failing and returning an error? What&apos;s the expected behavior here?

Yeah, we need to truncate. If we just fail then Intel 3000 cards can never render with textures, which breaks WebGL pretty completely.

A limit of 4096*4096 is still a huge texture, larger than most screens. It&apos;s not an overly restrictive limit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002089</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-04-18 17:30:40 -0700</bug_when>
    <thetext>Committed r167520: &lt;http://trac.webkit.org/changeset/167520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002167</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-18 22:23:35 -0700</bug_when>
    <thetext>This broke two tests on bots:
fast/canvas/webgl/webgl-compressed-texture-size-limit.html
webgl/1.0.2/conformance/textures/texture-size-limit.html

Given that the tests used to pass on the hardware we have, seems like the patch may be over-zealous? Failing a conformance test doesn&apos;t seem great either (we actually fail it, it&apos;s not just canted output).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002177</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-18 22:32:36 -0700</bug_when>
    <thetext>s/canted/changed/</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229686</attachid>
            <date>2014-04-18 17:09:37 -0700</date>
            <delta_ts>2014-04-18 17:17:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131867-20140418170915.patch</filename>
            <type>text/plain</type>
            <size>5757</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3Mzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBlOGVlNjg1YzE0ZjNj
MmNkOGFmZjRkY2ViZTkyNDNiOTQ5ZWE4Zi4uMzA5N2MxMTU1MWI2NmI1Y2UzMWYyMGM0NzIxODlh
MjE3YjkxNTJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE0LTA0LTE4ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIExpbWl0IG1heGlt
dW0gdGV4dHVyZSBzaXplcyBvbiBvbGRlciBJbnRlbCBoYXJkd2FyZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxODY3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQm90aCBDaHJvbWUgYW5kIEZpcmVmb3gg
bGltaXQgdGhlIE1BWF9URVhUVVJFX1NJWkUgb24KKyAgICAgICAgb2xkZXIgSW50ZWwgaGFyZHdh
cmUgdG8gYmUgYXQgbW9zdCA0MDk2LiBUaGlzIGRvZXMgdGhlCisgICAgICAgIHNhbWUgZm9yIFdl
YktpdC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oOiBBZGQg
cmVxdWlyZXNSZXN0cmljdGVkTWF4aW11bVRleHR1cmVTaXplKCkgYWNjZXNzb3IuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNpb25zM0RPcGVuR0xDb21tb246OkV4dGVuc2lvbnMz
RE9wZW5HTENvbW1vbik6IFJlY29yZCB0aGUgdmFsdWUgb2YgR0xfUkVOREVSRVIKKyAgICAgICAg
YW5kIHRlc3QgZm9yICJJbnRlbCBIRCBHcmFwaGljcyAzMDAwIiwgd2hpY2ggaXMgdGhlIHByb2Js
ZW1hdGljIGhhcmR3YXJlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRl
bnNpb25zM0RPcGVuR0xDb21tb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9w
ZW5HTENvbW1vbjo6cmVxdWlyZXNSZXN0cmljdGVkTWF4aW11bVRleHR1cmVTaXplKTogR2V0dGVy
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6Z2V0SW50ZWdl
cnYpOiBJZiB5b3UncmUgYXNraW5nIGZvciBNQVhfVEVYVFVSRV9TSVpFIG9yCisgICAgICAgIE1B
WF9DVUJFX01BUF9URVhUVVJFX1NJWkUsIGFuZCB5b3UncmUgb24gcHJvYmxlbWF0aWMgaGFyZHdh
cmUsIHJldHVybiBhIGNsYW1wZWQgdmFsdWUKKyAgICAgICAgKDQwOTYgYW5kIDEwMjQgcmVzcGVj
dGl2ZWx5KS4KKwogMjAxNC0wNC0xNiAgUm9iZXJ0IFNpcGthICA8c2lwa2FAaW5mLnUtc3plZ2Vk
Lmh1PgogCiAgICAgICAgIFtjdXJsXSBBZGQgV0VCX1RJTUlORyBzdXBwb3J0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCmluZGV4IDFiYWNmMzI1
MzFjMDUwMWExMGEzN2JhNzlhYjBkZGI1ZGIwNmQwMDYuLmUzZGM4OGJjOWQ1NDcxODQyMmFiOWVl
ZDM3Y2Q0ZWNlZGYzOTY1OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0V4dGVuc2lvbnMzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0V4dGVuc2lvbnMzRC5oCkBAIC0yNTMsOCArMjUzLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIGJvb2wgbWF5U3VwcG9ydE11bHRpc2FtcGxpbmcoKSA9IDA7CiAKICAgICAvLyBTb21lIGNv
bmZpZ3VyYXRpb25zIGhhdmUgYnVncyByZWdhcmRpbmcgYnVpbHQtaW4gZnVuY3Rpb25zIGluIHRo
ZWlyIE9wZW5HTCBkcml2ZXJzCi0gICAgLy8gdGhhdCBtdXN0IGJlIGF2b2lkZWQuIFBvcnRzIHNo
b3VsZCBpbXBsZW1lbnQgdGhpcyBmbGFnIHN1Y2ggY29uZmlndXJhdGlvbnMuCisgICAgLy8gdGhh
dCBtdXN0IGJlIGF2b2lkZWQuIFBvcnRzIHNob3VsZCBpbXBsZW1lbnQgdGhlc2UgZmxhZ3Mgb24g
c3VjaCBjb25maWd1cmF0aW9ucy4KICAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNCdWlsdEluRnVu
Y3Rpb25FbXVsYXRpb24oKSA9IDA7CisgICAgdmlydHVhbCBib29sIHJlcXVpcmVzUmVzdHJpY3Rl
ZE1heGltdW1UZXh0dXJlU2l6ZSgpID0gMDsKKwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4
dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcAppbmRleCAxYWQ3ZDMzOTRm
NGI1ZjEzZjYwNmNiMDk4MzcxOTk4NTgzNTBhZmE2Li4yYjY4MjBiYTZkNmUzMTMyNjZhNzAzNjcx
OTRmZGM3OTFiNmM3M2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNw
cApAQCAtNjAsOCArNjAsMTAgQEAgRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uOjpFeHRlbnNpb25z
M0RPcGVuR0xDb21tb24oR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQpCiAgICAgLCBtX2lzSW1h
Z2luYXRpb24oZmFsc2UpCiAgICAgLCBtX21heVN1cHBvcnRNdWx0aXNhbXBsaW5nKHRydWUpCiAg
ICAgLCBtX3JlcXVpcmVzQnVpbHRJbkZ1bmN0aW9uRW11bGF0aW9uKGZhbHNlKQorICAgICwgbV9y
ZXF1aXJlc1Jlc3RyaWN0ZWRNYXhpbXVtVGV4dHVyZVNpemUoZmFsc2UpCiB7CiAgICAgbV92ZW5k
b3IgPSBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oOjpnbEdldFN0cmluZyhH
TF9WRU5ET1IpKSk7CisgICAgbV9yZW5kZXJlciA9IFN0cmluZyhyZWludGVycHJldF9jYXN0PGNv
bnN0IGNoYXIqPig6OmdsR2V0U3RyaW5nKEdMX1JFTkRFUkVSKSkpOwogCiAgICAgVmVjdG9yPFN0
cmluZz4gdmVuZG9yQ29tcG9uZW50czsKICAgICBtX3ZlbmRvci5sb3dlcigpLnNwbGl0KCcgJywg
dmVuZG9yQ29tcG9uZW50cyk7CkBAIC05Niw2ICs5OCwxMSBAQCBFeHRlbnNpb25zM0RPcGVuR0xD
b21tb246OkV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbihHcmFwaGljc0NvbnRleHQzRCogY29udGV4
dCkKIAogICAgIGlmIChtX2lzQU1EICYmICFzeXN0ZW1TdXBwb3J0c011bHRpc2FtcGxpbmcpCiAg
ICAgICAgIG1fbWF5U3VwcG9ydE11bHRpc2FtcGxpbmcgPSBmYWxzZTsKKworICAgIC8vIEludGVs
IEhEIDMwMDAgZGV2aWNlcyBoYXZlIHByb2JsZW1zIHdpdGgKKyAgICAvLyBsYXJnZSB0ZXh0dXJl
cy4gPHJkYXI6Ly9wcm9ibGVtLzE2NjQ5MTQwPgorICAgIGlmIChtX2lzSW50ZWwpCisgICAgICAg
IG1fcmVxdWlyZXNSZXN0cmljdGVkTWF4aW11bVRleHR1cmVTaXplID0gbV9yZW5kZXJlci5zdGFy
dHNXaXRoKCJJbnRlbCBIRCBHcmFwaGljcyAzMDAwIik7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9w
ZW5HTENvbW1vbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4
dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5oCmluZGV4IGU3YzRiOTc1Yjk2OWUzYzU0MDhmZGEwODk5
MmU5MTI0YzIyNTQ3M2YuLjUwNDdhODBmNjc0OTQyYzNmNzdjYWZmMzAwZWE5YzBhNTIzYWNmNTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRl
bnNpb25zM0RPcGVuR0xDb21tb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmgKQEAgLTY3LDYgKzY3LDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCBib29sIG1heVN1cHBvcnRNdWx0aXNhbXBsaW5nKCkgeyBy
ZXR1cm4gbV9tYXlTdXBwb3J0TXVsdGlzYW1wbGluZzsgfQogICAgIHZpcnR1YWwgYm9vbCByZXF1
aXJlc0J1aWx0SW5GdW5jdGlvbkVtdWxhdGlvbigpIHsgcmV0dXJuIG1fcmVxdWlyZXNCdWlsdElu
RnVuY3Rpb25FbXVsYXRpb247IH0KKyAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNSZXN0cmljdGVk
TWF4aW11bVRleHR1cmVTaXplKCkgeyByZXR1cm4gbV9yZXF1aXJlc1Jlc3RyaWN0ZWRNYXhpbXVt
VGV4dHVyZVNpemU7IH0KIAogcHJvdGVjdGVkOgogICAgIGZyaWVuZCBjbGFzcyBFeHRlbnNpb25z
M0RPcGVuR0xFUzsKQEAgLTg4LDggKzg5LDEwIEBAIHByb3RlY3RlZDoKICAgICBib29sIG1faXNJ
bWFnaW5hdGlvbjsKICAgICBib29sIG1fbWF5U3VwcG9ydE11bHRpc2FtcGxpbmc7CiAgICAgYm9v
bCBtX3JlcXVpcmVzQnVpbHRJbkZ1bmN0aW9uRW11bGF0aW9uOworICAgIGJvb2wgbV9yZXF1aXJl
c1Jlc3RyaWN0ZWRNYXhpbXVtVGV4dHVyZVNpemU7CiAKICAgICBTdHJpbmcgbV92ZW5kb3I7Cisg
ICAgU3RyaW5nIG1fcmVuZGVyZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0M0RPcGVuR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcAppbmRleCBlZjEzM2EwYTU0MmJiNTAxYzI5
MDUzNWIzZjE3ZjJiZTM1YzNjNjljLi5kZWE4NTA0NGJiOTk0NzI0YWVjYjc5ZWFlM2VmNmVjMDJk
NWM2NjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKQEAgLTI0MCw2
ICsyNDAsMTYgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0SW50ZWdlcnYoR0MzRGVudW0g
cG5hbWUsIEdDM0RpbnQqIHZhbHVlKQogICAgICAgICAqdmFsdWUgLz0gNDsKICAgICAgICAgYnJl
YWs7CiAjZW5kaWYKKyAgICBjYXNlIE1BWF9URVhUVVJFX1NJWkU6CisgICAgICAgIDo6Z2xHZXRJ
bnRlZ2VydihNQVhfVEVYVFVSRV9TSVpFLCB2YWx1ZSk7CisgICAgICAgIGlmIChnZXRFeHRlbnNp
b25zKCktPnJlcXVpcmVzUmVzdHJpY3RlZE1heGltdW1UZXh0dXJlU2l6ZSgpKQorICAgICAgICAg
ICAgKnZhbHVlID0gc3RkOjptaW4oNDA5NiwgKnZhbHVlKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBNQVhfQ1VCRV9NQVBfVEVYVFVSRV9TSVpFOgorICAgICAgICA6OmdsR2V0SW50ZWdlcnYo
TUFYX0NVQkVfTUFQX1RFWFRVUkVfU0laRSwgdmFsdWUpOworICAgICAgICBpZiAoZ2V0RXh0ZW5z
aW9ucygpLT5yZXF1aXJlc1Jlc3RyaWN0ZWRNYXhpbXVtVGV4dHVyZVNpemUoKSkKKyAgICAgICAg
ICAgICp2YWx1ZSA9IHN0ZDo6bWluKDEwMjQsICp2YWx1ZSk7CisgICAgICAgIGJyZWFrOwogICAg
IGRlZmF1bHQ6CiAgICAgICAgIDo6Z2xHZXRJbnRlZ2VydihwbmFtZSwgdmFsdWUpOwogICAgIH0K
</data>
<flag name="review"
          id="254056"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>