<?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>88063</bug_id>
          
          <creation_ts>2012-06-01 01:22:00 -0700</creation_ts>
          <short_desc>Cleanup GeneratorGeneratedImage/Gradient changes from http://trac.webkit.org/changeset/117858</short_desc>
          <delta_ts>2012-06-01 18:39:06 -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>CSS</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>639086</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-06-01 01:22:00 -0700</bug_when>
    <thetext>There are a bunch of review comments from http://trac.webkit.org/changeset/117858 (in https://bugs.webkit.org/show_bug.cgi?id=86906) which I haven&apos;t yet taken care of. I have a patch to fix all but one (we still have a timer-per-GeneratorGeneratedImage) of the comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639089</commentid>
    <comment_count>1</comment_count>
      <attachid>145238</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-06-01 01:23:33 -0700</bug_when>
    <thetext>Created attachment 145238
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639362</commentid>
    <comment_count>2</comment_count>
      <attachid>145238</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-01 08:24:29 -0700</bug_when>
    <thetext>Comment on attachment 145238
patch

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

&gt; Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp:65
&gt;  
&gt; -    if (!m_cachedImageBuffer
&gt; -        || m_cachedGeneratorHash != generatorHash
&gt; -        || m_cachedAdjustedSize != adjustedSize
&gt; -        || !destContext-&gt;isCompatibleWithBuffer(m_cachedImageBuffer.get())) {
&gt; -        // Create a BitmapImage and call drawPattern on it.
&gt; +    if (!m_cachedImageBuffer || m_cachedGeneratorHash != generatorHash || m_cachedAdjustedSize != adjustedSize || !destContext-&gt;isCompatibleWithBuffer(m_cachedImageBuffer.get())) {

If the patch to draw() has been checked in by now, that will need the same cleanup.

&gt; Source/WebCore/platform/graphics/GraphicsContext.cpp:767
&gt; +    if (a.xScale() != b.xScale() || a.yScale() != b.yScale())
&gt; +        return false;

return a.xScale() == b.xScale() &amp;&amp; a.yScale() == b.yScale()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639916</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-06-01 18:39:06 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/119307</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145238</attachid>
            <date>2012-06-01 01:23:33 -0700</date>
            <delta_ts>2012-06-01 08:24:29 -0700</delta_ts>
            <desc>patch</desc>
            <filename>gradient-cleanup.diff</filename>
            <type>text/plain</type>
            <size>12054</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyODljY2NhLi5iMDNhYmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQg
QEAKKzIwMTItMDYtMDEgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgQ2xlYW51cCBHZW5lcmF0b3JHZW5lcmF0ZWRJbWFnZS9HcmFkaWVudCBjaGFuZ2Vz
IGZyb20gcjExNzg1OAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODgwNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMsIGNvZGUgY2xlYW51cC4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0dlbmVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdG9yOjpoYXNoKTog
aGFzaCgpIHNob3VsZCBiZSBjb25zdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HZW5l
cmF0b3JHZW5lcmF0ZWRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW5lcmF0b3JHZW5l
cmF0ZWRJbWFnZTo6ZHJhd1BhdHRlcm4pOiBNaW5vciBjbGVhbnVwLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50OjpH
cmFkaWVudCk6IFJlbmFtZSBtX2hhc2hDYWNoZSB0byBtX2NhY2hlZEhhc2guCisgICAgICAgIChX
ZWJDb3JlOjpHcmFkaWVudDo6YWRkQ29sb3JTdG9wKTogUmVuYW1lIGNsZWFySGFzaENhY2hlIHRv
IGludmFsaWRhdGVIYXNoLgorICAgICAgICAoV2ViQ29yZTo6R3JhZGllbnQ6OnNvcnRTdG9wc0lm
TmVjZXNzYXJ5KTogUmVuYW1lIGNsZWFySGFzaENhY2hlIHRvIGludmFsaWRhdGVIYXNoLgorICAg
ICAgICAoV2ViQ29yZTo6R3JhZGllbnQ6OnNldFNwcmVhZE1ldGhvZCk6IFJlbmFtZSBjbGVhckhh
c2hDYWNoZSB0byBpbnZhbGlkYXRlSGFzaC4KKyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50Ojpz
ZXRHcmFkaWVudFNwYWNlVHJhbnNmb3JtKTogUmVuYW1lIGNsZWFySGFzaENhY2hlIHRvIGludmFs
aWRhdGVIYXNoLgorICAgICAgICAoV2ViQ29yZTo6R3JhZGllbnQ6Omhhc2gpOiBVc2UgaW50SGFz
aCBpbnN0ZWFkIG9mIHRoZSBwYWlyIGhhc2hlci4gQWRkIGNvbXBpbGUgdGltZSBzaXplIGNoZWNr
cworICAgICAgICBmb3Igc3RydWN0dXJlcyBiZWluZyBwYXNzZWQgdG8gU3RyaW5nSGFzaGVyLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFkaWVudDo6c2V0UDApOiBSZW5hbWUgY2xlYXJIYXNoQ2FjaGUgdG8gaW52YWxpZGF0ZUhh
c2guCisgICAgICAgIChXZWJDb3JlOjpHcmFkaWVudDo6c2V0UDEpOiBSZW5hbWUgY2xlYXJIYXNo
Q2FjaGUgdG8gaW52YWxpZGF0ZUhhc2guCisgICAgICAgIChXZWJDb3JlOjpHcmFkaWVudDo6c2V0
U3RhcnRSYWRpdXMpOiBSZW5hbWUgY2xlYXJIYXNoQ2FjaGUgdG8gaW52YWxpZGF0ZUhhc2guCisg
ICAgICAgIChXZWJDb3JlOjpHcmFkaWVudDo6c2V0RW5kUmFkaXVzKTogUmVuYW1lIGNsZWFySGFz
aENhY2hlIHRvIGludmFsaWRhdGVIYXNoLgorICAgICAgICAoV2ViQ29yZTo6R3JhZGllbnQ6Omlu
dmFsaWRhdGVIYXNoKTogIFJlbmFtZSBjbGVhckhhc2hDYWNoZSB0byBpbnZhbGlkYXRlSGFzaC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6c2NhbGVzTWF0Y2gpOiBBZGRlZC4gRGV0ZXJtaW5lIGlmIHRoZSBzY2FsZSBv
ZiB0d28gQWZmaW5lVHJhbnNmb3JtcyBtYXRjaC4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDo6aXNDb21wYXRpYmxlV2l0aEJ1ZmZlcik6IE1ha2UgdXNlIG9mIHNjYWxlc01hdGNo
IHRvIHNpbXBsaWZ5IHRoZSBsb2dpYy4KKwogMjAxMi0wNS0zMSAgQWxleGFuZGVyIFNoYWxhbW92
ICA8YWxleGFuZGVyLnNoYWxhbW92QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSA8aW5wdXQg
dHlwZT0ibnVtYmVyIj4gaXMgbm90IGEgc3BpbmJ1dHRvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HZW5lcmF0b3IuaAppbmRleCBiMmI0NWVkLi41MDE1NTAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0b3IuaApAQCAtMzksNyArMzks
NyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIGZpbGwoR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgRmxvYXRSZWN0JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQYXJhbWV0
ZXJzRm9yVGlsZWREcmF3aW5nKEludFNpemUmIC8qIHNpemUgKi8sIEZsb2F0UmVjdCYgLyogc3Jj
UmVjdCAqLykgeyB9Ci0gICAgdmlydHVhbCB1bnNpZ25lZCBoYXNoKCkgPSAwOworICAgIHZpcnR1
YWwgdW5zaWduZWQgaGFzaCgpIGNvbnN0ID0gMDsKIH07CiAKIH0gLy9uYW1lc3BhY2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdlbmVyYXRl
ZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdl
bmVyYXRlZEltYWdlLmNwcAppbmRleCBmMzM3ZGQwLi5lNjRkMTZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0b3JHZW5lcmF0ZWRJbWFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdG9yR2VuZXJhdGVk
SW1hZ2UuY3BwCkBAIC02MiwxOCArNjIsMTMgQEAgdm9pZCBHZW5lcmF0b3JHZW5lcmF0ZWRJbWFn
ZTo6ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KiBkZXN0Q29udGV4dCwgY29uc3QgRmwKIAog
ICAgIHVuc2lnbmVkIGdlbmVyYXRvckhhc2ggPSBtX2dlbmVyYXRvci0+aGFzaCgpOwogCi0gICAg
aWYgKCFtX2NhY2hlZEltYWdlQnVmZmVyCi0gICAgICAgIHx8IG1fY2FjaGVkR2VuZXJhdG9ySGFz
aCAhPSBnZW5lcmF0b3JIYXNoCi0gICAgICAgIHx8IG1fY2FjaGVkQWRqdXN0ZWRTaXplICE9IGFk
anVzdGVkU2l6ZQotICAgICAgICB8fCAhZGVzdENvbnRleHQtPmlzQ29tcGF0aWJsZVdpdGhCdWZm
ZXIobV9jYWNoZWRJbWFnZUJ1ZmZlci5nZXQoKSkpIHsKLSAgICAgICAgLy8gQ3JlYXRlIGEgQml0
bWFwSW1hZ2UgYW5kIGNhbGwgZHJhd1BhdHRlcm4gb24gaXQuCisgICAgaWYgKCFtX2NhY2hlZElt
YWdlQnVmZmVyIHx8IG1fY2FjaGVkR2VuZXJhdG9ySGFzaCAhPSBnZW5lcmF0b3JIYXNoIHx8IG1f
Y2FjaGVkQWRqdXN0ZWRTaXplICE9IGFkanVzdGVkU2l6ZSB8fCAhZGVzdENvbnRleHQtPmlzQ29t
cGF0aWJsZVdpdGhCdWZmZXIobV9jYWNoZWRJbWFnZUJ1ZmZlci5nZXQoKSkpIHsKICAgICAgICAg
bV9jYWNoZWRJbWFnZUJ1ZmZlciA9IGRlc3RDb250ZXh0LT5jcmVhdGVDb21wYXRpYmxlQnVmZmVy
KGFkanVzdGVkU2l6ZSk7CiAgICAgICAgIGlmICghbV9jYWNoZWRJbWFnZUJ1ZmZlcikKICAgICAg
ICAgICAgIHJldHVybjsKIAogICAgICAgICAvLyBGaWxsIHdpdGggdGhlIGdlbmVyYXRlZCBpbWFn
ZS4KLSAgICAgICAgR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQgPSBtX2NhY2hlZElt
YWdlQnVmZmVyLT5jb250ZXh0KCk7Ci0gICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZmlsbFJlY3Qo
RmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgYWRqdXN0ZWRTaXplKSwgKm1fZ2VuZXJhdG9yLmdldCgp
KTsKKyAgICAgICAgbV9jYWNoZWRJbWFnZUJ1ZmZlci0+Y29udGV4dCgpLT5maWxsUmVjdChGbG9h
dFJlY3QoRmxvYXRQb2ludCgpLCBhZGp1c3RlZFNpemUpLCAqbV9nZW5lcmF0b3IpOwogCiAgICAg
ICAgIG1fY2FjaGVkR2VuZXJhdG9ySGFzaCA9IGdlbmVyYXRvckhhc2g7CiAgICAgICAgIG1fY2Fj
aGVkQWRqdXN0ZWRTaXplID0gYWRqdXN0ZWRTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdlbmVyYXRlZEltYWdlLmgKaW5kZXgg
NTVhYzM4ZC4uMDcxYzJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HZW5lcmF0b3JHZW5lcmF0ZWRJbWFnZS5oCkBAIC0zOCwxMCArMzgsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBpbnQgZ2VuZXJhdGVkSW1hZ2VD
YWNoZUNsZWFyRGVsYXkgPSAxOwogCi1jbGFzcyBHZW5lcmF0ZWRJbWFnZUNhY2hlVGltZXI7Ci0K
IGNsYXNzIEdlbmVyYXRvckdlbmVyYXRlZEltYWdlIDogcHVibGljIEdlbmVyYXRlZEltYWdlIHsK
LSAgICBmcmllbmQgY2xhc3MgR2VuZXJhdGVkSW1hZ2VDYWNoZVRpbWVyOwogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEdlbmVyYXRvckdlbmVyYXRlZEltYWdlPiBjcmVhdGUoUGFzc1Jl
ZlB0cjxHZW5lcmF0b3I+IGdlbmVyYXRvciwgY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAgICB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAKaW5kZXggNTlj
NjczNi4uZGYyZjUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhZGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YWRpZW50LmNwcApAQCAtMzMsNiArMzMsOCBAQAogI2luY2x1ZGUgPHd0Zi9TdHJpbmdIYXNoZXIu
aD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAordXNpbmcgV1RGOjppbnRIYXNoOwor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdyYWRpZW50OjpHcmFkaWVudChjb25zdCBGbG9hdFBv
aW50JiBwMCwgY29uc3QgRmxvYXRQb2ludCYgcDEpCkBAIC00NSw3ICs0Nyw3IEBAIEdyYWRpZW50
OjpHcmFkaWVudChjb25zdCBGbG9hdFBvaW50JiBwMCwgY29uc3QgRmxvYXRQb2ludCYgcDEpCiAg
ICAgLCBtX3N0b3BzU29ydGVkKGZhbHNlKQogICAgICwgbV9sYXN0U3RvcCgwKQogICAgICwgbV9z
cHJlYWRNZXRob2QoU3ByZWFkTWV0aG9kUGFkKQotICAgICwgbV9oYXNoQ2FjaGUoMCkKKyAgICAs
IG1fY2FjaGVkSGFzaCgwKQogewogICAgIHBsYXRmb3JtSW5pdCgpOwogfQpAQCAtNjAsNyArNjIs
NyBAQCBHcmFkaWVudDo6R3JhZGllbnQoY29uc3QgRmxvYXRQb2ludCYgcDAsIGZsb2F0IHIwLCBj
b25zdCBGbG9hdFBvaW50JiBwMSwgZmxvYXQgcgogICAgICwgbV9zdG9wc1NvcnRlZChmYWxzZSkK
ICAgICAsIG1fbGFzdFN0b3AoMCkKICAgICAsIG1fc3ByZWFkTWV0aG9kKFNwcmVhZE1ldGhvZFBh
ZCkKLSAgICAsIG1faGFzaENhY2hlKDApCisgICAgLCBtX2NhY2hlZEhhc2goMCkKIHsKICAgICBw
bGF0Zm9ybUluaXQoKTsKIH0KQEAgLTEwNCw3ICsxMDYsNyBAQCB2b2lkIEdyYWRpZW50OjphZGRD
b2xvclN0b3AoZmxvYXQgdmFsdWUsIGNvbnN0IENvbG9yJiBjb2xvcikKICAgICBtX3N0b3BzU29y
dGVkID0gZmFsc2U7CiAgICAgcGxhdGZvcm1EZXN0cm95KCk7CiAKLSAgICBjbGVhckhhc2hDYWNo
ZSgpOworICAgIGludmFsaWRhdGVIYXNoKCk7CiB9CiAKIHZvaWQgR3JhZGllbnQ6OmFkZENvbG9y
U3RvcChjb25zdCBHcmFkaWVudDo6Q29sb3JTdG9wJiBzdG9wKQpAQCAtMTE0LDcgKzExNiw3IEBA
IHZvaWQgR3JhZGllbnQ6OmFkZENvbG9yU3RvcChjb25zdCBHcmFkaWVudDo6Q29sb3JTdG9wJiBz
dG9wKQogICAgIG1fc3RvcHNTb3J0ZWQgPSBmYWxzZTsKICAgICBwbGF0Zm9ybURlc3Ryb3koKTsK
IAotICAgIGNsZWFySGFzaENhY2hlKCk7CisgICAgaW52YWxpZGF0ZUhhc2goKTsKIH0KIAogc3Rh
dGljIGlubGluZSBib29sIGNvbXBhcmVTdG9wcyhjb25zdCBHcmFkaWVudDo6Q29sb3JTdG9wJiBh
LCBjb25zdCBHcmFkaWVudDo6Q29sb3JTdG9wJiBiKQpAQCAtMTM0LDcgKzEzNiw3IEBAIHZvaWQg
R3JhZGllbnQ6OnNvcnRTdG9wc0lmTmVjZXNzYXJ5KCkKIAogICAgIHN0ZDo6c3RhYmxlX3NvcnQo
bV9zdG9wcy5iZWdpbigpLCBtX3N0b3BzLmVuZCgpLCBjb21wYXJlU3RvcHMpOwogCi0gICAgY2xl
YXJIYXNoQ2FjaGUoKTsKKyAgICBpbnZhbGlkYXRlSGFzaCgpOwogfQogCiB2b2lkIEdyYWRpZW50
OjpnZXRDb2xvcihmbG9hdCB2YWx1ZSwgZmxvYXQqIHIsIGZsb2F0KiBnLCBmbG9hdCogYiwgZmxv
YXQqIGEpIGNvbnN0CkBAIC0yMjQsNyArMjI2LDcgQEAgdm9pZCBHcmFkaWVudDo6c2V0U3ByZWFk
TWV0aG9kKEdyYWRpZW50U3ByZWFkTWV0aG9kIHNwcmVhZE1ldGhvZCkKIAogICAgIG1fc3ByZWFk
TWV0aG9kID0gc3ByZWFkTWV0aG9kOwogCi0gICAgY2xlYXJIYXNoQ2FjaGUoKTsKKyAgICBpbnZh
bGlkYXRlSGFzaCgpOwogfQogCiB2b2lkIEdyYWRpZW50OjpzZXRHcmFkaWVudFNwYWNlVHJhbnNm
b3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgZ3JhZGllbnRTcGFjZVRyYW5zZm9ybWF0aW9uKQpA
QCAtMjM1LDcgKzIzNyw3IEBAIHZvaWQgR3JhZGllbnQ6OnNldEdyYWRpZW50U3BhY2VUcmFuc2Zv
cm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBncmFkaWVudFNwYWNlVHJhCiAgICAgbV9ncmFkaWVu
dFNwYWNlVHJhbnNmb3JtYXRpb24gPSBncmFkaWVudFNwYWNlVHJhbnNmb3JtYXRpb247CiAgICAg
c2V0UGxhdGZvcm1HcmFkaWVudFNwYWNlVHJhbnNmb3JtKGdyYWRpZW50U3BhY2VUcmFuc2Zvcm1h
dGlvbik7CiAKLSAgICBjbGVhckhhc2hDYWNoZSgpOworICAgIGludmFsaWRhdGVIYXNoKCk7CiB9
CiAKICNpZiAhVVNFKFNLSUEpICYmICFVU0UoQ0FJUk8pCkBAIC0yNDQsMTAgKzI0NiwxMCBAQCB2
b2lkIEdyYWRpZW50OjpzZXRQbGF0Zm9ybUdyYWRpZW50U3BhY2VUcmFuc2Zvcm0oY29uc3QgQWZm
aW5lVHJhbnNmb3JtJikKIH0KICNlbmRpZgogCi11bnNpZ25lZCBHcmFkaWVudDo6aGFzaCgpCit1
bnNpZ25lZCBHcmFkaWVudDo6aGFzaCgpIGNvbnN0CiB7Ci0gICAgaWYgKG1faGFzaENhY2hlKQot
ICAgICAgICByZXR1cm4gbV9oYXNoQ2FjaGU7CisgICAgaWYgKG1fY2FjaGVkSGFzaCkKKyAgICAg
ICAgcmV0dXJuIG1fY2FjaGVkSGFzaDsKIAogICAgIHN0cnVjdCB7CiAgICAgICAgIEFmZmluZVRy
YW5zZm9ybSBncmFkaWVudFNwYWNlVHJhbnNmb3JtYXRpb247CkBAIC0yNjAsNyArMjYyLDEyIEBA
IHVuc2lnbmVkIEdyYWRpZW50OjpoYXNoKCkKICAgICAgICAgR3JhZGllbnRTcHJlYWRNZXRob2Qg
c3ByZWFkTWV0aG9kOwogICAgICAgICBib29sIHJhZGlhbDsKICAgICB9IHBhcmFtZXRlcnM7CisK
KyAgICAvLyBTdHJpbmdIYXNoZXIgcmVxdWlyZXMgdGhhdCB0aGUgbWVtb3J5IGl0IGhhc2hlcyBi
ZSBhIG11bHRpcGxlIG9mIHR3byBpbiBzaXplLgorICAgIENPTVBJTEVfQVNTRVJUKCEoc2l6ZW9m
KHBhcmFtZXRlcnMpICUgMiksIEdyYWRpZW50X3BhcmFtZXRlcnNfc2l6ZV9zaG91bGRfYmVfbXVs
dGlwbGVfb2ZfdHdvKTsKKyAgICBDT01QSUxFX0FTU0VSVCghKHNpemVvZihDb2xvclN0b3ApICUg
MiksIENvbG9yX3N0b3Bfc2l6ZV9zaG91bGRfYmVfbXVsdGlwbGVfb2ZfdHdvKTsKICAgICAKKyAg
ICAvLyBFbnN1cmUgdGhhdCBhbnkgcGFkZGluZyBpbiB0aGUgc3RydWN0IGlzIHplcm8tZmlsbGVk
LCBzbyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGhhc2ggdmFsdWUuCiAgICAgbWVtc2V0KCZwYXJh
bWV0ZXJzLCAwLCBzaXplb2YocGFyYW1ldGVycykpOwogICAgIAogICAgIHBhcmFtZXRlcnMuZ3Jh
ZGllbnRTcGFjZVRyYW5zZm9ybWF0aW9uID0gbV9ncmFkaWVudFNwYWNlVHJhbnNmb3JtYXRpb247
CkBAIC0yNzQsMTUgKzI4MSwxMSBAQCB1bnNpZ25lZCBHcmFkaWVudDo6aGFzaCgpCiAgICAgcGFy
YW1ldGVycy5yYWRpYWwgPSBtX3JhZGlhbDsKIAogICAgIHVuc2lnbmVkIHBhcmFtZXRlcnNIYXNo
ID0gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5KCZwYXJhbWV0ZXJzLCBzaXplb2YocGFyYW1ldGVy
cykpOwotICAgIAotICAgIENvbG9yU3RvcCAqIHN0b3BEYXRhID0gbV9zdG9wcy5kYXRhKCk7Ci0g
ICAgdW5zaWduZWQgc3RvcEhhc2ggPSBTdHJpbmdIYXNoZXI6Omhhc2hNZW1vcnkoc3RvcERhdGEs
IG1fc3RvcHMuc2l6ZSgpICogc2l6ZW9mKENvbG9yU3RvcCkpOwotICAgIAotICAgIHN0ZDo6cGFp
cjx1bnNpZ25lZCwgdW5zaWduZWQ+IGhhc2hlcyhwYXJhbWV0ZXJzSGFzaCwgc3RvcEhhc2gpOwot
ICAgIAotICAgIG1faGFzaENhY2hlID0gRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkLCB1
bnNpZ25lZD4gPjo6SGFzaDo6aGFzaChoYXNoZXMpOworICAgIHVuc2lnbmVkIHN0b3BIYXNoID0g
U3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5KG1fc3RvcHMuZGF0YSgpLCBtX3N0b3BzLnNpemUoKSAq
IHNpemVvZihDb2xvclN0b3ApKTsKKworICAgIG1fY2FjaGVkSGFzaCA9IGludEhhc2goKHN0YXRp
Y19jYXN0PHVpbnQ2NF90PihwYXJhbWV0ZXJzSGFzaCkgPDwgMzIpIHwgc3RvcEhhc2gpOwogCi0g
ICAgcmV0dXJuIG1faGFzaENhY2hlOworICAgIHJldHVybiBtX2NhY2hlZEhhc2g7CiB9CiAKIH0g
Ly9uYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYWRpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5o
CmluZGV4IGRjMDIzZGQuLjVlMzZmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYWRpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhZGllbnQuaApAQCAtMTA0LDcgKzEwNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgICAgIAogICAgICAgICAgICAgbV9wMCA9IHA7CiAgICAgICAgICAgICAKLSAgICAg
ICAgICAgIGNsZWFySGFzaENhY2hlKCk7CisgICAgICAgICAgICBpbnZhbGlkYXRlSGFzaCgpOwog
ICAgICAgICB9CiAgICAgICAgIAogICAgICAgICB2b2lkIHNldFAxKGNvbnN0IEZsb2F0UG9pbnQm
IHApCkBAIC0xMTQsNyArMTE0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAg
CiAgICAgICAgICAgICBtX3AxID0gcDsKICAgICAgICAgICAgIAotICAgICAgICAgICAgY2xlYXJI
YXNoQ2FjaGUoKTsKKyAgICAgICAgICAgIGludmFsaWRhdGVIYXNoKCk7CiAgICAgICAgIH0KIAog
ICAgICAgICBmbG9hdCBzdGFydFJhZGl1cygpIGNvbnN0IHsgcmV0dXJuIG1fcjA7IH0KQEAgLTEy
Nyw3ICsxMjcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgICAgIG1fcjAgPSBy
OwogCi0gICAgICAgICAgICBjbGVhckhhc2hDYWNoZSgpOworICAgICAgICAgICAgaW52YWxpZGF0
ZUhhc2goKTsKICAgICAgICAgfQogCiAgICAgICAgIHZvaWQgc2V0RW5kUmFkaXVzKGZsb2F0IHIp
CkBAIC0xMzcsNyArMTM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgICAgICBt
X3IxID0gcjsKIAotICAgICAgICAgICAgY2xlYXJIYXNoQ2FjaGUoKTsKKyAgICAgICAgICAgIGlu
dmFsaWRhdGVIYXNoKCk7CiAgICAgICAgIH0KIAogICAgICAgICBmbG9hdCBhc3BlY3RSYXRpbygp
IGNvbnN0IHsgcmV0dXJuIG1fYXNwZWN0UmF0aW87IH0KQEAgLTE3Miw4ICsxNzIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBzZXRQbGF0Zm9ybUdyYWRpZW50U3BhY2VU
cmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBncmFkaWVudFNwYWNlVHJhbnNmb3JtYXRp
b24pOwogCi0gICAgICAgIHZpcnR1YWwgdW5zaWduZWQgaGFzaCgpIE9WRVJSSURFOwotICAgICAg
ICB2b2lkIGNsZWFySGFzaENhY2hlKCkgeyBtX2hhc2hDYWNoZSA9IDA7IH0KKyAgICAgICAgdmly
dHVhbCB1bnNpZ25lZCBoYXNoKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAgIHZvaWQgaW52YWxp
ZGF0ZUhhc2goKSB7IG1fY2FjaGVkSGFzaCA9IDA7IH0KIAogI2lmIFVTRShDRykKICAgICAgICAg
dm9pZCBwYWludChDR0NvbnRleHRSZWYpOwpAQCAtMjA1LDcgKzIwNSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgR3JhZGllbnRTcHJlYWRNZXRob2QgbV9zcHJlYWRNZXRob2Q7CiAg
ICAgICAgIEFmZmluZVRyYW5zZm9ybSBtX2dyYWRpZW50U3BhY2VUcmFuc2Zvcm1hdGlvbjsKIAot
ICAgICAgICB1bnNpZ25lZCBtX2hhc2hDYWNoZTsKKyAgICAgICAgbXV0YWJsZSB1bnNpZ25lZCBt
X2NhY2hlZEhhc2g7CiAKICAgICAgICAgUGxhdGZvcm1HcmFkaWVudCBtX2dyYWRpZW50OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmNwcAppbmRleCAwMjBlNzU2Li41YjU4ZWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKQEAgLTc2MSw2ICs3NjEsMTQg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmFkanVzdExpbmVUb1BpeGVsQm91bmRhcmllcyhGbG9h
dFBvaW50JiBwMSwgRmxvYXRQb2ludCYgcDIKICAgICB9CiB9CiAKK3N0YXRpYyBib29sIHNjYWxl
c01hdGNoKEFmZmluZVRyYW5zZm9ybSBhLCBBZmZpbmVUcmFuc2Zvcm0gYikKK3sKKyAgICBpZiAo
YS54U2NhbGUoKSAhPSBiLnhTY2FsZSgpIHx8IGEueVNjYWxlKCkgIT0gYi55U2NhbGUoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIFBhc3NPd25QdHI8
SW1hZ2VCdWZmZXI+IEdyYXBoaWNzQ29udGV4dDo6Y3JlYXRlQ29tcGF0aWJsZUJ1ZmZlcihjb25z
dCBJbnRTaXplJiBzaXplKSBjb25zdAogewogICAgIC8vIE1ha2UgdGhlIGJ1ZmZlciBsYXJnZXIg
aWYgdGhlIGNvbnRleHQncyB0cmFuc2Zvcm0gaXMgc2NhbGluZyBpdCBzbyB3ZSBuZWVkIGEgaGln
aGVyCkBAIC03ODIsMTYgKzc5MCw5IEBAIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IEdyYXBoaWNz
Q29udGV4dDo6Y3JlYXRlQ29tcGF0aWJsZUJ1ZmZlcihjb25zdCBJbnRTaXplJiBzCiAKIGJvb2wg
R3JhcGhpY3NDb250ZXh0Ojppc0NvbXBhdGlibGVXaXRoQnVmZmVyKEltYWdlQnVmZmVyKiBidWZm
ZXIpIGNvbnN0CiB7Ci0gICAgQWZmaW5lVHJhbnNmb3JtIGxvY2FsVHJhbnNmb3JtID0gZ2V0Q1RN
KCk7Ci0gICAgQWZmaW5lVHJhbnNmb3JtIGJ1ZmZlclRyYW5zZm9ybSA9IGJ1ZmZlci0+Y29udGV4
dCgpLT5nZXRDVE0oKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGJ1ZmZlckNvbnRleHQgPSBidWZm
ZXItPmNvbnRleHQoKTsKIAotICAgIGlmIChsb2NhbFRyYW5zZm9ybS54U2NhbGUoKSAhPSBidWZm
ZXJUcmFuc2Zvcm0ueFNjYWxlKCkgfHwgbG9jYWxUcmFuc2Zvcm0ueVNjYWxlKCkgIT0gYnVmZmVy
VHJhbnNmb3JtLnlTY2FsZSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoaXNB
Y2NlbGVyYXRlZENvbnRleHQoKSAhPSBidWZmZXItPmNvbnRleHQoKS0+aXNBY2NlbGVyYXRlZENv
bnRleHQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7CisgICAg
cmV0dXJuIHNjYWxlc01hdGNoKGdldENUTSgpLCBidWZmZXJDb250ZXh0LT5nZXRDVE0oKSkgJiYg
aXNBY2NlbGVyYXRlZENvbnRleHQoKSA9PSBidWZmZXJDb250ZXh0LT5pc0FjY2VsZXJhdGVkQ29u
dGV4dCgpOwogfQogCiAjaWYgIVVTRShDRykK
</data>
<flag name="review"
          id="152301"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>