<?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>174452</bug_id>
          
          <creation_ts>2017-07-12 19:18:15 -0700</creation_ts>
          <short_desc>Clean-up some things in GraphicsContext3D</short_desc>
          <delta_ts>2017-07-25 13:41:16 -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>InRadar</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>darin</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1328344</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-07-12 19:18:15 -0700</bug_when>
    <thetext>Clean-up some things in GraphicsContext3D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328345</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-07-12 19:18:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/33281257&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328348</commentid>
    <comment_count>2</comment_count>
      <attachid>315326</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-07-12 19:25:02 -0700</bug_when>
    <thetext>Created attachment 315326
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328351</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-07-12 19:36:26 -0700</bug_when>
    <thetext>Requires 174345 to apply cleanly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328561</commentid>
    <comment_count>4</comment_count>
      <attachid>315326</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-07-13 14:15:12 -0700</bug_when>
    <thetext>Comment on attachment 315326
Patch

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

&gt; Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm:-576
&gt; -#if USE(COORDINATED_GRAPHICS_THREADED)
&gt; -        ::glDeleteTextures(1, &amp;m_compositorTexture);
&gt; -#endif

Why can this go away?

&gt; Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:315
&gt; +    ASSERT(width &gt;= 0 &amp;&amp; height &gt;= 0);

Can this assert fire if JS passes bad values from script? If so, don&apos;t assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328585</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-07-13 15:40:36 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #4)
&gt; Comment on attachment 315326 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=315326&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm:-576
&gt; &gt; -#if USE(COORDINATED_GRAPHICS_THREADED)
&gt; &gt; -        ::glDeleteTextures(1, &amp;m_compositorTexture);
&gt; &gt; -#endif
&gt; 
&gt; Why can this go away?

Mentioned in the ChangeLog :)

We don&apos;t use COORDINATED_GRAPHICS_THREADED on Apple platforms.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:315
&gt; &gt; +    ASSERT(width &gt;= 0 &amp;&amp; height &gt;= 0);
&gt; 
&gt; Can this assert fire if JS passes bad values from script? If so, don&apos;t
&gt; assert.

I don&apos;t really understand why these were int to begin with. You can&apos;t have a canvas with negative dimensions. I expect that we catch it in the bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328593</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-07-13 16:00:18 -0700</bug_when>
    <thetext>Committed r219473: &lt;http://trac.webkit.org/changeset/219473&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1331946</commentid>
    <comment_count>7</comment_count>
      <attachid>315326</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-07-25 09:28:57 -0700</bug_when>
    <thetext>Comment on attachment 315326
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:315
&gt;&gt;&gt; +    ASSERT(width &gt;= 0 &amp;&amp; height &gt;= 0);
&gt;&gt; 
&gt;&gt; Can this assert fire if JS passes bad values from script? If so, don&apos;t assert.
&gt; 
&gt; I don&apos;t really understand why these were int to begin with. You can&apos;t have a canvas with negative dimensions. I expect that we catch it in the bindings.

General WebKit style note: We try not to write a single assertion with &amp;&amp;. Instead we write two assertions on separate lines, so we can tell which one failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332064</commentid>
    <comment_count>8</comment_count>
      <attachid>315326</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-07-25 13:41:16 -0700</bug_when>
    <thetext>Comment on attachment 315326
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:315
&gt;&gt;&gt;&gt; +    ASSERT(width &gt;= 0 &amp;&amp; height &gt;= 0);
&gt;&gt;&gt; 
&gt;&gt;&gt; Can this assert fire if JS passes bad values from script? If so, don&apos;t assert.
&gt;&gt; 
&gt;&gt; I don&apos;t really understand why these were int to begin with. You can&apos;t have a canvas with negative dimensions. I expect that we catch it in the bindings.
&gt; 
&gt; General WebKit style note: We try not to write a single assertion with &amp;&amp;. Instead we write two assertions on separate lines, so we can tell which one failed.

Thanks Darin.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315326</attachid>
            <date>2017-07-12 19:25:02 -0700</date>
            <delta_ts>2017-07-13 14:15:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174452-20170713122501.patch</filename>
            <type>text/plain</type>
            <size>8304</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGE0MjhjOTY4MmQ1Njc5
YzMzNTEyMWU2ZTJjNGQxYzQ2ZGZiZDliNi4uYWU5YzJlZWZkZTE4MTJkMDQwZTQzNzdiMGRhZDc0
YWQ3ZjM0MGZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE3LTA3LTEyICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbi11cCBzb21lIHRoaW5n
cyBpbiBHcmFwaGljc0NvbnRleHQzRAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc0NDUyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMzI4MTI1Nz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZW5lcmFs
IGNsZWFuLXVwIGluIEdDM0QuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmg6IFVzZSBp
bml0aWFsIHZhbHVlcyB3aGVyZSBwb3NzaWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRFN0YXRlOjpHcmFwaGljc0NvbnRleHQzRFN0YXRl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250
ZXh0M0RNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhp
Y3NDb250ZXh0M0QpOiBOZWFybHkgZXZlcnl0aGluZyBjYW4gY29tZSBmcm9tIHRoZQorICAgICAg
ICBpbml0aWFsIHZhbHVlcyBub3cuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6fkdyYXBoaWNzQ29udGV4dDNEKTogUmVtb3ZlIGNvZGUgdGhhdCB3b24ndCBiZSBlbmFibGVk
CisgICAgICAgIG9uIHRoaXMgcGxhdGZvcm0uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjpwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcyk6IFdo
aWxlIHVubGlrZWx5IHRvIGhhcHBlbiwKKyAgICAgICAgYW5kIHBvc3NpYmx5IGhhcm1sZXNzIGlu
IHRoaXMgY2FzZSwgYWRkIHNvbWUgY2hlY2tlZCBhcml0aG1ldGljIHRvIG1ha2Ugc3VyZSB3ZSBk
b24ndCBvdmVyZmxvdworICAgICAgICB3aGVuIHdvcmtpbmcgb3V0IGhvdyBiaWcgYSBidWZmZXIg
dG8gY3JlYXRlLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnBhaW50UmVu
ZGVyaW5nUmVzdWx0c1RvSW1hZ2VEYXRhKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6cmVzaGFwZSk6IERvIG5vdGhpbmcgaWYgd2UgYXJlIGV2ZXIgZ2l2ZW4g
bmVnYXRpdmUKKyAgICAgICAgd2lkdGggb3IgaGVpZ2h0LiBBZ2FpbiB1bmxpa2VseS4KKwogMjAx
Ny0wNy0xMCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgQXZvaWQg
dW5uZWNlc3NhcnkgY29weSBvZiBmcmFtZWJ1ZmZlciBpbnRvIFdlYkdMIExheWVyCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApp
bmRleCA1ZDMzMzk1ODJmNjA5Mjk3ZDZiMTQ4NWMxMGE3YzE0NDA4ODI3OWNmLi5kMjk3MTQxM2Zk
M2E3ZmVlMTE1NjY5OWRlMzgxY2JjZjc0MjJkY2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKQEAgLTEzMDAsMTEgKzEz
MDAsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlc29sdmVNdWx0aXNhbXBsaW5nSWZOZWNlc3Nh
cnkoY29uc3QgSW50UmVjdCYgPSBJbnRSZWN0KCkpOwogICAgIHZvaWQgYXR0YWNoRGVwdGhBbmRT
dGVuY2lsQnVmZmVySWZOZWVkZWQoR0x1aW50IGludGVybmFsRGVwdGhTdGVuY2lsRm9ybWF0LCBp
bnQgd2lkdGgsIGludCBoZWlnaHQpOwogCi0gICAgaW50IG1fY3VycmVudFdpZHRoLCBtX2N1cnJl
bnRIZWlnaHQ7CisgICAgaW50IG1fY3VycmVudFdpZHRoIHsgMCB9OworICAgIGludCBtX2N1cnJl
bnRIZWlnaHQgeyAwIH07CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZXRhaW5QdHI8V2Vi
R0xMYXllcj4gbV93ZWJHTExheWVyOwotICAgIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0QgbV9j
b250ZXh0T2JqOworICAgIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0QgbV9jb250ZXh0T2JqIHsg
bnVsbHB0ciB9OwogI2VuZGlmCiAKICNpZiBQTEFURk9STShXSU4pICYmIFVTRShDQSkKQEAgLTEz
ODcsMzggKzEzODgsMzIgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJTdHlsZSBtX3JlbmRlclN0eWxl
OwogICAgIFZlY3RvcjxWZWN0b3I8ZmxvYXQ+PiBtX3ZlcnRleEFycmF5OwogCi0gICAgR0MzRHVp
bnQgbV90ZXh0dXJlOwotICAgIEdDM0R1aW50IG1fZmJvOworICAgIEdDM0R1aW50IG1fdGV4dHVy
ZSB7IDAgfTsKKyAgICBHQzNEdWludCBtX2ZibyB7IDAgfTsKICNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1NfVEhSRUFERUQpCi0gICAgR0MzRHVpbnQgbV9jb21wb3NpdG9yVGV4dHVyZTsKLSAg
ICBHQzNEdWludCBtX2ludGVybWVkaWF0ZVRleHR1cmU7CisgICAgR0MzRHVpbnQgbV9jb21wb3Np
dG9yVGV4dHVyZSB7IDAgfTsKKyAgICBHQzNEdWludCBtX2ludGVybWVkaWF0ZVRleHR1cmUgeyAw
IH07CiAjZW5kaWYKIAogICAgIEdDM0R1aW50IG1fZGVwdGhCdWZmZXIgeyAwIH07CiAgICAgR0Mz
RHVpbnQgbV9zdGVuY2lsQnVmZmVyIHsgMCB9OwogICAgIEdDM0R1aW50IG1fZGVwdGhTdGVuY2ls
QnVmZmVyIHsgMCB9OwogCi0gICAgYm9vbCBtX2xheWVyQ29tcG9zaXRlZDsKLSAgICBHQzNEdWlu
dCBtX2ludGVybmFsQ29sb3JGb3JtYXQ7CisgICAgYm9vbCBtX2xheWVyQ29tcG9zaXRlZCB7IGZh
bHNlIH07CisgICAgR0MzRHVpbnQgbV9pbnRlcm5hbENvbG9yRm9ybWF0IHsgMCB9OwogCiAgICAg
c3RydWN0IEdyYXBoaWNzQ29udGV4dDNEU3RhdGUgewotICAgICAgICBHcmFwaGljc0NvbnRleHQz
RFN0YXRlKCkKLSAgICAgICAgICAgIDogYm91bmRGQk8oMCkKLSAgICAgICAgICAgICwgYWN0aXZl
VGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRTApCi0gICAgICAgICAgICAsIGJvdW5k
VGV4dHVyZTAoMCkKLSAgICAgICAgeyB9Ci0KLSAgICAgICAgR0MzRHVpbnQgYm91bmRGQk87Ci0g
ICAgICAgIEdDM0RlbnVtIGFjdGl2ZVRleHR1cmU7Ci0gICAgICAgIEdDM0R1aW50IGJvdW5kVGV4
dHVyZTA7CisgICAgICAgIEdDM0R1aW50IGJvdW5kRkJPIHsgMCB9OworICAgICAgICBHQzNEZW51
bSBhY3RpdmVUZXh0dXJlIHsgR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkUwIH07CisgICAgICAg
IEdDM0R1aW50IGJvdW5kVGV4dHVyZTAgeyAwIH07CiAgICAgfTsKIAogICAgIEdyYXBoaWNzQ29u
dGV4dDNEU3RhdGUgbV9zdGF0ZTsKIAogICAgIC8vIEZvciBtdWx0aXNhbXBsaW5nCi0gICAgR0Mz
RHVpbnQgbV9tdWx0aXNhbXBsZUZCTzsKLSAgICBHQzNEdWludCBtX211bHRpc2FtcGxlRGVwdGhT
dGVuY2lsQnVmZmVyOwotICAgIEdDM0R1aW50IG1fbXVsdGlzYW1wbGVDb2xvckJ1ZmZlcjsKKyAg
ICBHQzNEdWludCBtX211bHRpc2FtcGxlRkJPIHsgMCB9OworICAgIEdDM0R1aW50IG1fbXVsdGlz
YW1wbGVEZXB0aFN0ZW5jaWxCdWZmZXIgeyAwIH07CisgICAgR0MzRHVpbnQgbV9tdWx0aXNhbXBs
ZUNvbG9yQnVmZmVyIHsgMCB9OwogCiAgICAgLy8gRXJyb3JzIHJhaXNlZCBieSBzeW50aGVzaXpl
R0xFcnJvcigpLgogICAgIExpc3RIYXNoU2V0PEdDM0RlbnVtPiBtX3N5bnRoZXRpY0Vycm9yczsK
QEAgLTE0MzIsNyArMTQyNyw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIC8vIEZJWE1FOiBM
YXllcmluZyB2aW9sYXRpb24uCi0gICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSogbV93ZWJn
bENvbnRleHQ7CisgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSogbV93ZWJnbENvbnRleHQg
eyBudWxscHRyIH07CiAKICAgICBib29sIG1faXNGb3JXZWJHTDIgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV91c2luZ0NvcmVQcm9maWxlIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQpp
bmRleCA0Mzk1ZjllNDNmY2NiMGIyYjA0MjM2ODIwYzJlODQxMmFlOWJlMzg1Li5iMmMxZTQ5ZDIy
MWZhNDdlMGZkMmQzZDU0ZDg5NzYzZjkyN2QyOWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1t
CkBAIC0zODYsMjggKzM4NiwxMyBAQCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IEdyYXBoaWNz
Q29udGV4dDNEOjpjcmVhdGUoR3JhcGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzCiAgICAgcmV0dXJu
IGNvbnRleHQ7CiB9CiAKLUdyYXBoaWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRChHcmFw
aGljc0NvbnRleHQzREF0dHJpYnV0ZXMgYXR0cnMsIEhvc3RXaW5kb3cqIGhvc3RXaW5kb3csIEdy
YXBoaWNzQ29udGV4dDNEOjpSZW5kZXJTdHlsZSByZW5kZXJTdHlsZSkKLSAgICA6IG1fY3VycmVu
dFdpZHRoKDApCi0gICAgLCBtX2N1cnJlbnRIZWlnaHQoMCkKLSAgICAsIG1fY29udGV4dE9iaigw
KQorR3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNEKEdyYXBoaWNzQ29udGV4dDNE
QXR0cmlidXRlcyBhdHRycywgSG9zdFdpbmRvdyosIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJT
dHlsZSkKKyAgICA6IG1fYXR0cnMoYXR0cnMpCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICwgbV9j
b21waWxlcihTSF9FU1NMX09VVFBVVCkKICNlbmRpZgotICAgICwgbV9hdHRycyhhdHRycykKLSAg
ICAsIG1fdGV4dHVyZSgwKQotICAgICwgbV9mYm8oMCkKLSAgICAsIG1fZGVwdGhTdGVuY2lsQnVm
ZmVyKDApCi0gICAgLCBtX2xheWVyQ29tcG9zaXRlZChmYWxzZSkKLSAgICAsIG1faW50ZXJuYWxD
b2xvckZvcm1hdCgwKQotICAgICwgbV9tdWx0aXNhbXBsZUZCTygwKQotICAgICwgbV9tdWx0aXNh
bXBsZURlcHRoU3RlbmNpbEJ1ZmZlcigwKQotICAgICwgbV9tdWx0aXNhbXBsZUNvbG9yQnVmZmVy
KDApCiAgICAgLCBtX3ByaXZhdGUoc3RkOjptYWtlX3VuaXF1ZTxHcmFwaGljc0NvbnRleHQzRFBy
aXZhdGU+KHRoaXMpKQotICAgICwgbV93ZWJnbENvbnRleHQoMCkKIHsKLSAgICBVTlVTRURfUEFS
QU0oaG9zdFdpbmRvdyk7Ci0gICAgVU5VU0VEX1BBUkFNKHJlbmRlclN0eWxlKTsKLQogI2lmIFBM
QVRGT1JNKElPUykKICAgICBFQUdMUmVuZGVyaW5nQVBJIGFwaSA9IG1fYXR0cnMudXNlR0xFUzMg
PyBrRUFHTFJlbmRlcmluZ0FQSU9wZW5HTEVTMyA6IGtFQUdMUmVuZGVyaW5nQVBJT3BlbkdMRVMy
OwogICAgIG1fY29udGV4dE9iaiA9IFtbRUFHTENvbnRleHQgYWxsb2NdIGluaXRXaXRoQVBJOmFw
aV07CkBAIC01NzEsOSArNTU2LDYgQEAgR3JhcGhpY3NDb250ZXh0M0Q6On5HcmFwaGljc0NvbnRl
eHQzRCgpCiAjZWxzZQogICAgICAgICBDR0xTZXRDdXJyZW50Q29udGV4dChtX2NvbnRleHRPYmop
OwogICAgICAgICA6OmdsRGVsZXRlVGV4dHVyZXMoMSwgJm1fdGV4dHVyZSk7Ci0jaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQotICAgICAgICA6OmdsRGVsZXRlVGV4dHVyZXMo
MSwgJm1fY29tcG9zaXRvclRleHR1cmUpOwotI2VuZGlmCiAjZW5kaWYKICAgICAgICAgaWYgKG1f
YXR0cnMuYW50aWFsaWFzKSB7CiAgICAgICAgICAgICA6OmdsRGVsZXRlUmVuZGVyYnVmZmVyc0VY
VCgxLCAmbV9tdWx0aXNhbXBsZUNvbG9yQnVmZmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1v
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0M0RPcGVuR0xDb21tb24uY3BwCmluZGV4IDcwNWZhNTEwMzY1Yjk1YzI2Yzg4M2U2MjFj
NDk4YmRkY2M0NDc4ZjUuLjljYjNjODY0YmRhZDI1ZjkzMTFkNGRiNzE5MWQzOTg3N2ZkOTg4Yjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFw
aGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcApAQCAt
MTY2LDggKzE2NiwxNCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp2YWxpZGF0ZURlcHRoU3Rl
bmNpbChjb25zdCBjaGFyKiBwYWNrZWREZXB0aFN0ZW5jaWxFeHRlbgogCiB2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjpwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcyhJbWFnZUJ1ZmZlciogaW1h
Z2VCdWZmZXIpCiB7Ci0gICAgaW50IHJvd0J5dGVzID0gbV9jdXJyZW50V2lkdGggKiA0OwotICAg
IGludCB0b3RhbEJ5dGVzID0gcm93Qnl0ZXMgKiBtX2N1cnJlbnRIZWlnaHQ7CisgICAgQ2hlY2tl
ZDxpbnQsIFJlY29yZE92ZXJmbG93PiByb3dCeXRlcyA9IENoZWNrZWQ8aW50LCBSZWNvcmRPdmVy
Zmxvdz4obV9jdXJyZW50V2lkdGgpICogNDsKKyAgICBpZiAocm93Qnl0ZXMuaGFzT3ZlcmZsb3dl
ZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBDaGVja2VkPGludCwgUmVjb3JkT3ZlcmZsb3c+
IHRvdGFsQnl0ZXNDaGVja2VkID0gcm93Qnl0ZXMgKiBtX2N1cnJlbnRIZWlnaHQ7CisgICAgaWYg
KHRvdGFsQnl0ZXNDaGVja2VkLmhhc092ZXJmbG93ZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGludCB0b3RhbEJ5dGVzID0gdG90YWxCeXRlc0NoZWNrZWQudW5zYWZlR2V0KCk7CiAKICAgICBh
dXRvIHBpeGVscyA9IHN0ZDo6bWFrZV91bmlxdWU8dW5zaWduZWQgY2hhcltdPih0b3RhbEJ5dGVz
KTsKICAgICBpZiAoIXBpeGVscykKQEAgLTIxMSw3ICsyMTcsMTAgQEAgUmVmUHRyPEltYWdlRGF0
YT4gR3JhcGhpY3NDb250ZXh0M0Q6OnBhaW50UmVuZGVyaW5nUmVzdWx0c1RvSW1hZ2VEYXRhKCkK
IAogICAgIGF1dG8gaW1hZ2VEYXRhID0gSW1hZ2VEYXRhOjpjcmVhdGUoSW50U2l6ZShtX2N1cnJl
bnRXaWR0aCwgbV9jdXJyZW50SGVpZ2h0KSk7CiAgICAgdW5zaWduZWQgY2hhciogcGl4ZWxzID0g
aW1hZ2VEYXRhLT5kYXRhKCktPmRhdGEoKTsKLSAgICBpbnQgdG90YWxCeXRlcyA9IDQgKiBtX2N1
cnJlbnRXaWR0aCAqIG1fY3VycmVudEhlaWdodDsKKyAgICBDaGVja2VkPGludCwgUmVjb3JkT3Zl
cmZsb3c+IHRvdGFsQnl0ZXNDaGVja2VkID0gNCAqIENoZWNrZWQ8aW50LCBSZWNvcmRPdmVyZmxv
dz4obV9jdXJyZW50V2lkdGgpICogQ2hlY2tlZDxpbnQsIFJlY29yZE92ZXJmbG93PihtX2N1cnJl
bnRIZWlnaHQpOworICAgIGlmICh0b3RhbEJ5dGVzQ2hlY2tlZC5oYXNPdmVyZmxvd2VkKCkpCisg
ICAgICAgIHJldHVybiBpbWFnZURhdGE7CisgICAgaW50IHRvdGFsQnl0ZXMgPSB0b3RhbEJ5dGVz
Q2hlY2tlZC51bnNhZmVHZXQoKTsKIAogICAgIHJlYWRSZW5kZXJpbmdSZXN1bHRzKHBpeGVscywg
dG90YWxCeXRlcyk7CiAKQEAgLTMwMyw2ICszMTIsMTAgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6cmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAgICAgaWYgKHdpZHRoID09IG1fY3Vy
cmVudFdpZHRoICYmIGhlaWdodCA9PSBtX2N1cnJlbnRIZWlnaHQpCiAgICAgICAgIHJldHVybjsK
IAorICAgIEFTU0VSVCh3aWR0aCA+PSAwICYmIGhlaWdodCA+PSAwKTsKKyAgICBpZiAod2lkdGgg
PCAwIHx8IGhlaWdodCA8IDApCisgICAgICAgIHJldHVybjsKKwogICAgIG1hcmtDb250ZXh0Q2hh
bmdlZCgpOwogCiAgICAgbV9jdXJyZW50V2lkdGggPSB3aWR0aDsK
</data>
<flag name="review"
          id="336171"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>