<?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>78759</bug_id>
          
          <creation_ts>2012-02-15 16:22:25 -0800</creation_ts>
          <short_desc>REGRESSION (r107836): fast/box-shadow/spread.html and fast/writing-mode/box-shadow-*.html tests failing</short_desc>
          <delta_ts>2012-02-23 13:03:31 -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>Layout and Rendering</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>InRadar, LayoutTestFailure, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>78755</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>harrison</cc>
    
    <cc>hyatt</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>557711</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-02-15 16:22:25 -0800</bug_when>
    <thetext>fast/box-shadow/spread.html and fast/writing-mode/box-shadow-*.html tests failing after r107836, the fix for bug 78728.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557736</commentid>
    <comment_count>1</comment_count>
      <attachid>127276</attachid>
    <who name="">mitz</who>
    <bug_when>2012-02-15 16:48:06 -0800</bug_when>
    <thetext>Created attachment 127276
Refine checks in boxShadowShouldBeAppliedToBackground()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557785</commentid>
    <comment_count>2</comment_count>
      <attachid>127276</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-02-15 18:00:44 -0800</bug_when>
    <thetext>Comment on attachment 127276
Refine checks in boxShadowShouldBeAppliedToBackground()

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

&gt; Source/WebCore/rendering/InlineFlowBox.cpp:1086
&gt; +    return (!hasFillImage &amp;&amp; !renderer()-&gt;style()-&gt;hasBorderRadius()) || (!prevLineBox() &amp;&amp; !nextLineBox()) || !parent();

It&apos;s hard to understand all the conditions in this line. Perhaps an explanatory comment would help.

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:2623
&gt; +    if (lastBackgroundLayer-&gt;image() &amp;&amp; style()-&gt;hasBorderRadius())
&gt; +        return false;
&gt; +
&gt; +    if (inlineFlowBox &amp;&amp; !inlineFlowBox-&gt;boxShadowCanBeAppliedToBackground(*lastBackgroundLayer))
&gt; +        return false;

Why do we only check the last fill layer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557837</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-02-15 19:25:28 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 127276 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=127276&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/InlineFlowBox.cpp:1086
&gt; &gt; +    return (!hasFillImage &amp;&amp; !renderer()-&gt;style()-&gt;hasBorderRadius()) || (!prevLineBox() &amp;&amp; !nextLineBox()) || !parent();
&gt; 
&gt; It&apos;s hard to understand all the conditions in this line. Perhaps an explanatory comment would help.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:2623
&gt; &gt; +    if (lastBackgroundLayer-&gt;image() &amp;&amp; style()-&gt;hasBorderRadius())
&gt; &gt; +        return false;
&gt; &gt; +
&gt; &gt; +    if (inlineFlowBox &amp;&amp; !inlineFlowBox-&gt;boxShadowCanBeAppliedToBackground(*lastBackgroundLayer))
&gt; &gt; +        return false;
&gt; 
&gt; Why do we only check the last fill layer?

That’s the layer that will be casting the shadow, if any.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557843</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-02-15 19:32:39 -0800</bug_when>
    <thetext>Committed &lt;http://webkit.org/r107874&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563385</commentid>
    <comment_count>5</comment_count>
    <who name="David Harrison">harrison</who>
    <bug_when>2012-02-23 13:03:31 -0800</bug_when>
    <thetext>rdar://10915520</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127276</attachid>
            <date>2012-02-15 16:48:06 -0800</date>
            <delta_ts>2012-02-15 18:00:43 -0800</delta_ts>
            <desc>Refine checks in boxShadowShouldBeAppliedToBackground()</desc>
            <filename>bug-78759-20120215164805.patch</filename>
            <type>text/plain</type>
            <size>9715</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNzg1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEyLTAyLTE1ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjEwNzgzNik6
IGZhc3QvYm94LXNoYWRvdy9zcHJlYWQuaHRtbCBhbmQgZmFzdC93cml0aW5nLW1vZGUvYm94LXNo
YWRvdy0qLmh0bWwgdGVzdHMgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmJveFNoYWRvd0NhbkJlQXBwbGllZFRvQmFja2dyb3Vu
ZCk6IEFkZGVkLiBSZXR1cm5zIGZhbHNlIGlmCisgICAgICAgIHBhaW50RmlsbExheWVyKCkgd291
bGQgcHVzaCBhIGNsaXAgYmVmb3JlIHBhaW50aW5nIHRoZSBsYXllciwgdGh1cyBwcmV2ZW50aW5n
IGl0IGZyb20gY2FzdGluZworICAgICAgICBpdHMgb3duIHNoYWRvdy4KKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUZsb3dCb3g6OnBhaW50Qm94RGVjb3JhdGlvbnMpOiBQYXNzIHRoaXMgYXMgYW4g
YWRkaXRpb25hbCBwYXJhbWV0ZXIgdG8KKyAgICAgICAgYm94U2hhZG93U2hvdWxkQmVBcHBsaWVk
VG9CYWNrZ3JvdW5kKCkuCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWVyRXh0ZW5kZWQpOiBQYXNz
IHRoZSBJbmxpbmVGbG93Qm94IGFsb25nIHRvCisgICAgICAgIGJveFNoYWRvd1Nob3VsZEJlQXBw
bGllZFRvQmFja2dyb3VuZCgpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmpl
Y3Q6OmJveFNoYWRvd1Nob3VsZEJlQXBwbGllZFRvQmFja2dyb3VuZCk6IEFkZGVkIGFuIElubGlu
ZUZsb3dCb3gKKyAgICAgICAgcGFyYW1ldGVyLiBJZiBub24tMCwgY2hlY2sgYm94U2hhZG93Q2Fu
QmVBcHBsaWVkVG9CYWNrZ3JvdW5kKCkuIEFsc28gY2hlY2sgZm9yIHNoYWRvdyBzcHJlYWQsCisg
ICAgICAgIGFuZCBmb3IgdGhlIGNhc2Ugb2YgYm9yZGVyIHJhZGl1cyB3aXRoIGEgYmFja2dyb3Vu
ZCBpbWFnZSwgaW4gd2hpY2ggcGFpbnRGaWxsTGF5ZXJFeHRlbmRlZCB1c2VzCisgICAgICAgIGNs
aXBwaW5nLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGFibGVDZWxsOjpib3hTaGFkb3dTaG91bGRCZUFwcGxpZWRUb0JhY2tncm91bmQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaDoKKwogMjAxMi0wMS0zMSAgUmFw
aGFlbCBLdWJvIGRhIENvc3RhICA8a3Vib0Bwcm9mdXNpb24ubW9iaT4KIAogICAgICAgICBbc291
cF0gQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIFNvdXBTZXNzaW9ucy4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9uIDEwNzg0MCkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTA3OSw2ICsxMDc5LDEzIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnRGaWxsTGF5
ZXJzKGNvbnMKICAgICBwYWludEZpbGxMYXllcihwYWludEluZm8sIGMsIGZpbGxMYXllciwgcmVj
dCwgb3ApOwogfQogCitib29sIElubGluZUZsb3dCb3g6OmJveFNoYWRvd0NhbkJlQXBwbGllZFRv
QmFja2dyb3VuZChjb25zdCBGaWxsTGF5ZXImIGxhc3RCYWNrZ3JvdW5kTGF5ZXIpIGNvbnN0Cit7
CisgICAgU3R5bGVJbWFnZSogaW1hZ2UgPSBsYXN0QmFja2dyb3VuZExheWVyLmltYWdlKCk7Cisg
ICAgYm9vbCBoYXNGaWxsSW1hZ2UgPSBpbWFnZSAmJiBpbWFnZS0+Y2FuUmVuZGVyKHJlbmRlcmVy
KCksIHJlbmRlcmVyKCktPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSk7CisgICAgcmV0dXJuICgh
aGFzRmlsbEltYWdlICYmICFyZW5kZXJlcigpLT5zdHlsZSgpLT5oYXNCb3JkZXJSYWRpdXMoKSkg
fHwgKCFwcmV2TGluZUJveCgpICYmICFuZXh0TGluZUJveCgpKSB8fCAhcGFyZW50KCk7Cit9CisK
IHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnRGaWxsTGF5ZXIoY29uc3QgUGFpbnRJbmZvJiBwYWlu
dEluZm8sIGNvbnN0IENvbG9yJiBjLCBjb25zdCBGaWxsTGF5ZXIqIGZpbGxMYXllciwgY29uc3Qg
TGF5b3V0UmVjdCYgcmVjdCwgQ29tcG9zaXRlT3BlcmF0b3Igb3ApCiB7CiAgICAgU3R5bGVJbWFn
ZSogaW1nID0gZmlsbExheWVyLT5pbWFnZSgpOwpAQCAtMTIwMyw3ICsxMjEwLDcgQEAgdm9pZCBJ
bmxpbmVGbG93Qm94OjpwYWludEJveERlY29yYXRpb25zKAogICAgIGlmICgoIXBhcmVudCgpICYm
IG1fZmlyc3RMaW5lICYmIHN0eWxlVG9Vc2UgIT0gcmVuZGVyZXIoKS0+c3R5bGUoKSkgfHwgKHBh
cmVudCgpICYmIHJlbmRlcmVyKCktPmhhc0JveERlY29yYXRpb25zKCkpKSB7CiAgICAgICAgIExh
eW91dFJlY3QgcGFpbnRSZWN0ID0gTGF5b3V0UmVjdChhZGp1c3RlZFBhaW50b2Zmc2V0LCBmcmFt
ZVJlY3Quc2l6ZSgpKTsKICAgICAgICAgLy8gU2hhZG93IGNvbWVzIGZpcnN0IGFuZCBpcyBiZWhp
bmQgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci4KLSAgICAgICAgaWYgKCFib3hNb2RlbE9iamVj
dCgpLT5ib3hTaGFkb3dTaG91bGRCZUFwcGxpZWRUb0JhY2tncm91bmQoQmFja2dyb3VuZEJsZWVk
Tm9uZSkpCisgICAgICAgIGlmICghYm94TW9kZWxPYmplY3QoKS0+Ym94U2hhZG93U2hvdWxkQmVB
cHBsaWVkVG9CYWNrZ3JvdW5kKEJhY2tncm91bmRCbGVlZE5vbmUsIHRoaXMpKQogICAgICAgICAg
ICAgcGFpbnRCb3hTaGFkb3cocGFpbnRJbmZvLCBzdHlsZVRvVXNlLCBOb3JtYWwsIHBhaW50UmVj
dCk7CiAKICAgICAgICAgQ29sb3IgYyA9IHN0eWxlVG9Vc2UtPnZpc2l0ZWREZXBlbmRlbnRDb2xv
cihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lRmxvd0JveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDEwNzg0MCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTExNCw2ICsxMTQs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExh
eW91dFBvaW50JiwgTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVCb3R0b20pOwog
ICAgIHZpcnR1YWwgYm9vbCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRl
c3RSZXN1bHQmLCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgTGF5
b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBMYXlvdXRVbml0IGxpbmVUb3AsIExheW91dFVu
aXQgbGluZUJvdHRvbSk7CiAKKyAgICBib29sIGJveFNoYWRvd0NhbkJlQXBwbGllZFRvQmFja2dy
b3VuZChjb25zdCBGaWxsTGF5ZXImKSBjb25zdDsKKwogICAgIHZpcnR1YWwgUmVuZGVyTGluZUJv
eExpc3QqIHJlbmRlcmVyTGluZUJveGVzKCkgY29uc3Q7CiAKICAgICAvLyBsb2dpY2FsTGVmdCA9
IGxlZnQgaW4gYSBob3Jpem9udGFsIGxpbmUgYW5kIHRvcCBpbiBhIHZlcnRpY2FsIGxpbmUuCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHAJKHJldmlzaW9uIDEwNzg0MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3hNb2RlbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY4Miw3ICs2ODIsNyBAQCB2
b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEZpbGxMYXllCiAgICAgICAgIGlmICghY29s
b3JWaXNpYmxlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGJvb2wgYm94U2hhZG93
U2hvdWxkQmVBcHBsaWVkVG9CYWNrZ3JvdW5kID0gdGhpcy0+Ym94U2hhZG93U2hvdWxkQmVBcHBs
aWVkVG9CYWNrZ3JvdW5kKGJsZWVkQXZvaWRhbmNlKTsKKyAgICAgICAgYm9vbCBib3hTaGFkb3dT
aG91bGRCZUFwcGxpZWRUb0JhY2tncm91bmQgPSB0aGlzLT5ib3hTaGFkb3dTaG91bGRCZUFwcGxp
ZWRUb0JhY2tncm91bmQoYmxlZWRBdm9pZGFuY2UsIGJveCk7CiAgICAgICAgIEdyYXBoaWNzQ29u
dGV4dFN0YXRlU2F2ZXIgc2hhZG93U3RhdGVTYXZlcigqY29udGV4dCwgYm94U2hhZG93U2hvdWxk
QmVBcHBsaWVkVG9CYWNrZ3JvdW5kKTsKICAgICAgICAgaWYgKGJveFNoYWRvd1Nob3VsZEJlQXBw
bGllZFRvQmFja2dyb3VuZCkKICAgICAgICAgICAgIGFwcGx5Qm94U2hhZG93Rm9yQmFja2dyb3Vu
ZChjb250ZXh0LCBzdHlsZSgpKTsKQEAgLTc5Niw3ICs3OTYsNyBAQCB2b2lkIFJlbmRlckJveE1v
ZGVsT2JqZWN0OjpwYWludEZpbGxMYXllCiAgICAgLy8gUGFpbnQgdGhlIGNvbG9yIGZpcnN0IHVu
ZGVybmVhdGggYWxsIGltYWdlcy4KICAgICBpZiAoIWJnTGF5ZXItPm5leHQoKSkgewogICAgICAg
ICBJbnRSZWN0IGJhY2tncm91bmRSZWN0KHBpeGVsU25hcHBlZEludFJlY3Qoc2Nyb2xsZWRQYWlu
dFJlY3QpKTsKLSAgICAgICAgYm9vbCBib3hTaGFkb3dTaG91bGRCZUFwcGxpZWRUb0JhY2tncm91
bmQgPSB0aGlzLT5ib3hTaGFkb3dTaG91bGRCZUFwcGxpZWRUb0JhY2tncm91bmQoYmxlZWRBdm9p
ZGFuY2UpOworICAgICAgICBib29sIGJveFNoYWRvd1Nob3VsZEJlQXBwbGllZFRvQmFja2dyb3Vu
ZCA9IHRoaXMtPmJveFNoYWRvd1Nob3VsZEJlQXBwbGllZFRvQmFja2dyb3VuZChibGVlZEF2b2lk
YW5jZSwgYm94KTsKICAgICAgICAgaWYgKCFib3hTaGFkb3dTaG91bGRCZUFwcGxpZWRUb0JhY2tn
cm91bmQpCiAgICAgICAgICAgICBiYWNrZ3JvdW5kUmVjdC5pbnRlcnNlY3QocGFpbnRJbmZvLnJl
Y3QpOwogCkBAIC0yNTgxLDcgKzI1ODEsNyBAQCBib29sIFJlbmRlckJveE1vZGVsT2JqZWN0Ojpi
b3JkZXJPYnNjdXJlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgUmVuZGVyQm94TW9kZWxP
YmplY3Q6OmJveFNoYWRvd1Nob3VsZEJlQXBwbGllZFRvQmFja2dyb3VuZChCYWNrZ3JvdW5kQmxl
ZWRBdm9pZGFuY2UgYmxlZWRBdm9pZGFuY2UpIGNvbnN0Citib29sIFJlbmRlckJveE1vZGVsT2Jq
ZWN0Ojpib3hTaGFkb3dTaG91bGRCZUFwcGxpZWRUb0JhY2tncm91bmQoQmFja2dyb3VuZEJsZWVk
QXZvaWRhbmNlIGJsZWVkQXZvaWRhbmNlLCBJbmxpbmVGbG93Qm94KiBpbmxpbmVGbG93Qm94KSBj
b25zdAogewogICAgIGlmIChibGVlZEF2b2lkYW5jZSAhPSBCYWNrZ3JvdW5kQmxlZWROb25lKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yNTg5LDE0ICsyNTg5LDE3IEBAIGJvb2wgUmVuZGVy
Qm94TW9kZWxPYmplY3Q6OmJveFNoYWRvd1Nob3UKICAgICBpZiAoc3R5bGUoKS0+aGFzQXBwZWFy
YW5jZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBjb25zdCBTaGFkb3dEYXRhKiBi
b3hTaGFkb3cgPSBzdHlsZSgpLT5ib3hTaGFkb3coKTsKICAgICBib29sIGhhc09uZU5vcm1hbEJv
eFNoYWRvdyA9IGZhbHNlOwotICAgIGZvciAoY29uc3QgU2hhZG93RGF0YSogY3VycmVudFNoYWRv
dyA9IGJveFNoYWRvdzsgY3VycmVudFNoYWRvdzsgY3VycmVudFNoYWRvdyA9IGN1cnJlbnRTaGFk
b3ctPm5leHQoKSkgeworICAgIGZvciAoY29uc3QgU2hhZG93RGF0YSogY3VycmVudFNoYWRvdyA9
IHN0eWxlKCktPmJveFNoYWRvdygpOyBjdXJyZW50U2hhZG93OyBjdXJyZW50U2hhZG93ID0gY3Vy
cmVudFNoYWRvdy0+bmV4dCgpKSB7CiAgICAgICAgIGlmIChjdXJyZW50U2hhZG93LT5zdHlsZSgp
ICE9IE5vcm1hbCkKICAgICAgICAgICAgIGNvbnRpbnVlOworCiAgICAgICAgIGlmIChoYXNPbmVO
b3JtYWxCb3hTaGFkb3cpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGhhc09u
ZU5vcm1hbEJveFNoYWRvdyA9IHRydWU7CisKKyAgICAgICAgaWYgKGN1cnJlbnRTaGFkb3ctPnNw
cmVhZCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAgIGlmICghaGFz
T25lTm9ybWFsQm94U2hhZG93KQpAQCAtMjYxMyw2ICsyNjE2LDEyIEBAIGJvb2wgUmVuZGVyQm94
TW9kZWxPYmplY3Q6OmJveFNoYWRvd1Nob3UKICAgICBpZiAobGFzdEJhY2tncm91bmRMYXllci0+
Y2xpcCgpICE9IEJvcmRlckZpbGxCb3gpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlm
IChsYXN0QmFja2dyb3VuZExheWVyLT5pbWFnZSgpICYmIHN0eWxlKCktPmhhc0JvcmRlclJhZGl1
cygpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoaW5saW5lRmxvd0JveCAmJiAh
aW5saW5lRmxvd0JveC0+Ym94U2hhZG93Q2FuQmVBcHBsaWVkVG9CYWNrZ3JvdW5kKCpsYXN0QmFj
a2dyb3VuZExheWVyKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKGhhc092ZXJm
bG93Q2xpcCgpICYmIGxhc3RCYWNrZ3JvdW5kTGF5ZXItPmF0dGFjaG1lbnQoKSA9PSBMb2NhbEJh
Y2tncm91bmRBdHRhY2htZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCShyZXZpc2lv
biAxMDc4NDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuaAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcgKzEyNyw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHBhaW50Qm94U2hhZG93KGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IExheW91dFJlY3QmLCBjb25z
dCBSZW5kZXJTdHlsZSosIFNoYWRvd1N0eWxlLCBib29sIGluY2x1ZGVMb2dpY2FsTGVmdEVkZ2Ug
PSB0cnVlLCBib29sIGluY2x1ZGVMb2dpY2FsUmlnaHRFZGdlID0gdHJ1ZSk7CiAgICAgdm9pZCBw
YWludEZpbGxMYXllckV4dGVuZGVkKGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IENvbG9yJiwgY29u
c3QgRmlsbExheWVyKiwgY29uc3QgTGF5b3V0UmVjdCYsIEJhY2tncm91bmRCbGVlZEF2b2lkYW5j
ZSwgSW5saW5lRmxvd0JveCogPSAwLCBjb25zdCBMYXlvdXRTaXplJiA9IExheW91dFNpemUoKSwg
Q29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVTb3VyY2VPdmVyLCBSZW5kZXJPYmplY3QqIGJh
Y2tncm91bmRPYmplY3QgPSAwKTsKICAgICAKLSAgICB2aXJ0dWFsIGJvb2wgYm94U2hhZG93U2hv
dWxkQmVBcHBsaWVkVG9CYWNrZ3JvdW5kKEJhY2tncm91bmRCbGVlZEF2b2lkYW5jZSkgY29uc3Q7
CisgICAgdmlydHVhbCBib29sIGJveFNoYWRvd1Nob3VsZEJlQXBwbGllZFRvQmFja2dyb3VuZChC
YWNrZ3JvdW5kQmxlZWRBdm9pZGFuY2UsIElubGluZUZsb3dCb3gqID0gMCkgY29uc3Q7CiAKICAg
ICAvLyBPdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMgdG8gZGV0ZXJtaW5lIGxpbmUgaGVpZ2h0IGFu
ZCBiYXNlbGluZSBwb3NpdGlvbi4KICAgICB2aXJ0dWFsIExheW91dFVuaXQgbGluZUhlaWdodChi
b29sIGZpcnN0TGluZSwgTGluZURpcmVjdGlvbk1vZGUsIExpbmVQb3NpdGlvbk1vZGUgPSBQb3Np
dGlvbk9uQ29udGFpbmluZ0xpbmUpIGNvbnN0ID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCShyZXZpc2lvbiAxMDc4NDApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTA2OCw3ICsxMDY4LDcgQEAgdm9pZCBSZW5kZXJUYWJsZUNlbGw6OnBhaW50TWFzayhQYWlu
dEluZgogICAgIHBhaW50TWFza0ltYWdlcyhwYWludEluZm8sIExheW91dFJlY3QocGFpbnRPZmZz
ZXQsIHNpemUoKSkpOwogfQogCi1ib29sIFJlbmRlclRhYmxlQ2VsbDo6Ym94U2hhZG93U2hvdWxk
QmVBcHBsaWVkVG9CYWNrZ3JvdW5kKEJhY2tncm91bmRCbGVlZEF2b2lkYW5jZSkgY29uc3QKK2Jv
b2wgUmVuZGVyVGFibGVDZWxsOjpib3hTaGFkb3dTaG91bGRCZUFwcGxpZWRUb0JhY2tncm91bmQo
QmFja2dyb3VuZEJsZWVkQXZvaWRhbmNlLCBJbmxpbmVGbG93Qm94KikgY29uc3QKIHsKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVDZWxsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlQ2VsbC5oCShyZXZpc2lvbiAxMDc4NDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVDZWxsLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1MSw3ICsxNTEsNyBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwYWludEJveERlY29yYXRpb25zKFBhaW50SW5mbyYsIGNv
bnN0IExheW91dFBvaW50Jik7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50TWFzayhQYWludEluZm8m
LCBjb25zdCBMYXlvdXRQb2ludCYpOwogCi0gICAgdmlydHVhbCBib29sIGJveFNoYWRvd1Nob3Vs
ZEJlQXBwbGllZFRvQmFja2dyb3VuZChCYWNrZ3JvdW5kQmxlZWRBdm9pZGFuY2UpIGNvbnN0IE9W
RVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBib3hTaGFkb3dTaG91bGRCZUFwcGxpZWRUb0JhY2tn
cm91bmQoQmFja2dyb3VuZEJsZWVkQXZvaWRhbmNlLCBJbmxpbmVGbG93Qm94KikgY29uc3QgT1ZF
UlJJREU7CiAKICAgICB2aXJ0dWFsIExheW91dFNpemUgb2Zmc2V0RnJvbUNvbnRhaW5lcihSZW5k
ZXJPYmplY3QqLCBjb25zdCBMYXlvdXRQb2ludCYpIGNvbnN0OwogICAgIHZpcnR1YWwgTGF5b3V0
UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lcikgY29uc3Q7Cg==
</data>
<flag name="review"
          id="129363"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>