<?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>35322</bug_id>
          
          <creation_ts>2010-02-23 17:55:47 -0800</creation_ts>
          <short_desc>Need to create a CanvasSurface base class for HTMLCanvasElement.</short_desc>
          <delta_ts>2010-02-24 14:21:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>34909</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Levin">levin</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>193205</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-02-23 17:55:47 -0800</bug_when>
    <thetext>The purpose is to allow functionality for OffscreenCanvas and HTMLCanvasElement to reside in CanvasSurface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193397</commentid>
    <comment_count>1</comment_count>
      <attachid>49404</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-02-24 10:01:49 -0800</bug_when>
    <thetext>Created attachment 49404
Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193430</commentid>
    <comment_count>2</comment_count>
      <attachid>49404</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-02-24 11:22:24 -0800</bug_when>
    <thetext>Comment on attachment 49404
Proposed fix.

&gt; +/*
&gt; + * Copyright (C) 2010 Google Inc. All rights reserved.
&gt; + *
&gt; + * Redistribution and use in source and binary forms, with or without
&gt; + * modification, are permitted provided that the following conditions
&gt; + * are met:
&gt; + * 1. Redistributions of source code must retain the above copyright
&gt; + *    notice, this list of conditions and the following disclaimer.
&gt; + * 2. Redistributions in binary form must reproduce the above copyright
&gt; + *    notice, this list of conditions and the following disclaimer in the
&gt; + *    documentation and/or other materials provided with the distribution.
&gt; + *
&gt; + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS&apos;&apos; AND ANY
&gt; + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
&gt; + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
&gt; + * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
&gt; + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
&gt; + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
&gt; + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
&gt; + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
&gt; + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
&gt; + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
&gt; + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
&gt; + */
&gt; +
&gt; +#include &quot;config.h&quot;
&gt; +#include &quot;CanvasSurface.h&quot;
&gt; +
&gt; +namespace WebCore {
&gt; +
&gt; +} // namespace WebCore
&gt; +

Extra blank line at end of file not needed.

&gt; +namespace WebCore {
&gt; +class CanvasSurface : Noncopyable {
&gt; +public:
&gt; +
&gt; +private:
&gt; +};
&gt; +} // namespace WebCore

Need a blank line before and after the class definition.

Needs to be &quot;public Noncopyable&quot;.

Doesn&apos;t make a lot of sense to me to have those &quot;public&quot; and &quot;private&quot; in there, although I suppose there&apos;s no harm.

&gt; +#include &quot;TransformationMatrix.h&quot;

Why this change? How does it relate to adding the include of &quot;CanvasSurface.h&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193503</commentid>
    <comment_count>3</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-02-24 14:21:25 -0800</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/55201

Made changes to fix all feedback.

fwiw, the addition of
&gt; +#include &quot;TransformationMatrix.h&quot;
was the result of a merge conflict (because I had sorted the headers). I got rid of it (and the my header sorting because this wasn&apos;t related to my change).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49404</attachid>
            <date>2010-02-24 10:01:49 -0800</date>
            <delta_ts>2010-02-24 11:22:24 -0800</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>bug35322.txt</filename>
            <type>text/plain</type>
            <size>11501</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODA2Yzc1YS4uYTRkMjZjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wMi0yMyAgRGF2aWQgTGV2aW4g
IDxsZXZpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTmVlZCB0byBjcmVhdGUgYSBDYW52YXNTdXJmYWNlIGJhc2UgY2xhc3Mg
Zm9yIEhUTUxDYW52YXNFbGVtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzUzMjIKKworICAgICAgICBUaGlzIGlzIGFuIGluaXRpYWwgc3RlcCBp
biBtYWtpbmcgdGhlIE9mZnNjcmVlbkNhbnZhcyBvYmplY3QuCisKKyAgICAgICAgTm8gbmV3IGZ1
bmN0aW9uYWxpdHkgc28gbm8gbmV3IHRlc3RzLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06
IEFkZGVkIENhbnZhc1N1cmZhY2UgdG8gdGhlIGJ1aWxkLgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aTogZGl0dG8KKyAgICAgICAgKiBXZWJDb3JlLnBybzogZGl0dG8KKyAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvajogZGl0dG8KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IGRpdHRvCisgICAgICAgICogZG9tL0NhbnZhc1N1cmZhY2UuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKiBkb20vQ2FudmFzU3VyZmFjZS5oOiBBZGRlZC4KKyAgICAgICAg
KiBodG1sL0hUTUxDYW52YXNFbGVtZW50Lmg6IE1hZGUgSFRNTENhbnZhc0VsZW1lbnQgaW5oZXJp
dCBmcm9tIENhbnZhc1N1cmZhY2UuCisKIDIwMDktMTAtMjAgIE1pa2hhaWwgTmFnYW5vdiAgPG1u
YWdhbm92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFu
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KaW5kZXggMDZmNzFkMi4uZTc4NGQ0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC02ODYsNiArNjg2LDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uaCBcCiAJV2Vi
Q29yZS9kb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uY3BwIFwKIAlXZWJDb3JlL2Rv
bS9DU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbi5oIFwKKwlXZWJDb3JlL2RvbS9DYW52YXNT
dXJmYWNlLmNwcCBcCisJV2ViQ29yZS9kb20vQ2FudmFzU3VyZmFjZS5oIFwKIAlXZWJDb3JlL2Rv
bS9DaGFyYWN0ZXJEYXRhLmNwcCBcCiAJV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oIFwKIAlX
ZWJDb3JlL2RvbS9DaGVja2VkUmFkaW9CdXR0b25zLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGYwYmY1MTguLmQxNjgx
NjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCkBAIC0xMDM4LDYgKzEwMzgsOCBAQAogICAgICAgICAgICAgJ2RvbS9DREFUQVNlY3Rp
b24uaCcsCiAgICAgICAgICAgICAnZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmNw
cCcsCiAgICAgICAgICAgICAnZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmgnLAor
ICAgICAgICAgICAgJ2RvbS9DYW52YXNTdXJmYWNlLmNwcCcsCisgICAgICAgICAgICAnZG9tL0Nh
bnZhc1N1cmZhY2UuaCcsCiAgICAgICAgICAgICAnZG9tL0NoYXJhY3RlckRhdGEuY3BwJywKICAg
ICAgICAgICAgICdkb20vQ2hhcmFjdGVyRGF0YS5oJywKICAgICAgICAgICAgICdkb20vQ2hlY2tl
ZFJhZGlvQnV0dG9ucy5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dl
YkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTc5NTljZi4uZjJlMzFhMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC00NDYsNiArNDQ2
LDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCBc
CiAgICAgZG9tL0JlZm9yZVVubG9hZEV2ZW50LmNwcCBcCiAgICAgZG9tL0NEQVRBU2VjdGlvbi5j
cHAgXAorICAgIGRvbS9DYW52YXNTdXJmYWNlLmNwcCBcCiAgICAgZG9tL0NoYXJhY3RlckRhdGEu
Y3BwIFwKICAgICBkb20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5jcHAgXAogICAgIGRvbS9DaGlsZE5v
ZGVMaXN0LmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA0NGVh
MzUxLi5lZjdhMmFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI4
NTgxLDYgKzI4NTgxLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGRvbVxDYW52YXNTdXJmYWNlLmNwcCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxDYW52YXNTdXJmYWNlLmgi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxk
b21cQ2hhcmFjdGVyRGF0YS5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiODlhZGM2Li5hNzY0MTkxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTcwLDYgKzE3MCw4
IEBACiAJCTBCOTA1NjFFMEYyNTdFOTMwMDk1RkY2QSAvKiBUaHJlYWRhYmxlTG9hZGVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBCOTA1NjFEMEYy
NTdFOTMwMDk1RkY2QSAvKiBUaHJlYWRhYmxlTG9hZGVyLmNwcCAqLzsgfTsKIAkJMEI5MDU2Rjgw
RjI2ODVGMzAwOTVGRjZBIC8qIFdvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEI5MDU2RjYwRjI2ODVGMzAwOTVG
RjZBIC8qIFdvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwICovOyB9OwogCQkwQjkwNTZGOTBGMjY4
NUYzMDA5NUZGNkEgLyogV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEI5MDU2RjcwRjI2ODVGMzAwOTVGRjZBIC8q
IFdvcmtlclRocmVhZGFibGVMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgp
OyB9OyB9OworCQkwQkMyQzc3NzExMzRBOEZDMDAwQjJGNjEgLyogQ2FudmFzU3VyZmFjZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQkMyQzc3NTEx
MzRBOEZDMDAwQjJGNjEgLyogQ2FudmFzU3VyZmFjZS5jcHAgKi87IH07CisJCTBCQzJDNzc4MTEz
NEE4RkMwMDBCMkY2MSAvKiBDYW52YXNTdXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQkMyQzc3NjExMzRBOEZDMDAwQjJGNjEgLyogQ2FudmFz
U3VyZmFjZS5oICovOyB9OwogCQkwQkUwMzBBMjBGMzExMkZCMDAzQzFBNDYgLyogUmVuZGVyTGlu
ZUJveExpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBCRTAzMEExMEYzMTEyRkIwMDNDMUE0NiAvKiBSZW5kZXJMaW5lQm94TGlzdC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBDM0YxRjVBMTBDODg3
MTIwMEQ3MkNFMSAvKiBXZWJHTFVuaWZvcm1Mb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzNGMUY1NzEwQzg4NzEyMDBENzJDRTEgLyog
V2ViR0xVbmlmb3JtTG9jYXRpb24uY3BwICovOyB9OwogCQkwQzNGMUY1QjEwQzg4NzEyMDBENzJD
RTEgLyogV2ViR0xVbmlmb3JtTG9jYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBDM0YxRjU4MTBDODg3MTIwMEQ3MkNFMSAvKiBXZWJHTFVuaWZv
cm1Mb2NhdGlvbi5oICovOyB9OwpAQCAtNTQ0Nyw2ICs1NDQ5LDggQEAKIAkJMEI5MDU2MUQwRjI1
N0U5MzAwOTVGRjZBIC8qIFRocmVhZGFibGVMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gVGhyZWFkYWJsZUxvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTBCOTA1NkY2MEYyNjg1RjMwMDk1RkY2QSAvKiBXb3JrZXJUaHJlYWRhYmxl
TG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlclRo
cmVhZGFibGVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwQjkwNTZG
NzBGMjY4NUYzMDA5NUZGNkEgLyogV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBCQzJDNzc1MTEzNEE4RkMwMDBCMkY2MSAvKiBDYW52YXNT
dXJmYWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhbnZhc1N1
cmZhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwQkMyQzc3NjExMzRBOEZD
MDAwQjJGNjEgLyogQ2FudmFzU3VyZmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDYW52YXNTdXJmYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBCRTAz
MEExMEYzMTEyRkIwMDNDMUE0NiAvKiBSZW5kZXJMaW5lQm94TGlzdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJMaW5lQm94TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwQzNGMUY1NzEwQzg4NzEyMDBENzJDRTEgLyogV2ViR0xVbmlmb3JtTG9j
YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViR0xVbmlm
b3JtTG9jYXRpb24uY3BwOyBwYXRoID0gY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEMzRjFGNTgxMEM4ODcxMjAwRDcyQ0UxIC8q
IFdlYkdMVW5pZm9ybUxvY2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFdlYkdMVW5pZm9ybUxvY2F0aW9uLmg7IHBhdGggPSBjYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1ODE4LDYgKzE1ODIyLDggQEAK
IAkJCQk2NTUwQjY5MzA5OURGMDI3MDA5MEQ3ODEgLyogQ0RBVEFTZWN0aW9uLmNwcCAqLywKIAkJ
CQk2NTUwQjY5NDA5OURGMDI3MDA5MEQ3ODEgLyogQ0RBVEFTZWN0aW9uLmggKi8sCiAJCQkJODUw
ODlDQzkwQTk4QzJBQjAwQTI3NUFBIC8qIENEQVRBU2VjdGlvbi5pZGwgKi8sCisJCQkJMEJDMkM3
NzUxMTM0QThGQzAwMEIyRjYxIC8qIENhbnZhc1N1cmZhY2UuY3BwICovLAorCQkJCTBCQzJDNzc2
MTEzNEE4RkMwMDBCMkY2MSAvKiBDYW52YXNTdXJmYWNlLmggKi8sCiAJCQkJNjU1MEI2OTUwOTlE
RjAyNzAwOTBENzgxIC8qIENoYXJhY3RlckRhdGEuY3BwICovLAogCQkJCTY1NTBCNjk2MDk5REYw
MjcwMDkwRDc4MSAvKiBDaGFyYWN0ZXJEYXRhLmggKi8sCiAJCQkJOTNFRUMxRTYwOUMyODc3NzAw
QzUxNUQxIC8qIENoYXJhY3RlckRhdGEuaWRsICovLApAQCAtMTg1MzcsNiArMTg1NDMsNyBAQAog
CQkJCTlGMkEzMjJFMTEyNUEwQTIwMDNDMzA1NiAvKiBKYXZhU2NyaXB0UHJvZmlsZU5vZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTdBRkQ0QThCMTEzMUMyNzYwMDM1Qjg4MyAvKiBTY3JpcHRCcmVh
a3BvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QUZENEZGNDExMzI3N0I2MDAzNUI4ODMgLyog
U2NyaXB0RGVidWdMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEJDMkM3NzgxMTM0QThG
QzAwMEIyRjYxIC8qIENhbnZhc1N1cmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjA3MTksNiAr
MjA3MjYsNyBAQAogCQkJCTlGMkEzMjJEMTEyNUEwQTIwMDNDMzA1NiAvKiBKYXZhU2NyaXB0UHJv
ZmlsZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkUyMUM2QzAxMTI2MzM4NTAwQTdCRTAy
IC8qIEdyYXBoaWNzQ29udGV4dDNELmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFMjFDNkMyMTEy
NjMzOTkwMEE3QkUwMiAvKiBHcmFwaGljc0NvbnRleHQzRENHLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTBCQzJDNzc3MTEzNEE4RkMwMDBCMkY2MSAvKiBDYW52YXNTdXJmYWNlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQ2FudmFzU3VyZmFjZS5jcHAgYi9XZWJD
b3JlL2RvbS9DYW52YXNTdXJmYWNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4yYTI0ZmMyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQ2FudmFzU3VyZmFj
ZS5jcHAKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJDYW52YXNTdXJmYWNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9DYW52YXNTdXJmYWNl
LmggYi9XZWJDb3JlL2RvbS9DYW52YXNTdXJmYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uNTZlYzU3OQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0NhbnZh
c1N1cmZhY2UuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDYW52YXNTdXJm
YWNlX2gKKyNkZWZpbmUgQ2FudmFzU3VyZmFjZV9oCisKKyNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQ2FudmFzU3VyZmFjZSA6IE5vbmNv
cHlhYmxlIHsKK3B1YmxpYzoKKworcHJpdmF0ZToKK307Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50Lmgg
Yi9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAppbmRleCBkNzBhN2U2Li43MGI0YzMz
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAorKysgYi9XZWJD
b3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaApAQCAtMjgsMTIgKzI4LDE1IEBACiAjZGVmaW5l
IEhUTUxDYW52YXNFbGVtZW50X2gKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2lu
Y2x1ZGUgIkNhbnZhc1N1cmZhY2UuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRl
ICJIVE1MRWxlbWVudC5oIgorI2luY2x1ZGUgIkludFNpemUuaCIKKyNpbmNsdWRlICJUcmFuc2Zv
cm1hdGlvbk1hdHJpeC5oIgorCiAjaWYgRU5BQkxFKDNEX0NBTlZBUykgICAgCiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0M0QuaCIKICNlbmRpZgotI2luY2x1ZGUgIkludFNpemUuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC01Nyw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgY2FudmFzRGVzdHJveWVkKEhUTUxDYW52YXNFbGVtZW50KikgPSAwOwogfTsKIAotY2xh
c3MgSFRNTENhbnZhc0VsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQgeworY2xhc3MgSFRNTENh
bnZhc0VsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQsIHB1YmxpYyBDYW52YXNTdXJmYWNlIHsK
IHB1YmxpYzoKICAgICBIVE1MQ2FudmFzRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQqKTsKICAgICB2aXJ0dWFsIH5IVE1MQ2FudmFzRWxlbWVudCgpOwo=
</data>
<flag name="review"
          id="32261"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="32262"
          type_id="3"
          status="-"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>