<?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>172596</bug_id>
          
          <creation_ts>2017-05-25 09:35:01 -0700</creation_ts>
          <short_desc>Crash on display-contents-replaced-001.html</short_desc>
          <delta_ts>2017-05-30 20:24:26 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=172503</see_also>
          <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>
          
          <blocked>157477</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Emilio Cobos Álvarez">ecobos</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1312669</commentid>
    <comment_count>0</comment_count>
    <who name="Emilio Cobos Álvarez">ecobos</who>
    <bug_when>2017-05-25 09:35:01 -0700</bug_when>
    <thetext>This crash is different from bug 172503.

There&apos;s no backtrace when running that one, so it&apos;ll need a bit more investigation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313602</commentid>
    <comment_count>1</comment_count>
      <attachid>311481</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-05-29 12:25:03 -0700</bug_when>
    <thetext>Created attachment 311481
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313603</commentid>
    <comment_count>2</comment_count>
      <attachid>311481</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-05-29 12:34:51 -0700</bug_when>
    <thetext>Comment on attachment 311481
patch

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

r=me

&gt; Source/WebCore/css/StyleResolver.cpp:817
&gt; +    // FIXME: &lt;g&gt;, &lt;use&gt; and &lt;tspan&gt; have special behaviors for display:contents in the current draft spec.

I would include a link to the relevant part of the spec here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313604</commentid>
    <comment_count>3</comment_count>
      <attachid>311482</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-05-29 12:45:36 -0700</bug_when>
    <thetext>Created attachment 311482
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313619</commentid>
    <comment_count>4</comment_count>
    <who name="Emilio Cobos Álvarez">ecobos</who>
    <bug_when>2017-05-29 18:12:13 -0700</bug_when>
    <thetext>Note that the spec requires contents to still compute to contents, which I don&apos;t think will be true with this patch.

i.e., a test like:

var svg = document.querySelector(&apos;svg&apos;);
svg.style.display = &quot;contents&quot;;
getComputedStyle(svg).display; // &quot;none&quot; with your patch, &quot;contents&quot; per spec.

I had a WIP patch that did this[1]. Pending thing was to address the special-cases you mention in your FIXME.

Let me know if you want me to clean that patch up and submit it for review in a separate bug.

[1]: https://gist.github.com/emilio/9faec4ab5c6dd16ad6ccba4e098999ac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313640</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-05-29 22:45:21 -0700</bug_when>
    <thetext>(In reply to Emilio Cobos Álvarez from comment #4)
&gt; Note that the spec requires contents to still compute to contents, which I
&gt; don&apos;t think will be true with this patch.
&gt; 
&gt; i.e., a test like:
&gt; 
&gt; var svg = document.querySelector(&apos;svg&apos;);
&gt; svg.style.display = &quot;contents&quot;;
&gt; getComputedStyle(svg).display; // &quot;none&quot; with your patch, &quot;contents&quot; per
&gt; spec.

Is the spec correct though? We generally return the effective display value from getComputedStyle rather than the original. We already save the original in RenderStyle so if we want we could add a bit that says &quot;return original instead of effective&quot; to fix this.
 
&gt; I had a WIP patch that did this[1]. Pending thing was to address the
&gt; special-cases you mention in your FIXME.

I&apos;d like to use a blacklist like in my patch instead of virtuals. It is much easier to compare the code to the spec. A bigger problem with your approach is that we have a bunch of sites that explicitly test for display() ==/!= NONE (and some for CONTENTS) and there is no way to know they should behave like &apos;none&apos; in the effective case.

Does this make sense to you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313641</commentid>
    <comment_count>6</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-05-29 22:48:32 -0700</bug_when>
    <thetext>Though it is possible that all those display() == NONE tests should be replaces with display() == NONE || display() == CONTENTS tests in which case this doesn&apos;t matter...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313662</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-05-30 01:36:10 -0700</bug_when>
    <thetext>https://trac.webkit.org/r217549</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313663</commentid>
    <comment_count>8</comment_count>
    <who name="Emilio Cobos Álvarez">ecobos</who>
    <bug_when>2017-05-30 01:50:13 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #5)
&gt; (In reply to Emilio Cobos Álvarez from comment #4)
&gt; &gt; Note that the spec requires contents to still compute to contents, which I
&gt; &gt; don&apos;t think will be true with this patch.
&gt; &gt; 
&gt; &gt; i.e., a test like:
&gt; &gt; 
&gt; &gt; var svg = document.querySelector(&apos;svg&apos;);
&gt; &gt; svg.style.display = &quot;contents&quot;;
&gt; &gt; getComputedStyle(svg).display; // &quot;none&quot; with your patch, &quot;contents&quot; per
&gt; &gt; spec.
&gt; 
&gt; Is the spec correct though? We generally return the effective display value
&gt; from getComputedStyle rather than the original. We already save the original
&gt; in RenderStyle so if we want we could add a bit that says &quot;return original
&gt; instead of effective&quot; to fix this.

Hmmm... Yeah, perhaps it&apos;s just easier to lie in getComputedStyle if needed.

If you feel very strongly about it feel free to write something in https://github.com/w3c/csswg-drafts/issues/540 (or raise another issue). Otherwise I&apos;ll take care of the tests and the getComputedStyle stuff if needed.

&gt; &gt; I had a WIP patch that did this[1]. Pending thing was to address the
&gt; &gt; special-cases you mention in your FIXME.
&gt; 
&gt; I&apos;d like to use a blacklist like in my patch instead of virtuals. It is much
&gt; easier to compare the code to the spec. A bigger problem with your approach
&gt; is that we have a bunch of sites that explicitly test for display() ==/!=
&gt; NONE (and some for CONTENTS) and there is no way to know they should behave
&gt; like &apos;none&apos; in the effective case.
&gt;
&gt; Does this make sense to you?

Yeah, that makes sense, thanks for looking into it :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313670</commentid>
    <comment_count>9</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-05-30 04:05:32 -0700</bug_when>
    <thetext>&gt; Hmmm... Yeah, perhaps it&apos;s just easier to lie in getComputedStyle if needed.

RenderStyle::display() is really the &quot;effective display&quot;  

    void setDisplay(EDisplay v) { m_nonInheritedFlags.setEffectiveDisplay(v); }

which is often different from the specified display (as you see if you look through adjustStyle). Currently getComputedStyle always return the effective value not the specified one so this patch is consistent with the usual WebKit behaviour

I&apos;m not sure if other browsers do this differently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314046</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-05-30 20:24:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/32479783&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311481</attachid>
            <date>2017-05-29 12:25:03 -0700</date>
            <delta_ts>2017-05-29 12:45:36 -0700</delta_ts>
            <desc>patch</desc>
            <filename>display-contents-none.patch</filename>
            <type>text/plain</type>
            <size>5254</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNzU0MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE3LTA1LTI5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBvbiBkaXNwbGF5LWNv
bnRlbnRzLXJlcGxhY2VkLTAwMS5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzI1OTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIGlzIGNyYXNoaW5nIGJlY2F1c2Ugc29tZSBjb2RlIGNhbid0
IGhhbmRsZSBkaXNwbGF5OmNvbnRlbnRzIG9uIGZvcm0gY29udHJvbHMuIFR1cm5zCisgICAgICAg
IG91dCB0aGUgZHJhZnQgc3BlY2lmaWNhdGlvbiB0ZWxsIHVzIHRvIGRpc2FibGUgaXQgZm9yIHRo
ZW0gaW4gYW55IGNhc2UuCisKKyAgICAgICAgU2VlIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtZGlzcGxheS0zLyN1bmJveAorCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZGlzcGxheUNvbnRlbnRzQmVoYXZlc0FzRGlzcGxheU5vbmVGb3JF
bGVtZW50KToKKworICAgICAgICAgICAgRm9yIGNlcnRhaW4gSFRNTCBlbGVtZW50cyAocmVwbGFj
ZWQgZWxlbWVudHMsIGZvcm0gY29udHJvbHMpIGRpc3BsYXk6Y29udGVudHMgc2hvdWxkCisgICAg
ICAgICAgICBiZWhhdmUgbGlrZSBkaXNwbGF5Om5vbmUuCisgICAgICAgICAgICBBbHNvIGRpc2Fi
bGUgaXQgZm9yIFNWRyBhbmQgTWF0aE1MIGVsZW1lbnRzLgorCisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJlc29sdmVyOjphZGp1c3RSZW5kZXJTdHlsZSk6CisKKyAgICAgICAgICAgIEFsc28gY29t
cHV0ZSB0byBkaXNwbGF5Om5vbmUgd2hlbiB0aGVyZSBpcyBubyBhc3NvY2lhdGVkIGVsZW1lbnQg
KHBzZXVkb3MgZXRjKS4KKwogMjAxNy0wNS0yOSAgRW1pbGlvIENvYm9zIMOBbHZhcmV6ICA8ZWNv
Ym9zQGlnYWxpYS5jb20+CiAKICAgICAgICAgVXNlIHRoZSBwYXJlbnQgYm94IHN0eWxlIHRvIGFk
anVzdCBSZW5kZXJTdHlsZSBmb3IgYWxpZ25tZW50LgpJbmRleDogU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcAkocmV2aXNpb24gMjE3NTMyKQorKysgU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw2ICs4Nyw3IEBACiAjaW5jbHVk
ZSAiS2V5ZnJhbWVMaXN0LmgiCiAjaW5jbHVkZSAiTGlua0hhc2guaCIKICNpbmNsdWRlICJMb2Nh
bGVUb1NjcmlwdE1hcHBpbmcuaCIKKyNpbmNsdWRlICJNYXRoTUxFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiTWF0aE1MTmFtZXMuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgiCkBAIC03ODQsNiArNzg1LDQ2IEBAIHZvaWQgU3R5bGVSZXNvbHZl
cjo6YWRqdXN0U3R5bGVGb3JJbnRlckMKICAgICAgICAgc3R5bGUtPnNldFdyaXRpbmdNb2RlKExl
ZnRUb1JpZ2h0V3JpdGluZ01vZGUpOwogfQogCitzdGF0aWMgYm9vbCBkaXNwbGF5Q29udGVudHNC
ZWhhdmVzQXNEaXNwbGF5Tm9uZUZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK3sK
KyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWRpc3BsYXktMy8jdW5ib3gtaHRt
bAorICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0PEF0b21pY1N0cmluZz4+IHRhZ05h
bWVzID0gW10geworICAgICAgICBzdGF0aWMgY29uc3QgSFRNTFF1YWxpZmllZE5hbWUqIGNvbnN0
IHRhZ0xpc3RbXSA9IHsKKyAgICAgICAgICAgICZiclRhZywKKyAgICAgICAgICAgICZ3YnJUYWcs
CisgICAgICAgICAgICAmbWV0ZXJUYWcsCisgICAgICAgICAgICAmYXBwbGV0VGFnLAorICAgICAg
ICAgICAgJnByb2dyZXNzVGFnLAorICAgICAgICAgICAgJmNhbnZhc1RhZywKKyAgICAgICAgICAg
ICZlbWJlZFRhZywKKyAgICAgICAgICAgICZvYmplY3RUYWcsCisgICAgICAgICAgICAmYXVkaW9U
YWcsCisgICAgICAgICAgICAmaWZyYW1lVGFnLAorICAgICAgICAgICAgJmltZ1RhZywKKyAgICAg
ICAgICAgICZ2aWRlb1RhZywKKyAgICAgICAgICAgICZmcmFtZVRhZywKKyAgICAgICAgICAgICZm
cmFtZXNldFRhZywKKyAgICAgICAgICAgICZpbnB1dFRhZywKKyAgICAgICAgICAgICZ0ZXh0YXJl
YVRhZywKKyAgICAgICAgICAgICZzZWxlY3RUYWcsCisgICAgICAgIH07CisgICAgICAgIEhhc2hT
ZXQ8QXRvbWljU3RyaW5nPiBzZXQ7CisgICAgICAgIGZvciAoYXV0byYgbmFtZSA6IHRhZ0xpc3Qp
CisgICAgICAgICAgICBzZXQuYWRkKG5hbWUtPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgcmV0dXJu
IHNldDsKKyAgICB9KCk7CisKKyAgICAvLyBGSVhNRTogPGc+LCA8dXNlPiBhbmQgPHRzcGFuPiBo
YXZlIHNwZWNpYWwgYmVoYXZpb3JzIGZvciBkaXNwbGF5OmNvbnRlbnRzIGluIHRoZSBjdXJyZW50
IGRyYWZ0IHNwZWMuCisgICAgaWYgKGlzPFNWR0VsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAvLyBOb3Qgc3VyZSBNYXRoTUwgY29kZSBjYW4gaGFuZGxlIGl0Lgor
ICAgIGlmIChpczxNYXRoTUxFbGVtZW50PihlbGVtZW50KSkKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgaWYgKCFpczxIVE1MRWxlbWVudD4oZWxlbWVudCkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICByZXR1cm4gdGFnTmFtZXMuZ2V0KCkuY29udGFpbnMoZWxlbWVudC5sb2NhbE5hbWUo
KSk7Cit9CisKIHZvaWQgU3R5bGVSZXNvbHZlcjo6YWRqdXN0UmVuZGVyU3R5bGUoUmVuZGVyU3R5
bGUmIHN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSYgcGFyZW50U3R5bGUsIGNvbnN0IFJlbmRlclN0
eWxlKiBwYXJlbnRCb3hTdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCkKIHsKICAgICAvLyBJ
ZiB0aGUgY29tcG9zZWQgdHJlZSBwYXJlbnQgaGFzIGRpc3BsYXk6Y29udGVudHMsIHRoZSBwYXJl
bnQgYm94IHN0eWxlIHdpbGwgYmUgZGlmZmVyZW50IGZyb20gdGhlIHBhcmVudCBzdHlsZS4KQEAg
LTc5NSwxMCArODM2LDExIEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YWRqdXN0UmVuZGVyU3R5bGUo
UmUKICAgICBzdHlsZS5zZXRPcmlnaW5hbERpc3BsYXkoc3R5bGUuZGlzcGxheSgpKTsKIAogICAg
IGlmIChzdHlsZS5kaXNwbGF5KCkgPT0gQ09OVEVOVFMpIHsKLSAgICAgICAgLy8gRklYTUU6IEVu
YWJsZSBmb3IgYWxsIGVsZW1lbnRzLgogICAgICAgICBib29sIGVsZW1lbnRTdXBwb3J0c0Rpc3Bs
YXlDb250ZW50cyA9IGlzPEhUTUxTbG90RWxlbWVudD4oZWxlbWVudCkgfHwgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5kaXNwbGF5Q29udGVudHNFbmFibGVkKCk7CiAg
ICAgICAgIGlmICghZWxlbWVudFN1cHBvcnRzRGlzcGxheUNvbnRlbnRzKQogICAgICAgICAgICAg
c3R5bGUuc2V0RGlzcGxheShJTkxJTkUpOworICAgICAgICBlbHNlIGlmICghZWxlbWVudCB8fCBk
aXNwbGF5Q29udGVudHNCZWhhdmVzQXNEaXNwbGF5Tm9uZUZvckVsZW1lbnQoKmVsZW1lbnQpKQor
ICAgICAgICAgICAgc3R5bGUuc2V0RGlzcGxheShOT05FKTsKICAgICB9CiAKICAgICBpZiAoc3R5
bGUuZGlzcGxheSgpICE9IE5PTkUgJiYgc3R5bGUuZGlzcGxheSgpICE9IENPTlRFTlRTKSB7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTc1MzIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0wNS0yOSAgQW50dGkgS29pdmlzdG8gIDxh
bnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggb24gZGlzcGxheS1jb250ZW50cy1yZXBs
YWNlZC0wMDEuaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTcyNTk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBFbmFibGUgdGhlIHRlc3QuCisKIDIwMTctMDUtMjkg
IFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgV2luZG93cyB0ZXN0IGdhcmRlbmluZywgdXBkYXRlIGV4cGVjdGVkIHJlc3VsdHMgYWZ0ZXIg
cjIxNzQxOC4KSW5kZXg6IExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjE3NTMyKQorKysgTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMTE4MCw4ICsxMTgw
LDYgQEAgd2Via2l0Lm9yZy9iLzE1NzQ3NyBpbXBvcnRlZC93M2Mvd2ViLXBsYQogd2Via2l0Lm9y
Zy9iLzE1NzQ3NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZGlzcGxh
eS0zL2Rpc3BsYXktY29udGVudHMtZHluYW1pYy1saXN0LTAwMS1pbmxpbmUuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1NzQ3NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZGlzcGxheS0zL2Rpc3BsYXktY29udGVudHMtZHluYW1pYy1saXN0
LTAwMS1ub25lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzE3MjU5
NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZGlzcGxheS0zL2Rpc3Bs
YXktY29udGVudHMtcmVwbGFjZWQtMDAxLmh0bWwgWyBTa2lwIF0KLQogIyMjIEVORCBPRiBkaXNw
bGF5OiBjb250ZW50cyBmYWlsdXJlcwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwogCg==
</data>
<flag name="review"
          id="332460"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311482</attachid>
            <date>2017-05-29 12:45:36 -0700</date>
            <delta_ts>2017-05-30 01:29:42 -0700</delta_ts>
            <desc>patch</desc>
            <filename>display-contents-none-2.patch</filename>
            <type>text/plain</type>
            <size>5320</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNzU0MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE3LTA1LTI5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBvbiBkaXNwbGF5LWNv
bnRlbnRzLXJlcGxhY2VkLTAwMS5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzI1OTYKKworICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEts
aW5nLgorCisgICAgICAgIFRoaXMgaXMgY3Jhc2hpbmcgYmVjYXVzZSBzb21lIGNvZGUgY2FuJ3Qg
aGFuZGxlIGRpc3BsYXk6Y29udGVudHMgb24gZm9ybSBjb250cm9scy4gVHVybnMKKyAgICAgICAg
b3V0IHRoZSBkcmFmdCBzcGVjaWZpY2F0aW9uIHRlbGwgdXMgdG8gZGlzYWJsZSBpdCBmb3IgdGhl
bSBpbiBhbnkgY2FzZS4KKworICAgICAgICBTZWUgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1kaXNwbGF5LTMvI3VuYm94CisKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpkaXNwbGF5Q29udGVudHNCZWhhdmVzQXNEaXNwbGF5Tm9uZUZvckVs
ZW1lbnQpOgorCisgICAgICAgICAgICBGb3IgY2VydGFpbiBIVE1MIGVsZW1lbnRzIChyZXBsYWNl
ZCBlbGVtZW50cywgZm9ybSBjb250cm9scykgZGlzcGxheTpjb250ZW50cyBzaG91bGQKKyAgICAg
ICAgICAgIGJlaGF2ZSBsaWtlIGRpc3BsYXk6bm9uZS4KKyAgICAgICAgICAgIEFsc28gZGlzYWJs
ZSBpdCBmb3IgU1ZHIGFuZCBNYXRoTUwgZWxlbWVudHMuCisKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUmVzb2x2ZXI6OmFkanVzdFJlbmRlclN0eWxlKToKKworICAgICAgICAgICAgQWxzbyBjb21w
dXRlIHRvIGRpc3BsYXk6bm9uZSB3aGVuIHRoZXJlIGlzIG5vIGFzc29jaWF0ZWQgZWxlbWVudCAo
cHNldWRvcyBldGMpLgorCiAyMDE3LTA1LTI5ICBFbWlsaW8gQ29ib3Mgw4FsdmFyZXogIDxlY29i
b3NAaWdhbGlhLmNvbT4KIAogICAgICAgICBVc2UgdGhlIHBhcmVudCBib3ggc3R5bGUgdG8gYWRq
dXN0IFJlbmRlclN0eWxlIGZvciBhbGlnbm1lbnQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCShyZXZpc2lvbiAyMTc1MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3LDYgKzg3LDcgQEAKICNpbmNsdWRl
ICJLZXlmcmFtZUxpc3QuaCIKICNpbmNsdWRlICJMaW5rSGFzaC5oIgogI2luY2x1ZGUgIkxvY2Fs
ZVRvU2NyaXB0TWFwcGluZy5oIgorI2luY2x1ZGUgIk1hdGhNTEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJNYXRoTUxOYW1lcy5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlh
UXVlcnlFdmFsdWF0b3IuaCIKQEAgLTc4NCw2ICs3ODUsNDcgQEAgdm9pZCBTdHlsZVJlc29sdmVy
OjphZGp1c3RTdHlsZUZvckludGVyQwogICAgICAgICBzdHlsZS0+c2V0V3JpdGluZ01vZGUoTGVm
dFRvUmlnaHRXcml0aW5nTW9kZSk7CiB9CiAKK3N0YXRpYyBib29sIGRpc3BsYXlDb250ZW50c0Jl
aGF2ZXNBc0Rpc3BsYXlOb25lRm9yRWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQorewor
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZGlzcGxheS0zLyN1bmJveC1odG1s
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hTZXQ8QXRvbWljU3RyaW5nPj4gdGFnTmFt
ZXMgPSBbXSB7CisgICAgICAgIHN0YXRpYyBjb25zdCBIVE1MUXVhbGlmaWVkTmFtZSogY29uc3Qg
dGFnTGlzdFtdID0geworICAgICAgICAgICAgJmJyVGFnLAorICAgICAgICAgICAgJndiclRhZywK
KyAgICAgICAgICAgICZtZXRlclRhZywKKyAgICAgICAgICAgICZhcHBsZXRUYWcsCisgICAgICAg
ICAgICAmcHJvZ3Jlc3NUYWcsCisgICAgICAgICAgICAmY2FudmFzVGFnLAorICAgICAgICAgICAg
JmVtYmVkVGFnLAorICAgICAgICAgICAgJm9iamVjdFRhZywKKyAgICAgICAgICAgICZhdWRpb1Rh
ZywKKyAgICAgICAgICAgICZpZnJhbWVUYWcsCisgICAgICAgICAgICAmaW1nVGFnLAorICAgICAg
ICAgICAgJnZpZGVvVGFnLAorICAgICAgICAgICAgJmZyYW1lVGFnLAorICAgICAgICAgICAgJmZy
YW1lc2V0VGFnLAorICAgICAgICAgICAgJmlucHV0VGFnLAorICAgICAgICAgICAgJnRleHRhcmVh
VGFnLAorICAgICAgICAgICAgJnNlbGVjdFRhZywKKyAgICAgICAgfTsKKyAgICAgICAgSGFzaFNl
dDxBdG9taWNTdHJpbmc+IHNldDsKKyAgICAgICAgZm9yIChhdXRvJiBuYW1lIDogdGFnTGlzdCkK
KyAgICAgICAgICAgIHNldC5hZGQobmFtZS0+bG9jYWxOYW1lKCkpOworICAgICAgICByZXR1cm4g
c2V0OworICAgIH0oKTsKKworICAgIC8vIEZJWE1FOiA8Zz4sIDx1c2U+IGFuZCA8dHNwYW4+IGhh
dmUgc3BlY2lhbCAoPykgYmVoYXZpb3IgZm9yIGRpc3BsYXk6Y29udGVudHMgaW4gdGhlIGN1cnJl
bnQgZHJhZnQgc3BlYy4KKyAgICAvLyAgICAgICAgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1kaXNwbGF5LTMvI3VuYm94LXN2ZworICAgIGlmIChpczxTVkdFbGVtZW50PihlbGVtZW50KSkK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgLy8gTm90IHN1cmUgTWF0aE1MIGNvZGUgY2FuIGhh
bmRsZSBpdC4KKyAgICBpZiAoaXM8TWF0aE1MRWxlbWVudD4oZWxlbWVudCkpCisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIGlmICghaXM8SFRNTEVsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRhZ05hbWVzLmdldCgpLmNvbnRhaW5zKGVsZW1lbnQu
bG9jYWxOYW1lKCkpOworfQorCiB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFkanVzdFJlbmRlclN0eWxl
KFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUmIHBhcmVudFN0eWxlLCBjb25z
dCBSZW5kZXJTdHlsZSogcGFyZW50Qm94U3R5bGUsIGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCiB7
CiAgICAgLy8gSWYgdGhlIGNvbXBvc2VkIHRyZWUgcGFyZW50IGhhcyBkaXNwbGF5OmNvbnRlbnRz
LCB0aGUgcGFyZW50IGJveCBzdHlsZSB3aWxsIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBwYXJlbnQg
c3R5bGUuCkBAIC03OTUsMTAgKzgzNywxMSBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFkanVzdFJl
bmRlclN0eWxlKFJlCiAgICAgc3R5bGUuc2V0T3JpZ2luYWxEaXNwbGF5KHN0eWxlLmRpc3BsYXko
KSk7CiAKICAgICBpZiAoc3R5bGUuZGlzcGxheSgpID09IENPTlRFTlRTKSB7Ci0gICAgICAgIC8v
IEZJWE1FOiBFbmFibGUgZm9yIGFsbCBlbGVtZW50cy4KICAgICAgICAgYm9vbCBlbGVtZW50U3Vw
cG9ydHNEaXNwbGF5Q29udGVudHMgPSBpczxIVE1MU2xvdEVsZW1lbnQ+KGVsZW1lbnQpIHx8IFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuZGlzcGxheUNvbnRlbnRzRW5h
YmxlZCgpOwogICAgICAgICBpZiAoIWVsZW1lbnRTdXBwb3J0c0Rpc3BsYXlDb250ZW50cykKICAg
ICAgICAgICAgIHN0eWxlLnNldERpc3BsYXkoSU5MSU5FKTsKKyAgICAgICAgZWxzZSBpZiAoIWVs
ZW1lbnQgfHwgZGlzcGxheUNvbnRlbnRzQmVoYXZlc0FzRGlzcGxheU5vbmVGb3JFbGVtZW50KCpl
bGVtZW50KSkKKyAgICAgICAgICAgIHN0eWxlLnNldERpc3BsYXkoTk9ORSk7CiAgICAgfQogCiAg
ICAgaWYgKHN0eWxlLmRpc3BsYXkoKSAhPSBOT05FICYmIHN0eWxlLmRpc3BsYXkoKSAhPSBDT05U
RU5UUykgewpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjE3NTMyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDUtMjkgIEFudHRpIEtv
aXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIG9uIGRpc3BsYXktY29u
dGVudHMtcmVwbGFjZWQtMDAxLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MjU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xp
bmcuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBFbmFibGUgdGhlIHRlc3QuCisKIDIw
MTctMDUtMjkgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQgV2luZG93cyB0ZXN0IGdhcmRlbmluZywgdXBkYXRlIGV4cGVjdGVkIHJlc3Vs
dHMgYWZ0ZXIgcjIxNzQxOC4KSW5kZXg6IExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjE3NTMy
KQorKysgTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMTE4
MCw4ICsxMTgwLDYgQEAgd2Via2l0Lm9yZy9iLzE1NzQ3NyBpbXBvcnRlZC93M2Mvd2ViLXBsYQog
d2Via2l0Lm9yZy9iLzE1NzQ3NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZGlzcGxheS0zL2Rpc3BsYXktY29udGVudHMtZHluYW1pYy1saXN0LTAwMS1pbmxpbmUuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1NzQ3NyBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZGlzcGxheS0zL2Rpc3BsYXktY29udGVudHMtZHlu
YW1pYy1saXN0LTAwMS1ub25lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAotd2Via2l0Lm9y
Zy9iLzE3MjU5NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZGlzcGxh
eS0zL2Rpc3BsYXktY29udGVudHMtcmVwbGFjZWQtMDAxLmh0bWwgWyBTa2lwIF0KLQogIyMjIEVO
RCBPRiBkaXNwbGF5OiBjb250ZW50cyBmYWlsdXJlcwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>