<?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>139601</bug_id>
          
          <creation_ts>2014-12-12 15:54:03 -0800</creation_ts>
          <short_desc>[CSS Shapes] Fix StyleBuilder code to use CSSValueNone to match spec and other code</short_desc>
          <delta_ts>2014-12-15 10:57:14 -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>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="Bem Jones-Bey">bjonesbe</reporter>
          <assigned_to name="Bem Jones-Bey">bjonesbe</assigned_to>
          <cc>cdumez</cc>
    
    <cc>WebkitBugTracker</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1055319</commentid>
    <comment_count>0</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-12-12 15:54:03 -0800</bug_when>
    <thetext>This one part of the code didn&apos;t get updated when the rest was to use none instead of auto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055326</commentid>
    <comment_count>1</comment_count>
      <attachid>243224</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-12-12 16:01:47 -0800</bug_when>
    <thetext>Created attachment 243224
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055332</commentid>
    <comment_count>2</comment_count>
      <attachid>243224</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-12 16:15:01 -0800</bug_when>
    <thetext>Comment on attachment 243224
Patch

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

&gt; Source/WebCore/css/StyleBuilderCustom.h:228
&gt;  inline void StyleBuilderCustom::applyValueWebkitShapeOutside(StyleResolver&amp; styleResolver, CSSValue&amp; value)

Based on the assertions, it looks like we *always* end up calling RenderStyle::setShapeOutside(). If so, I think it would be great to get rid of this custom code and use a standard:
PassRefPtr&lt;ShapeValue&gt; convertShapeValue(StyleResolver&amp;, CSSValue&amp;);
in StyleBuilderConverter.h

Then use Converter=ShapeValue for this property in CSSPropertyNames.in, instead of Custom=*.

&gt; Source/WebCore/css/StyleBuilderCustom.h:237
&gt; +    if (is&lt;CSSImageValue&gt;(value) || is&lt;CSSImageGeneratorValue&gt;(value) || is&lt;CSSImageSetValue&gt;(value)) {

Looks like the last one should be protected by #if ENABLE(CSS_IMAGE_SET) ?

&gt; Source/WebCore/css/StyleBuilderCustom.h:243
&gt; +    if (is&lt;CSSValueList&gt;(value)) {

Based on the parser code, it looks to me that it can only be a CSSValueList at this point. I would get rid of this check and rely on the assertion in downcast&lt;CSSValueList&gt;(value) below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055358</commentid>
    <comment_count>3</comment_count>
      <attachid>243236</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-12-12 17:29:14 -0800</bug_when>
    <thetext>Created attachment 243236
Patch

Update for comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055365</commentid>
    <comment_count>4</comment_count>
      <attachid>243236</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-12 17:59:15 -0800</bug_when>
    <thetext>Comment on attachment 243236
Patch

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

r=me, very nice, thanks. Just a couple of nits before landing.

&gt; Source/WebCore/ChangeLog:10
&gt; +        In doing this change, it became apparent that thwere is nothing

&quot;there&quot;

&gt; Source/WebCore/css/StyleBuilderConverter.h:560
&gt; +static inline bool isImageShape(CSSValue&amp; value)

nit: &quot;const CSSValue&amp;&quot;

&gt; Source/WebCore/css/StyleBuilderConverter.h:572
&gt; +        return nullptr;

if (is&lt;CSSPrimitiveValue&gt;(value)) {
  ASSERT(downcast&lt;CSSPrimitiveValue&gt;(value).getValueID() == CSSValueNone);
  return nullptr;
}

Because CSSValueNone is the only CSSPrimitiveValue allowed by the parser.

&gt; Source/WebCore/css/StyleBuilderConverter.h:587
&gt; +            referenceBox = CSSBoxType(primitiveValue);

nit: &quot;CSSBoxType()&quot; is likely unnecessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055668</commentid>
    <comment_count>5</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-12-15 10:57:14 -0800</bug_when>
    <thetext>Committed r177289: &lt;http://trac.webkit.org/changeset/177289&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243224</attachid>
            <date>2014-12-12 16:01:47 -0800</date>
            <delta_ts>2014-12-12 17:29:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3645</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3NzhkZWQ5Li5kN2E4MTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTQtMTItMTIgIEJlbSBKb25lcy1CZXkgIDxiam9uZXNiZUBhZG9iZS5jb20+CisKKyAg
ICAgICAgW0NTUyBTaGFwZXNdIEZpeCBTdHlsZUJ1aWxkZXIgY29kZSB0byB1c2UgQ1NTVmFsdWVO
b25lIHRvIG1hdGNoIHNwZWMgYW5kIG90aGVyIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTYwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSB0aGUgY29kZSB0byBwcm9wZXJseSB1c2Ug
Q1NTVmFsdWVOb25lIGluc3RlYWQgb2YgQ1NTVmFsdWVBdXRvLgorICAgICAgICBJdCBsb29rcyBs
aWtlIGJlY2F1c2Ugb2YgdGhlIG1hbnkgcGxhY2VzIHdoZXJlIHRoZSBjb2RlIHNpbGVudHkgZmFs
bHMKKyAgICAgICAgdGhyb3VnaCBvbiBhbiBpbnZhbGlkIHZhbHVlLCB0aGlzIGhhcHBlbmVkIHRv
IG5vdCBjYXVzZSBhbnkgb2JzZXJ2YWJsZQorICAgICAgICBpc3N1ZXMsIGFzc3VtaW5nIHRoYXQg
dGhlIG1lbW9yeSBmb3IgdGhlIHN0eWxlIG9iamVjdCBpcyBhbHdheXMKKyAgICAgICAgaW5pdGlh
bGl6ZWQgdG8gMC4gR2l2ZW4gdGhhdCB0aGUgb25seSB3YXkgZm9yIGFuIHVuZXhwZWN0ZWQgY29k
ZSBwYXRoCisgICAgICAgIHRvIGJlIHRha2VuIGlzIGEgYnVnIGluIHRoZSBwYXJzZXIsIHRoaXMg
cGF0Y2ggcmVmYWN0b3JzIHRoZSBjb2RlIHRvCisgICAgICAgIGFzc2VydCBpbiB0aG9zZSBjYXNl
cy4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2Ugb2JzZXJ2YWJsZSBmcm9tIExheW91dFRl
c3RzLgorCisgICAgICAgICogY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlV2Via2l0U2hhcGVPdXRzaWRlKToK
KwogMjAxNC0xMi0xMiAgUmFkdSBTdGF2aWxhICA8c3RhdmlsYUBhZG9iZS5jb20+CiAKICAgICAg
ICAgW1NWRyBNYXNraW5nXSBFbmFibGUgdGhlIHVzZSBvZiA8bWFzaz4gZWxlbWVudHMgZm9yIC13
ZWJraXQtbWFzay1pbWFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVp
bGRlckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCmlu
ZGV4IGVjYzU3NDQuLmEwZmU4YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZUJ1aWxkZXJDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3Vz
dG9tLmgKQEAgLTIyOCwxNCArMjI4LDE5IEBAIGlubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3Rv
bTo6YXBwbHlWYWx1ZVpvb20oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTCiBpbmxp
bmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVXZWJraXRTaGFwZU91dHNpZGUo
U3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIGlm
IChpczxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBTaG91
bGRuJ3QgdGhpcyBiZSBDU1NWYWx1ZU5vbmU/Ci0gICAgICAgIC8vIGh0dHA6Ly93d3cudzMub3Jn
L1RSL2Nzcy1zaGFwZXMvI3NoYXBlLW91dHNpZGUtcHJvcGVydHkKLSAgICAgICAgaWYgKGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkuZ2V0VmFsdWVJRCgpID09IENTU1ZhbHVlQXV0
bykKKyAgICAgICAgaWYgKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkuZ2V0VmFs
dWVJRCgpID09IENTU1ZhbHVlTm9uZSkgewogICAgICAgICAgICAgc3R5bGVSZXNvbHZlci5zdHls
ZSgpLT5zZXRTaGFwZU91dHNpZGUobnVsbHB0cik7Ci0gICAgfSBpZiAoaXM8Q1NTSW1hZ2VWYWx1
ZT4odmFsdWUpIHx8IGlzPENTU0ltYWdlR2VuZXJhdG9yVmFsdWU+KHZhbHVlKSB8fCBpczxDU1NJ
bWFnZVNldFZhbHVlPih2YWx1ZSkpIHsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGlmIChpczxDU1NJbWFnZVZhbHVlPih2YWx1ZSkgfHwgaXM8Q1NTSW1hZ2VH
ZW5lcmF0b3JWYWx1ZT4odmFsdWUpIHx8IGlzPENTU0ltYWdlU2V0VmFsdWU+KHZhbHVlKSkgewog
ICAgICAgICBSZWZQdHI8U2hhcGVWYWx1ZT4gc2hhcGUgPSBTaGFwZVZhbHVlOjpjcmVhdGVJbWFn
ZVZhbHVlKHN0eWxlUmVzb2x2ZXIuc3R5bGVJbWFnZShDU1NQcm9wZXJ0eVdlYmtpdFNoYXBlT3V0
c2lkZSwgdmFsdWUpKTsKICAgICAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRTaGFwZU91
dHNpZGUoc2hhcGUucmVsZWFzZSgpKTsKLSAgICB9IGVsc2UgaWYgKGlzPENTU1ZhbHVlTGlzdD4o
dmFsdWUpKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoaXM8Q1NTVmFsdWVM
aXN0Pih2YWx1ZSkpIHsKICAgICAgICAgUmVmUHRyPEJhc2ljU2hhcGU+IHNoYXBlOwogICAgICAg
ICBDU1NCb3hUeXBlIHJlZmVyZW5jZUJveCA9IEJveE1pc3Npbmc7CiAgICAgICAgIGZvciAoYXV0
byYgY3VycmVudFZhbHVlIDogZG93bmNhc3Q8Q1NTVmFsdWVMaXN0Pih2YWx1ZSkpIHsKQEAgLTI0
NywxNSArMjUyLDI0IEBAIGlubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1
ZVdlYmtpdFNoYXBlT3V0c2lkZShTdHlsZVJlc29sdmVyJiBzdHlsCiAgICAgICAgICAgICAgICAg
fHwgcHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJRCgpID09IENTU1ZhbHVlUGFkZGluZ0JveAogICAg
ICAgICAgICAgICAgIHx8IHByaW1pdGl2ZVZhbHVlLmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZU1h
cmdpbkJveCkKICAgICAgICAgICAgICAgICByZWZlcmVuY2VCb3ggPSBDU1NCb3hUeXBlKHByaW1p
dGl2ZVZhbHVlKTsKLSAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIGlmIChzaGFwZSkKKyAgICAgICAg
aWYgKHNoYXBlKSB7CiAgICAgICAgICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldFNoYXBl
T3V0c2lkZShTaGFwZVZhbHVlOjpjcmVhdGVTaGFwZVZhbHVlKHNoYXBlLnJlbGVhc2UoKSwgcmVm
ZXJlbmNlQm94KSk7Ci0gICAgICAgIGVsc2UgaWYgKHJlZmVyZW5jZUJveCAhPSBCb3hNaXNzaW5n
KQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHJlZmVyZW5j
ZUJveCAhPSBCb3hNaXNzaW5nKSB7CiAgICAgICAgICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCkt
PnNldFNoYXBlT3V0c2lkZShTaGFwZVZhbHVlOjpjcmVhdGVCb3hTaGFwZVZhbHVlKHJlZmVyZW5j
ZUJveCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgfQorCisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiB9CiAjZW5kaWYgLy8gRU5BQkxFKENTU19TSEFQRVMpCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243236</attachid>
            <date>2014-12-12 17:29:14 -0800</date>
            <delta_ts>2014-12-12 17:59:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139601-20141212172958.patch</filename>
            <type>text/plain</type>
            <size>8334</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3MjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc4ZGVkOTNmOGI0YTBm
ZTBlZGRlOTU4NDJlZjhmZWEzNWUwNjZhNC4uNzFlNDc4OTQwYTRhMTk4ZmU3NGI1MmI5YzdhOTY1
ZTczYmU2YjAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTEyLTEyICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hhcGVzXSBG
aXggU3R5bGVCdWlsZGVyIGNvZGUgdG8gdXNlIENTU1ZhbHVlTm9uZSB0byBtYXRjaCBzcGVjIGFu
ZCBvdGhlciBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzk2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBDaGFuZ2UgdGhlIGNvZGUgdG8gcHJvcGVybHkgdXNlIENTU1ZhbHVlTm9uZSBpbnN0ZWFk
IG9mIENTU1ZhbHVlQXV0by4KKyAgICAgICAgQXNzZXJ0cyBoYXZlIGJlZW4gYWRkZWQgdG8gY2F0
Y2ggc2ltaWxhciBlcnJvcnMgaW4gdGhlIGZ1dHVyZS4KKyAgICAgICAgSW4gZG9pbmcgdGhpcyBj
aGFuZ2UsIGl0IGJlY2FtZSBhcHBhcmVudCB0aGF0IHRod2VyZSBpcyBub3RoaW5nCisgICAgICAg
IHNwZWNpYWwgYWJvdXQgdGhlIHNoYXBlLW91dHNpZGUgcHJvcGVydHkgdGhhdCByZXF1aXJlcyBj
dXN0b20gY29kZSwgc28KKyAgICAgICAgaXQgd2FzIGNoYW5nZWQgdG8gdXNlIGEgc3RhbmRhcmQg
Y29udmVydGVyIGZ1bmN0aW9uLiAKKworICAgICAgICBObyBjaGFuZ2Ugb2JzZXJ2YWJsZSB2aWEg
TGF5b3V0VGVzdHMuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogVXNlIGEg
Y29udmVydGVyIGluc3RlYWQgb2YgY3VzdG9tIGNvZGUuCisgICAgICAgICogY3NzL1N0eWxlQnVp
bGRlckNvbnZlcnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6aXNJbWFnZVNoYXBlKTogSGVscGVy
IGZ1bmN0aW9uIHNvIHRoYXQgaXNJbWFnZVNldFZhbHVlIGNhbgorICAgICAgICAgICAgYmUgcHJv
cGVybHkgZ3VhcmRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckNvbnZlcnRlcjo6
Y29udmVydFNoYXBlVmFsdWUpOiBGb3JtYXQgYXMgYQorICAgICAgICAgICAgY29udmVydGVyIGlu
c3RlYWQgb2YgY3VzdG9tIGNvZGUuCisgICAgICAgICogY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5o
OgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlV2Via2l0
U2hhcGVPdXRzaWRlKTogRGVsZXRlZC4KKwogMjAxNC0xMi0xMiAgUmFkdSBTdGF2aWxhICA8c3Rh
dmlsYUBhZG9iZS5jb20+CiAKICAgICAgICAgW1NWRyBNYXNraW5nXSBFbmFibGUgdGhlIHVzZSBv
ZiA8bWFzaz4gZWxlbWVudHMgZm9yIC13ZWJraXQtbWFzay1pbWFnZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCBkZmM3Y2IzMjAwMzgyNjVkYzk2MGFjODU4Zjk5NzRm
YzYxNzhhNDMxLi5mMjM2MGQ5YWNkMzEyNzI1MjdhMDNlOTkzM2U3OTk2MGYwMzFiM2ZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAtNTM2LDcgKzUzNiw3IEBAIHRl
eHQtZW1waGFzaXMtc3R5bGUgPSAtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKIC13ZWJraXQt
cmVnaW9uLWJyZWFrLWluc2lkZSBbVHlwZU5hbWU9RVBhZ2VCcmVhaywgSW5pdGlhbD1pbml0aWFs
UGFnZUJyZWFrXQogI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX1NIQVBFUykgJiYgRU5B
QkxFX0NTU19TSEFQRVMKLS13ZWJraXQtc2hhcGUtb3V0c2lkZSBbQ3VzdG9tPVZhbHVlXQorLXdl
YmtpdC1zaGFwZS1vdXRzaWRlIFtDb252ZXJ0ZXI9U2hhcGVWYWx1ZV0KIC13ZWJraXQtc2hhcGUt
bWFyZ2luIFtDb252ZXJ0ZXI9TGVuZ3RoXQogLXdlYmtpdC1zaGFwZS1pbWFnZS10aHJlc2hvbGQg
W0NvbnZlcnRlcj1OdW1iZXI8ZmxvYXQ+XQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVCdWlsZGVyQ29udmVydGVyLmgKaW5kZXggZmJmOGJlYzI1YTUyYzZkZGIyZjhhNTNlM2YxZjZj
OTZhZjRkOGVmOS4uYzBjOGIzNzA0YzkwNTViMzdmZTBhMDA2ZDVhMzUyOWQ2ZDEzZjU3MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaApAQCAtMjksNiArMjks
OSBAQAogCiAjaW5jbHVkZSAiQmFzaWNTaGFwZUZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIkNTU0Nh
bGN1bGF0aW9uVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmgiCisj
aW5jbHVkZSAiQ1NTSW1hZ2VTZXRWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1JlZmxlY3RWYWx1
ZS5oIgogI2luY2x1ZGUgIkxlbmd0aC5oIgpAQCAtNzMsNiArNzYsNyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIEludFNpemUgY29udmVydEluaXRpYWxMZXR0ZXIoU3R5bGVSZXNvbHZlciYsIENTU1Zh
bHVlJik7CiAgICAgc3RhdGljIGZsb2F0IGNvbnZlcnRUZXh0U3Ryb2tlV2lkdGgoU3R5bGVSZXNv
bHZlciYsIENTU1ZhbHVlJik7CiAgICAgc3RhdGljIExpbmVCb3hDb250YWluIGNvbnZlcnRMaW5l
Qm94Q29udGFpbihTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTaGFwZVZhbHVlPiBjb252ZXJ0U2hhcGVWYWx1ZShTdHlsZVJlc29sdmVyJiwgQ1NTVmFs
dWUmKTsKIAogcHJpdmF0ZToKICAgICBzdGF0aWMgTGVuZ3RoIGNvbnZlcnRUb1JhZGl1c0xlbmd0
aChDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiwgQ1NTUHJpbWl0aXZlVmFsdWUmKTsKQEAgLTU1
Miw2ICs1NTYsNTIgQEAgaW5saW5lIExpbmVCb3hDb250YWluIFN0eWxlQnVpbGRlckNvbnZlcnRl
cjo6Y29udmVydExpbmVCb3hDb250YWluKFN0eWxlUmVzb2x2ZXIKICAgICByZXR1cm4gZG93bmNh
c3Q8Q1NTTGluZUJveENvbnRhaW5WYWx1ZT4odmFsdWUpLnZhbHVlKCk7CiB9CiAKKyNpZiBFTkFC
TEUoQ1NTX1NIQVBFUykKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0ltYWdlU2hhcGUoQ1NTVmFsdWUm
IHZhbHVlKQoreworICAgIHJldHVybiBpczxDU1NJbWFnZVZhbHVlPih2YWx1ZSkKKyNpZiBFTkFC
TEUoQ1NTX0lNQUdFX1NFVCkKKyAgICAgICAgfHwgaXM8Q1NTSW1hZ2VTZXRWYWx1ZT4odmFsdWUp
CisjZW5kaWYgCisgICAgICAgIHx8IGlzPENTU0ltYWdlR2VuZXJhdG9yVmFsdWU+KHZhbHVlKTsK
K30KKworaW5saW5lIFBhc3NSZWZQdHI8U2hhcGVWYWx1ZT4gU3R5bGVCdWlsZGVyQ29udmVydGVy
Ojpjb252ZXJ0U2hhcGVWYWx1ZShTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1
ZSYgdmFsdWUpCit7CisgICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkgJiYgZG93
bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVO
b25lKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmIChpc0ltYWdlU2hhcGUodmFs
dWUpKQorICAgICAgICByZXR1cm4gU2hhcGVWYWx1ZTo6Y3JlYXRlSW1hZ2VWYWx1ZShzdHlsZVJl
c29sdmVyLnN0eWxlSW1hZ2UoQ1NTUHJvcGVydHlXZWJraXRTaGFwZU91dHNpZGUsIHZhbHVlKSk7
CisKKyAgICBSZWZQdHI8QmFzaWNTaGFwZT4gc2hhcGU7CisgICAgQ1NTQm94VHlwZSByZWZlcmVu
Y2VCb3ggPSBCb3hNaXNzaW5nOworICAgIGZvciAoYXV0byYgY3VycmVudFZhbHVlIDogZG93bmNh
c3Q8Q1NTVmFsdWVMaXN0Pih2YWx1ZSkpIHsKKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUmIHBy
aW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KGN1cnJlbnRWYWx1ZS5n
ZXQoKSk7CisgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS5pc1NoYXBlKCkpCisgICAgICAgICAg
ICBzaGFwZSA9IGJhc2ljU2hhcGVGb3JWYWx1ZShzdHlsZVJlc29sdmVyLnN0YXRlKCkuY3NzVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YSgpLCBwcmltaXRpdmVWYWx1ZS5nZXRTaGFwZVZhbHVlKCkpOwor
ICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVD
b250ZW50Qm94CisgICAgICAgICAgICB8fCBwcmltaXRpdmVWYWx1ZS5nZXRWYWx1ZUlEKCkgPT0g
Q1NTVmFsdWVCb3JkZXJCb3gKKyAgICAgICAgICAgIHx8IHByaW1pdGl2ZVZhbHVlLmdldFZhbHVl
SUQoKSA9PSBDU1NWYWx1ZVBhZGRpbmdCb3gKKyAgICAgICAgICAgIHx8IHByaW1pdGl2ZVZhbHVl
LmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZU1hcmdpbkJveCkKKyAgICAgICAgICAgIHJlZmVyZW5j
ZUJveCA9IENTU0JveFR5cGUocHJpbWl0aXZlVmFsdWUpOworICAgICAgICBlbHNlIHsKKyAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoc2hhcGUpCisgICAgICAgIHJldHVybiBTaGFw
ZVZhbHVlOjpjcmVhdGVTaGFwZVZhbHVlKHNoYXBlLnJlbGVhc2UoKSwgcmVmZXJlbmNlQm94KTsK
KworICAgIGlmIChyZWZlcmVuY2VCb3ggIT0gQm94TWlzc2luZykKKyAgICAgICAgcmV0dXJuIFNo
YXBlVmFsdWU6OmNyZWF0ZUJveFNoYXBlVmFsdWUocmVmZXJlbmNlQm94KTsKKworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorI2VuZGlmIC8vIEVOQUJM
RShDU1NfU0hBUEVTKQorCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IGVjYzU3NDQxOTEzZmRjMzc1NGZlNWFiOTUz
NGYwMzVmMDk0MDY3OTAuLmYxODMwN2I3MmE2NTdjNzcwMDk4ZGM3ODJiMmQ0ZWZiNzMyMGIzMTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTI3LDExICsyNyw3
IEBACiAjaWZuZGVmIFN0eWxlQnVpbGRlckN1c3RvbV9oCiAjZGVmaW5lIFN0eWxlQnVpbGRlckN1
c3RvbV9oCiAKLSNpbmNsdWRlICJCYXNpY1NoYXBlRnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAiQ1NT
QXNwZWN0UmF0aW9WYWx1ZS5oIgotI2luY2x1ZGUgIkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaCIK
LSNpbmNsdWRlICJDU1NJbWFnZVNldFZhbHVlLmgiCi0jaW5jbHVkZSAiQ1NTSW1hZ2VWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU1NoYWRvd1ZhbHVlLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNs
dWRlICJMb2NhbGVUb1NjcmlwdE1hcHBpbmcuaCIKQEAgLTUzLDEwICs0OSw2IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBhcHBseUluaGVyaXRab29tKFN0eWxlUmVzb2x2ZXImKTsKICAgICBz
dGF0aWMgdm9pZCBhcHBseVZhbHVlWm9vbShTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKIAot
I2lmIEVOQUJMRShDU1NfU0hBUEVTKQotICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVXZWJraXRT
aGFwZU91dHNpZGUoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7Ci0jZW5kaWYgLy8gRU5BQkxF
KENTU19TSEFQRVMpCi0KICAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlVmVydGljYWxBbGlnbihT
dHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKIAogI2lmIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xV
VElPTikKQEAgLTIyMyw0MiArMjE1LDYgQEAgaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9t
OjphcHBseVZhbHVlWm9vbShTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1MKICAgICAg
ICAgICAgIHN0eWxlUmVzb2x2ZXIuc2V0Wm9vbShudW1iZXIpOwogICAgIH0KIH0KLQotI2lmIEVO
QUJMRShDU1NfU0hBUEVTKQotaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZh
bHVlV2Via2l0U2hhcGVPdXRzaWRlKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1Zh
bHVlJiB2YWx1ZSkKLXsKLSAgICBpZiAoaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkgewot
ICAgICAgICAvLyBGSVhNRTogU2hvdWxkbid0IHRoaXMgYmUgQ1NTVmFsdWVOb25lPwotICAgICAg
ICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3Mtc2hhcGVzLyNzaGFwZS1vdXRzaWRlLXByb3Bl
cnR5Ci0gICAgICAgIGlmIChkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpLmdldFZh
bHVlSUQoKSA9PSBDU1NWYWx1ZUF1dG8pCi0gICAgICAgICAgICBzdHlsZVJlc29sdmVyLnN0eWxl
KCktPnNldFNoYXBlT3V0c2lkZShudWxscHRyKTsKLSAgICB9IGlmIChpczxDU1NJbWFnZVZhbHVl
Pih2YWx1ZSkgfHwgaXM8Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZT4odmFsdWUpIHx8IGlzPENTU0lt
YWdlU2V0VmFsdWU+KHZhbHVlKSkgewotICAgICAgICBSZWZQdHI8U2hhcGVWYWx1ZT4gc2hhcGUg
PSBTaGFwZVZhbHVlOjpjcmVhdGVJbWFnZVZhbHVlKHN0eWxlUmVzb2x2ZXIuc3R5bGVJbWFnZShD
U1NQcm9wZXJ0eVdlYmtpdFNoYXBlT3V0c2lkZSwgdmFsdWUpKTsKLSAgICAgICAgc3R5bGVSZXNv
bHZlci5zdHlsZSgpLT5zZXRTaGFwZU91dHNpZGUoc2hhcGUucmVsZWFzZSgpKTsKLSAgICB9IGVs
c2UgaWYgKGlzPENTU1ZhbHVlTGlzdD4odmFsdWUpKSB7Ci0gICAgICAgIFJlZlB0cjxCYXNpY1No
YXBlPiBzaGFwZTsKLSAgICAgICAgQ1NTQm94VHlwZSByZWZlcmVuY2VCb3ggPSBCb3hNaXNzaW5n
OwotICAgICAgICBmb3IgKGF1dG8mIGN1cnJlbnRWYWx1ZSA6IGRvd25jYXN0PENTU1ZhbHVlTGlz
dD4odmFsdWUpKSB7Ci0gICAgICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSYgcHJpbWl0aXZlVmFs
dWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oY3VycmVudFZhbHVlLmdldCgpKTsKLSAg
ICAgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS5pc1NoYXBlKCkpCi0gICAgICAgICAgICAgICAg
c2hhcGUgPSBiYXNpY1NoYXBlRm9yVmFsdWUoc3R5bGVSZXNvbHZlci5zdGF0ZSgpLmNzc1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEoKSwgcHJpbWl0aXZlVmFsdWUuZ2V0U2hhcGVWYWx1ZSgpKTsKLSAg
ICAgICAgICAgIGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1
ZUNvbnRlbnRCb3gKLSAgICAgICAgICAgICAgICB8fCBwcmltaXRpdmVWYWx1ZS5nZXRWYWx1ZUlE
KCkgPT0gQ1NTVmFsdWVCb3JkZXJCb3gKLSAgICAgICAgICAgICAgICB8fCBwcmltaXRpdmVWYWx1
ZS5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVQYWRkaW5nQm94Ci0gICAgICAgICAgICAgICAgfHwg
cHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJRCgpID09IENTU1ZhbHVlTWFyZ2luQm94KQotICAgICAg
ICAgICAgICAgIHJlZmVyZW5jZUJveCA9IENTU0JveFR5cGUocHJpbWl0aXZlVmFsdWUpOwotICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAg
ICAgIGlmIChzaGFwZSkKLSAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0U2hh
cGVPdXRzaWRlKFNoYXBlVmFsdWU6OmNyZWF0ZVNoYXBlVmFsdWUoc2hhcGUucmVsZWFzZSgpLCBy
ZWZlcmVuY2VCb3gpKTsKLSAgICAgICAgZWxzZSBpZiAocmVmZXJlbmNlQm94ICE9IEJveE1pc3Np
bmcpCi0gICAgICAgICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldFNoYXBlT3V0c2lkZShT
aGFwZVZhbHVlOjpjcmVhdGVCb3hTaGFwZVZhbHVlKHJlZmVyZW5jZUJveCkpOwotICAgIH0KLX0K
LSNlbmRpZiAvLyBFTkFCTEUoQ1NTX1NIQVBFUykKLQogaW5saW5lIExlbmd0aCBTdHlsZUJ1aWxk
ZXJDdXN0b206Om1tTGVuZ3RoKGRvdWJsZSBtbSkKIHsKICAgICBSZWY8Q1NTUHJpbWl0aXZlVmFs
dWU+IHZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobW0sIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfTU0pKTsK
</data>
<flag name="review"
          id="268093"
          type_id="1"
          status="+"
          setter="cdumez"
    />
    <flag name="commit-queue"
          id="268094"
          type_id="3"
          status="-"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>