<?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>119769</bug_id>
          
          <creation_ts>2013-08-13 14:25:43 -0700</creation_ts>
          <short_desc>Stop using DEFINE_STATIC_LOCAL with RefPtr</short_desc>
          <delta_ts>2013-08-13 14:46:52 -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>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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>916887</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-08-13 14:25:43 -0700</bug_when>
    <thetext>Stop using DEFINE_STATIC_LOCAL with RefPtr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916889</commentid>
    <comment_count>1</comment_count>
      <attachid>208677</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-08-13 14:26:44 -0700</bug_when>
    <thetext>Created attachment 208677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916890</commentid>
    <comment_count>2</comment_count>
      <attachid>208677</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-08-13 14:35:03 -0700</bug_when>
    <thetext>Comment on attachment 208677
Patch

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

r=me, but...

It&apos;d be nice to make the methods that never return null return references instead of pointers.

&gt; Source/WebCore/editing/EditingStyle.cpp:1431
&gt; -        DEFINE_STATIC_LOCAL(RefPtr&lt;CSSPrimitiveValue&gt;, underline, (CSSPrimitiveValue::createIdentifier(CSSValueUnderline)));
&gt; -        DEFINE_STATIC_LOCAL(RefPtr&lt;CSSPrimitiveValue&gt;, lineThrough, (CSSPrimitiveValue::createIdentifier(CSSValueLineThrough)));
&gt; +        static CSSPrimitiveValue* underline = CSSPrimitiveValue::createIdentifier(CSSValueUnderline).leakRef();
&gt; +        static CSSPrimitiveValue* lineThrough = CSSPrimitiveValue::createIdentifier(CSSValueLineThrough).leakRef();

This is silly, we should just use cssValuePool().createIdentifierValue(CSSValueUnderline / CSSValueLineThrough) for these instead. Save even more memory :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916892</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-08-13 14:46:52 -0700</bug_when>
    <thetext>Committed r154023: &lt;http://trac.webkit.org/changeset/154023&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208677</attachid>
            <date>2013-08-13 14:26:44 -0700</date>
            <delta_ts>2013-08-13 14:35:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119769-20130813142643.patch</filename>
            <type>text/plain</type>
            <size>14116</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzhlMmJjOGY1NjRiN2Jh
MGZmZmY3YjY2NWI3NTAzNGE5MjA0OGM3Ni4uMTE4NjRjMjc5MTUzNDliZmRhNzUzYTE5YzRjZGFk
NjNiZmYxZmNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQxIEBACiAyMDEzLTA4LTEzICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU3RvcCB1c2luZyBE
RUZJTkVfU1RBVElDX0xPQ0FMIHdpdGggUmVmUHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZWVkIHRvIHdhc3RlIGhlYXAgbWVtb3J5IGFsbG9j
YXRpbmcgUmVmUHRyLCBqdXN0IHN0b3JlIHRoZSByYXcgcG9pbnRlcnMgZGlyZWN0bHkuCisKKyAg
ICAgICAgKiBkb20vQ29udGV4dEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
eHRGZWF0dXJlczo6ZGVmYXVsdFN3aXRjaCk6CisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TWFya2VyVGV4dE1hdGNoOjppbnN0YW5j
ZUZvcik6CisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVDaGFuZ2U6OmV4dHJhY3RUZXh0U3R5bGVzKToKKyAgICAgICAgKiBodG1sL0ZU
UERpcmVjdG9yeURvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZUUERpcmVjdG9yeURv
Y3VtZW50UGFyc2VyOjpsb2FkRG9jdW1lbnRUZW1wbGF0ZSk6CisgICAgICAgICogaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFn
ZUVsZW1lbnQ6OmRpZEFkZFVzZXJBZ2VudFNoYWRvd1Jvb3QpOgorICAgICAgICAqIGh0bWwvdHJh
Y2svVGV4dFRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFjazo6Y2FwdGlvbk1l
bnVPZmZJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFjazo6Y2FwdGlvbk1lbnVBdXRv
bWF0aWNJdGVtKToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6bG9hZERlZmF1bHRJY29uUmVjb3JkKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZTo6bnVsbEltYWdl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybVRleHRUcmFjay5oOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1UZXh0VHJhY2s6OmNhcHRpb25NZW51T2ZmSXRlbSk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVRleHRUcmFjazo6Y2FwdGlvbk1lbnVBdXRvbWF0aWNJ
dGVtKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxTaGFwZUluc2lkZSk6CisgICAgICAgICog
dGVzdGluZy9Nb2NrQ0RNLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmluaXREYXRhUHJlZml4KToK
KyAgICAgICAgKFdlYkNvcmU6OmtleVByZWZpeCk6CisgICAgICAgIChXZWJDb3JlOjprZXlSZXF1
ZXN0KToKKworMjAxMy0wOC0xMyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29t
PgorCiAgICAgICAgIFN0b3AgdXNpbmcgREVGSU5FX1NUQVRJQ19MT0NBTCB3aXRoIFJldGFpblB0
cgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5NzY1
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250ZXh0RmVhdHVyZXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0NvbnRleHRGZWF0dXJlcy5jcHAKaW5kZXggYzg0Mjc3MzhhYjE0
M2JmNmVmM2ZhNjdiYjBjOTA0NzZmNjhmNjJjNy4uYWRkZDRhMzMzM2I0MjM3ZDhkZmM5YmIzNWVj
MTY3MDA3ODQ3NDQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRleHRGZWF0
dXJlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRleHRGZWF0dXJlcy5jcHAKQEAg
LTQ2LDggKzQ2LDggQEAgY29uc3QgY2hhciogQ29udGV4dEZlYXR1cmVzOjpzdXBwbGVtZW50TmFt
ZSgpCiAKIENvbnRleHRGZWF0dXJlcyogQ29udGV4dEZlYXR1cmVzOjpkZWZhdWx0U3dpdGNoKCkK
IHsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFJlZlB0cjxDb250ZXh0RmVhdHVyZXM+LCBpbnN0
YW5jZSwgKENvbnRleHRGZWF0dXJlczo6Y3JlYXRlKENvbnRleHRGZWF0dXJlc0NsaWVudDo6ZW1w
dHkoKSkpKTsKLSAgICByZXR1cm4gaW5zdGFuY2UuZ2V0KCk7CisgICAgc3RhdGljIENvbnRleHRG
ZWF0dXJlcyogaW5zdGFuY2UgPSBDb250ZXh0RmVhdHVyZXM6OmNyZWF0ZShDb250ZXh0RmVhdHVy
ZXNDbGllbnQ6OmVtcHR5KCkpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gaW5zdGFuY2U7CiB9CiAK
IGJvb2wgQ29udGV4dEZlYXR1cmVzOjpkaWFsb2dFbGVtZW50RW5hYmxlZChEb2N1bWVudCogZG9j
dW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyLmNwcAppbmRleCA1M2Q0M2U0ZWFi
NTYwNmE2Y2M2NWM3OGIzZjdmZWEzYjMzNDFjZjBlLi4zMDJiMThlYTIxMzMwZWIzMzkwYzJkNjEz
YjllZTliMjBjM2E3MDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRN
YXJrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlci5jcHAKQEAg
LTg0LDggKzg0LDggQEAgcHJpdmF0ZToKIAogUGFzc1JlZlB0cjxEb2N1bWVudE1hcmtlclRleHRN
YXRjaD4gRG9jdW1lbnRNYXJrZXJUZXh0TWF0Y2g6Omluc3RhbmNlRm9yKGJvb2wgbWF0Y2gpCiB7
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChSZWZQdHI8RG9jdW1lbnRNYXJrZXJUZXh0TWF0Y2g+
LCB0cnVlSW5zdGFuY2UsIChhZG9wdFJlZihuZXcgRG9jdW1lbnRNYXJrZXJUZXh0TWF0Y2godHJ1
ZSkpKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChSZWZQdHI8RG9jdW1lbnRNYXJrZXJUZXh0
TWF0Y2g+LCBmYWxzZUluc3RhbmNlLCAoYWRvcHRSZWYobmV3IERvY3VtZW50TWFya2VyVGV4dE1h
dGNoKGZhbHNlKSkpKTsKKyAgICBzdGF0aWMgRG9jdW1lbnRNYXJrZXJUZXh0TWF0Y2gqIHRydWVJ
bnN0YW5jZSA9IGFkb3B0UmVmKG5ldyBEb2N1bWVudE1hcmtlclRleHRNYXRjaCh0cnVlKSkubGVh
a1JlZigpOworICAgIHN0YXRpYyBEb2N1bWVudE1hcmtlclRleHRNYXRjaCogZmFsc2VJbnN0YW5j
ZSA9IGFkb3B0UmVmKG5ldyBEb2N1bWVudE1hcmtlclRleHRNYXRjaChmYWxzZSkpLmxlYWtSZWYo
KTsKICAgICByZXR1cm4gbWF0Y2ggPyB0cnVlSW5zdGFuY2UgOiBmYWxzZUluc3RhbmNlOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAKaW5kZXggMmZlOGU3OGVjNmRi
YWUxYTZiYjAzN2NkNzZjZmZiMjY4YzQyNzljMS4uZmRmYWM5MzQ0MDFmNmZkZGE3YjRkNjAzNzMz
MTc3MTlmMTg3MzY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5n
U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcApA
QCAtMTQyNywxMyArMTQyNywxMyBAQCB2b2lkIFN0eWxlQ2hhbmdlOjpleHRyYWN0VGV4dFN0eWxl
cyhEb2N1bWVudCogZG9jdW1lbnQsIE11dGFibGVTdHlsZVByb3BlcnR5U2V0KgogICAgIC8vIEZ1
cnRoZXJtb3JlLCB0ZXh0LWRlY29yYXRpb246IG5vbmUgaGFzIGJlZW4gdHJpbW1lZCBzbyB0aGF0
IHRleHQtZGVjb3JhdGlvbiBwcm9wZXJ0eSBpcyBhbHdheXMgYSBDU1NWYWx1ZUxpc3QuCiAgICAg
UmVmUHRyPENTU1ZhbHVlPiB0ZXh0RGVjb3JhdGlvbiA9IHN0eWxlLT5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pOwogICAgIGlmICh0ZXh0RGVjb3JhdGlvbiAm
JiB0ZXh0RGVjb3JhdGlvbi0+aXNWYWx1ZUxpc3QoKSkgewotICAgICAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4sIHVuZGVybGluZSwgKENTU1ByaW1pdGl2
ZVZhbHVlOjpjcmVhdGVJZGVudGlmaWVyKENTU1ZhbHVlVW5kZXJsaW5lKSkpOwotICAgICAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4sIGxpbmVUaHJvdWdo
LCAoQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVMaW5lVGhyb3Vn
aCkpKTsKKyAgICAgICAgc3RhdGljIENTU1ByaW1pdGl2ZVZhbHVlKiB1bmRlcmxpbmUgPSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlSWRlbnRpZmllcihDU1NWYWx1ZVVuZGVybGluZSkubGVha1Jl
ZigpOworICAgICAgICBzdGF0aWMgQ1NTUHJpbWl0aXZlVmFsdWUqIGxpbmVUaHJvdWdoID0gQ1NT
UHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVMaW5lVGhyb3VnaCkubGVh
a1JlZigpOwogCiAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IG5ld1RleHREZWNvcmF0aW9u
ID0gc3RhdGljX2Nhc3Q8Q1NTVmFsdWVMaXN0Kj4odGV4dERlY29yYXRpb24uZ2V0KCkpLT5jb3B5
KCk7Ci0gICAgICAgIGlmIChuZXdUZXh0RGVjb3JhdGlvbi0+cmVtb3ZlQWxsKHVuZGVybGluZS5n
ZXQoKSkpCisgICAgICAgIGlmIChuZXdUZXh0RGVjb3JhdGlvbi0+cmVtb3ZlQWxsKHVuZGVybGlu
ZSkpCiAgICAgICAgICAgICBtX2FwcGx5VW5kZXJsaW5lID0gdHJ1ZTsKLSAgICAgICAgaWYgKG5l
d1RleHREZWNvcmF0aW9uLT5yZW1vdmVBbGwobGluZVRocm91Z2guZ2V0KCkpKQorICAgICAgICBp
ZiAobmV3VGV4dERlY29yYXRpb24tPnJlbW92ZUFsbChsaW5lVGhyb3VnaCkpCiAgICAgICAgICAg
ICBtX2FwcGx5TGluZVRocm91Z2ggPSB0cnVlOwogCiAgICAgICAgIC8vIElmIHRyaW1UZXh0RGVj
b3JhdGlvbnMsIGRlbGV0ZSB1bmRlcmxpbmUgYW5kIGxpbmUtdGhyb3VnaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9GVFBEaXJlY3RvcnlEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0ZUUERpcmVjdG9yeURvY3VtZW50LmNwcAppbmRleCA4Y2UxMGQ4NWFmNDJmNzFj
M2RiZjE1NWVlMDM3NWVkNzNkY2IxNzE1Li42MzU2MDY4NjhjOWVjN2MyYzg5ZmJlOTI2NWI4NTVi
YmVkODBhMDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZUUERpcmVjdG9yeURv
Y3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZUUERpcmVjdG9yeURvY3VtZW50
LmNwcApAQCAtMjg5LDcgKzI4OSw3IEBAIHN0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxTaGFyZWRC
dWZmZXI+IGNyZWF0ZVRlbXBsYXRlRG9jdW1lbnREYXRhKFNldHRpbmdzKiBzZXR0CiAgICAgCiBi
b29sIEZUUERpcmVjdG9yeURvY3VtZW50UGFyc2VyOjpsb2FkRG9jdW1lbnRUZW1wbGF0ZSgpCiB7
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChSZWZQdHI8U2hhcmVkQnVmZmVyPiwgdGVtcGxhdGVE
b2N1bWVudERhdGEsIChjcmVhdGVUZW1wbGF0ZURvY3VtZW50RGF0YShkb2N1bWVudCgpLT5zZXR0
aW5ncygpKSkpOworICAgIHN0YXRpYyBTaGFyZWRCdWZmZXIqIHRlbXBsYXRlRG9jdW1lbnREYXRh
ID0gY3JlYXRlVGVtcGxhdGVEb2N1bWVudERhdGEoZG9jdW1lbnQoKS0+c2V0dGluZ3MoKSkubGVh
a1JlZigpOwogICAgIC8vIEZJWE1FOiBJbnN0ZWFkIG9mIHN0b3JpbmcgdGhlIGRhdGEsIHdlJ2Qg
cmF0aGVyIGFjdHVhbGx5IHBhcnNlIHRoZSB0ZW1wbGF0ZSBkYXRhIGludG8gdGhlIHRlbXBsYXRl
IERvY3VtZW50IG9uY2UsCiAgICAgLy8gc3RvcmUgdGhhdCBkb2N1bWVudCwgdGhlbiAiY29weSIg
aXQgd2hlbmV2ZXIgd2UgZ2V0IGFuIEZUUCBkaXJlY3RvcnkgbGlzdGluZy4gIFRoZXJlIGFyZSBj
b21wbGV4aXRpZXMgd2l0aCB0aGlzIAogICAgIC8vIGFwcHJvYWNoIHRoYXQgbWFrZSBpdCB3b3J0
aCBwdXR0aW5nIHRoaXMgb2ZmLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbklt
YWdlRWxlbWVudC5jcHAKaW5kZXggYzc3NzA4OTY1NGUxN2M4MDcyOWM1MWJiZTI5MDRiZjAyMWI1
M2Q5OS4uNDlhN2JhOWU0NzIwMzc0NDhkZWVhZGU5Nzk2YTg0OTI5OTFkNGEzMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCkBAIC0zNzIsMTEg
KzM3MiwxMSBAQCB2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OmRpZEFkZFVzZXJBZ2VudFNo
YWRvd1Jvb3QoU2hhZG93Um9vdCogcm9vdCkKICAgICAKICAgICBTdHJpbmcgbWltZVR5cGUgPSBs
b2FkZWRNaW1lVHlwZSgpOwogCi0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChSZWZQdHI8RE9NV3Jh
cHBlcldvcmxkPiwgaXNvbGF0ZWRXb3JsZCwgKERPTVdyYXBwZXJXb3JsZDo6Y3JlYXRlKEpTRE9N
V2luZG93Ojpjb21tb25WTSgpKSkpOwotICAgIGRvY3VtZW50KCktPmVuc3VyZVBsdWdJbnNJbmpl
Y3RlZFNjcmlwdChpc29sYXRlZFdvcmxkLmdldCgpKTsKKyAgICBzdGF0aWMgRE9NV3JhcHBlcldv
cmxkKiBpc29sYXRlZFdvcmxkID0gRE9NV3JhcHBlcldvcmxkOjpjcmVhdGUoSlNET01XaW5kb3c6
OmNvbW1vblZNKCkpLmxlYWtSZWYoKTsKKyAgICBkb2N1bWVudCgpLT5lbnN1cmVQbHVnSW5zSW5q
ZWN0ZWRTY3JpcHQoaXNvbGF0ZWRXb3JsZCk7CiAKICAgICBTY3JpcHRDb250cm9sbGVyKiBzY3Jp
cHRDb250cm9sbGVyID0gcGFnZS0+bWFpbkZyYW1lKCktPnNjcmlwdCgpOwotICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+
KHNjcmlwdENvbnRyb2xsZXItPmdsb2JhbE9iamVjdChpc29sYXRlZFdvcmxkLmdldCgpKSk7Cisg
ICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xv
YmFsT2JqZWN0Kj4oc2NyaXB0Q29udHJvbGxlci0+Z2xvYmFsT2JqZWN0KGlzb2xhdGVkV29ybGQp
KTsKICAgICBKU0M6OkV4ZWNTdGF0ZSogZXhlYyA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygp
OwogCiAgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jayhleGVjKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVGV4dFRyYWNrLmNwcAppbmRleCA5YTBhNzU2NzBlOGE0NDBkNzgxYWVmNjQ2OGNiOWJj
NjJmOTBlY2FkLi5mNGUwNGZkYmQ1NmRjMTY0Njg2ZTdkY2QwNjY4YzE2YWM5MDlmYmI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suY3BwCkBAIC0xMDMsMTQgKzEwMywxNCBA
QCBjb25zdCBBdG9taWNTdHJpbmcmIFRleHRUcmFjazo6c2hvd2luZ0tleXdvcmQoKQogCiBUZXh0
VHJhY2sqIFRleHRUcmFjazo6Y2FwdGlvbk1lbnVPZmZJdGVtKCkKIHsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKFJlZlB0cjxUZXh0VHJhY2s+LCBvZmYsIChUZXh0VHJhY2s6OmNyZWF0ZSgwLCAw
LCAib2ZmIG1lbnUgaXRlbSIsICIiLCAiIikpKTsKLSAgICByZXR1cm4gb2ZmLmdldCgpOworICAg
IHN0YXRpYyBUZXh0VHJhY2sqIG9mZiA9IFRleHRUcmFjazo6Y3JlYXRlKDAsIDAsICJvZmYgbWVu
dSBpdGVtIiwgIiIsICIiKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIG9mZjsKIH0KIAogVGV4dFRy
YWNrKiBUZXh0VHJhY2s6OmNhcHRpb25NZW51QXV0b21hdGljSXRlbSgpCiB7Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChSZWZQdHI8VGV4dFRyYWNrPiwgYXV0b21hdGljLCAoVGV4dFRyYWNrOjpj
cmVhdGUoMCwgMCwgImF1dG9tYXRpYyBtZW51IGl0ZW0iLCAiIiwgIiIpKSk7Ci0gICAgcmV0dXJu
IGF1dG9tYXRpYy5nZXQoKTsKKyAgICBzdGF0aWMgVGV4dFRyYWNrKiBhdXRvbWF0aWMgPSBUZXh0
VHJhY2s6OmNyZWF0ZSgwLCAwLCAiYXV0b21hdGljIG1lbnUgaXRlbSIsICIiLCAiIikubGVha1Jl
ZigpOworICAgIHJldHVybiBhdXRvbWF0aWM7CiB9CiAKIFRleHRUcmFjazo6VGV4dFRyYWNrKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFRleHRUcmFja0NsaWVudCogY2xpZW50LCBj
b25zdCBBdG9taWNTdHJpbmcmIGtpbmQsIGNvbnN0IEF0b21pY1N0cmluZyYgbGFiZWwsIGNvbnN0
IEF0b21pY1N0cmluZyYgbGFuZ3VhZ2UsIFRleHRUcmFja1R5cGUgdHlwZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IGU1ZjAxYmJlMDc2YjM5ZDcw
ZTc2MGQzMWUyOGIwNTJmZTU2ZGVkMWQuLjBhY2EwNDUxZGVmNzc4MTdmOGI3MDUyY2Q0MGI3ZGIz
NjNkNDZlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNw
cApAQCAtMzg5LDcgKzM4OSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBsb2FkRGVmYXVsdEljb25S
ZWNvcmQoSWNvblJlY29yZCogZGVmYXVsdEljb25SZWNvcmQpCiAgICAgICAgIDB4MDAsIDB4MDAs
IDB4MDEsIDB4NTIsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4
MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDgsIDB4MDAs
IDB4MDgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MEEsIAogICAgICAgICAweEZD
LCAweDgwLCAweDAwLCAweDAwLCAweDI3LCAweDEwLCAweDAwLCAweDBBLCAweEZDLCAweDgwLCAw
eDAwLCAweDAwLCAweDI3LCAweDEwIH07CiAgICAgICAgIAotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoUmVmUHRyPFNoYXJlZEJ1ZmZlcj4sIGRlZmF1bHRJY29uQnVmZmVyLCAoU2hhcmVkQnVmZmVy
OjpjcmVhdGUoZGVmYXVsdEljb25EYXRhLCBzaXplb2YoZGVmYXVsdEljb25EYXRhKSkpKTsKKyAg
ICBzdGF0aWMgU2hhcmVkQnVmZmVyKiBkZWZhdWx0SWNvbkJ1ZmZlciA9IFNoYXJlZEJ1ZmZlcjo6
Y3JlYXRlKGRlZmF1bHRJY29uRGF0YSwgc2l6ZW9mKGRlZmF1bHRJY29uRGF0YSkpLmxlYWtSZWYo
KTsKICAgICBkZWZhdWx0SWNvblJlY29yZC0+c2V0SW1hZ2VEYXRhKGRlZmF1bHRJY29uQnVmZmVy
KTsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3Bw
CmluZGV4IGI4M2JjNGM1MDljM2Q5NGNjMzg3OTJhYzMzYTViNzVkMTE3NmEzZWMuLjg0ODQxNDdm
NmEzOTYxZmNjZjdmZGU1MTJlNWI3NGY1ZmYzOWRkYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKQEAgLTU3LDggKzU3LDggQEAgSW1hZ2U6On5JbWFnZSgp
CiBJbWFnZSogSW1hZ2U6Om51bGxJbWFnZSgpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFJlZlB0cjxJbWFnZT4sIG51bGxJbWFnZSwgKEJp
dG1hcEltYWdlOjpjcmVhdGUoKSkpOzsKLSAgICByZXR1cm4gbnVsbEltYWdlLmdldCgpOworICAg
IHN0YXRpYyBJbWFnZSogbnVsbEltYWdlID0gQml0bWFwSW1hZ2U6OmNyZWF0ZSgpLmxlYWtSZWYo
KTsKKyAgICByZXR1cm4gbnVsbEltYWdlOwogfQogCiBib29sIEltYWdlOjpzdXBwb3J0c1R5cGUo
Y29uc3QgU3RyaW5nJiB0eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvUGxhdGZvcm1UZXh0VHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1BsYXRmb3JtVGV4dFRyYWNrLmgKaW5kZXggYzJiODQ1MDExZGZhZWFkNmVmZDUzZmMz
ZTFiMWFhNmEwMmE2ODZkMS4uN2M0ZTg0MGVhZWExNjdiODU0ZTQwYzUwZDNmYzM5NGFhNjIxNGYy
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1U
ZXh0VHJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9y
bVRleHRUcmFjay5oCkBAIC03NiwxNCArNzYsMTQgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFBs
YXRmb3JtVGV4dFRyYWNrKiBjYXB0aW9uTWVudU9mZkl0ZW0oKQogICAgIHsKLSAgICAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChSZWZQdHI8UGxhdGZvcm1UZXh0VHJhY2s+LCBvZmYsIChQbGF0Zm9y
bVRleHRUcmFjazo6Y3JlYXRlKDAsICJvZmYgbWVudSBpdGVtIiwgIiIsIFN1YnRpdGxlLCBJbkJh
bmQsIDApKSk7Ci0gICAgICAgIHJldHVybiBvZmYuZ2V0KCk7CisgICAgICAgIHN0YXRpYyBQbGF0
Zm9ybVRleHRUcmFjayogb2ZmID0gUGxhdGZvcm1UZXh0VHJhY2s6OmNyZWF0ZSgwLCAib2ZmIG1l
bnUgaXRlbSIsICIiLCBTdWJ0aXRsZSwgSW5CYW5kLCAwKS5sZWFrUmVmKCk7CisgICAgICAgIHJl
dHVybiBvZmY7CiAgICAgfQogCiAgICAgc3RhdGljIFBsYXRmb3JtVGV4dFRyYWNrKiBjYXB0aW9u
TWVudUF1dG9tYXRpY0l0ZW0oKQogICAgIHsKLSAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChS
ZWZQdHI8UGxhdGZvcm1UZXh0VHJhY2s+LCBhdXRvbWF0aWMsIChQbGF0Zm9ybVRleHRUcmFjazo6
Y3JlYXRlKDAsICJhdXRvbWF0aWMgbWVudSBpdGVtIiwgIiIsIFN1YnRpdGxlLCBJbkJhbmQsIDAp
KSk7Ci0gICAgICAgIHJldHVybiBhdXRvbWF0aWMuZ2V0KCk7CisgICAgICAgIHN0YXRpYyBQbGF0
Zm9ybVRleHRUcmFjayAqYXV0b21hdGljID0gUGxhdGZvcm1UZXh0VHJhY2s6OmNyZWF0ZSgwLCAi
YXV0b21hdGljIG1lbnUgaXRlbSIsICIiLCBTdWJ0aXRsZSwgSW5CYW5kLCAwKS5sZWFrUmVmKCk7
CisgICAgICAgIHJldHVybiBhdXRvbWF0aWM7CiAgICAgfQogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCBjZjJiN2Zl
Y2RhNjFkZGNiOThjNmUwYTAyOGRmMzg1ZThiYzY1Yzk1Li5jMGIxNDhjZDA3ZDg4NDM2NGE0Yjc2
N2QxMDA3YmFkYWJhNGZkOWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTE3ODYsOCArMTc4Niw4IEBAIHZvaWQgUmVuZGVyU3R5bGU6
OnNldEJvcmRlckltYWdlT3V0c2V0KExlbmd0aEJveCBvdXRzZXQpCiAjaWYgRU5BQkxFKENTU19T
SEFQRVMpCiBTaGFwZVZhbHVlKiBSZW5kZXJTdHlsZTo6aW5pdGlhbFNoYXBlSW5zaWRlKCkKIHsK
LSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFJlZlB0cjxTaGFwZVZhbHVlPiwgc091dHNpZGVWYWx1
ZSwgKFNoYXBlVmFsdWU6OmNyZWF0ZU91dHNpZGVWYWx1ZSgpKSk7Ci0gICAgcmV0dXJuIHNPdXRz
aWRlVmFsdWUuZ2V0KCk7CisgICAgc3RhdGljIFNoYXBlVmFsdWUqIG91dHNpZGVWYWx1ZSA9IFNo
YXBlVmFsdWU6OmNyZWF0ZU91dHNpZGVWYWx1ZSgpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gb3V0
c2lkZVZhbHVlOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvTW9ja0NETS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tDRE0uY3BwCmluZGV4
IDU2MmNiNTdjODg3Zjk2YTViYmNiMTcwNzQ1NjA5YTJkYmIyMmQwOTIuLjI1ZjE4MDNmM2YyODRk
ZWUyZWUzMWE3ZjdmYzBjMDVmODNhMGExM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvTW9ja0NETS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNLmNw
cApAQCAtNzUsMzggKzc1LDI2IEBAIFBhc3NPd25QdHI8Q0RNU2Vzc2lvbj4gTW9ja0NETTo6Y3Jl
YXRlU2Vzc2lvbigpCiAKIHN0YXRpYyBVaW50OEFycmF5KiBpbml0RGF0YVByZWZpeCgpCiB7Ci0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcHJlZml4RGF0YVtdID0geydtJywgJ28nLCAn
YycsICdrJ307Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChSZWZQdHI8VWludDhBcnJheT4sIHBy
ZWZpeCwgKCkpOwotICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkID0gZmFsc2U7Ci0gICAgaWYg
KCFpbml0aWFsaXplZCkgewotICAgICAgICBpbml0aWFsaXplZCA9IHRydWU7Ci0gICAgICAgIHBy
ZWZpeCA9IFVpbnQ4QXJyYXk6OmNyZWF0ZShwcmVmaXhEYXRhLCBzaXplb2YocHJlZml4RGF0YSkg
LyBzaXplb2YocHJlZml4RGF0YVswXSkpOwotICAgIH0KLSAgICByZXR1cm4gcHJlZml4LmdldCgp
OworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgcHJlZml4RGF0YVtdID0geyAnbScsICdvJywgJ2Mn
LCAnaycgfTsKKyAgICBzdGF0aWMgVWludDhBcnJheSogcHJlZml4ID0gVWludDhBcnJheTo6Y3Jl
YXRlKHByZWZpeERhdGEsIFdURl9BUlJBWV9MRU5HVEgocHJlZml4RGF0YSkpLmxlYWtSZWYoKTsK
KworICAgIHJldHVybiBwcmVmaXg7CiB9CiAKIHN0YXRpYyBVaW50OEFycmF5KiBrZXlQcmVmaXgo
KQogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHByZWZpeERhdGFbXSA9IHsnaycs
ICdlJywgJ3knfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFJlZlB0cjxKU0M6OlVpbnQ4QXJy
YXk+LCBwcmVmaXgsICgpKTsKLSAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplZCA9IGZhbHNlOwot
ICAgIGlmICghaW5pdGlhbGl6ZWQpIHsKLSAgICAgICAgaW5pdGlhbGl6ZWQgPSB0cnVlOwotICAg
ICAgICBwcmVmaXggPSBVaW50OEFycmF5OjpjcmVhdGUocHJlZml4RGF0YSwgc2l6ZW9mKHByZWZp
eERhdGEpIC8gc2l6ZW9mKHByZWZpeERhdGFbMF0pKTsKLSAgICB9Ci0gICAgcmV0dXJuIHByZWZp
eC5nZXQoKTsKKyAgICBzdGF0aWMgVWludDhBcnJheSogcHJlZml4ID0gVWludDhBcnJheTo6Y3Jl
YXRlKHByZWZpeERhdGEsIFdURl9BUlJBWV9MRU5HVEgocHJlZml4RGF0YSkpLmxlYWtSZWYoKTsK
KworICAgIHJldHVybiBwcmVmaXg7CiB9CiAKIHN0YXRpYyBVaW50OEFycmF5KiBrZXlSZXF1ZXN0
KCkKIHsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciByZXF1ZXN0RGF0YVtdID0geydy
JywgJ2UnLCAncScsICd1JywgJ2UnLCAncycsICd0J307Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChSZWZQdHI8SlNDOjpVaW50OEFycmF5PiwgcmVxdWVzdCwgKCkpOwotICAgIHN0YXRpYyBib29s
IGluaXRpYWxpemVkID0gZmFsc2U7Ci0gICAgaWYgKCFpbml0aWFsaXplZCkgewotICAgICAgICBp
bml0aWFsaXplZCA9IHRydWU7Ci0gICAgICAgIHJlcXVlc3QgPSBVaW50OEFycmF5OjpjcmVhdGUo
cmVxdWVzdERhdGEsIHNpemVvZihyZXF1ZXN0RGF0YSkgLyBzaXplb2YocmVxdWVzdERhdGFbMF0p
KTsKLSAgICB9Ci0gICAgcmV0dXJuIHJlcXVlc3QuZ2V0KCk7CisgICAgc3RhdGljIFVpbnQ4QXJy
YXkqIHJlcXVlc3QgPSBVaW50OEFycmF5OjpjcmVhdGUocmVxdWVzdERhdGEsIFdURl9BUlJBWV9M
RU5HVEgocmVxdWVzdERhdGEpKS5sZWFrUmVmKCk7CisKKyAgICByZXR1cm4gcmVxdWVzdDsKIH0K
IAogc3RhdGljIFN0cmluZyBnZW5lcmF0ZVNlc3Npb25JZCgpCg==
</data>
<flag name="review"
          id="230607"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>