<?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>67759</bug_id>
          
          <creation_ts>2011-09-07 20:49:32 -0700</creation_ts>
          <short_desc>Positioned Floats: Assertion hit in fast/block/positioning/positioned-float-layout-after-image-load.html</short_desc>
          <delta_ts>2011-12-18 18:52:21 -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></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>54611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Robert Hogan">robert</assigned_to>
          <cc>darin</cc>
    
    <cc>hyatt</cc>
    
    <cc>loislo</cc>
    
    <cc>mitz</cc>
    
    <cc>ossy</cc>
    
    <cc>robert</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>463866</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-07 20:49:32 -0700</bug_when>
    <thetext>fast/block/positioning/positioned-float-layout-after-image-load.html started hitting an assertion since the build 2042 today.

See also:
http://build.webkit.org/results/SnowLeopard%20Intel%20Debug%20(Tests)/r94686%20(2040)/results.html
http://build.webkit.org/results/SnowLeopard%20Intel%20Debug%20(Tests)/r94700%20(2042)/results.html
http://build.webkit.org/builders/SnowLeopard%20Intel%20Debug%20%28Tests%29/builds/2042

ASSERTION FAILED: isPlaced()
/Volumes/Big/slave/snowleopard-intel-debug/build/Source/WebCore/rendering/RenderBlock.h(473) : WebCore::LayoutUnit WebCore::RenderBlock::FloatingObject::y() const
1   WebCore::RenderBlock::FloatingObject::y() const
2   WebCore::RenderBlock::logicalTopForFloat(WebCore::RenderBlock::FloatingObject const*) const
3   WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded(WebCore::RenderBlock::FloatingObject*)
4   WebCore::RenderBlock::positionNewFloatOnLine(WebCore::RenderBlock::FloatingObject*, WebCore::RenderBlock::FloatingObject*, WebCore::LineWidth&amp;)
5   WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace(WebCore::BidiResolver&lt;WebCore::InlineIterator, WebCore::BidiRun&gt;&amp;, WebCore::LineInfo const&amp;, WebCore::RenderBlock::FloatingObject*, WebCore::LineWidth&amp;)
6   WebCore::RenderBlock::LineBreaker::nextLineBreak(WebCore::BidiResolver&lt;WebCore::InlineIterator, WebCore::BidiRun&gt;&amp;, WebCore::LineInfo&amp;, std::pair&lt;WebCore::RenderText*, WebCore::LazyLineBreakIterator&gt;&amp;, WebCore::RenderBlock::FloatingObject*)
7   WebCore::RenderBlock::layoutRunsAndFloatsInRange(WebCore::LineLayoutState&amp;, WebCore::BidiResolver&lt;WebCore::InlineIterator, WebCore::BidiRun&gt;&amp;, WebCore::InlineIterator const&amp;, WebCore::BidiStatus const&amp;)
8   WebCore::RenderBlock::layoutRunsAndFloats(WebCore::LineLayoutState&amp;, bool)
9   WebCore::RenderBlock::layoutInlineChildren(bool, int&amp;, int&amp;)
10  WebCore::RenderBlock::layoutBlock(bool, int, WebCore::RenderBlock::BlockLayoutPass)
11  WebCore::RenderBlock::layout()
12  WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, int&amp;, int&amp;)
13  WebCore::RenderBlock::layoutBlockChildren(bool, int&amp;)
14  WebCore::RenderBlock::layoutBlock(bool, int, WebCore::RenderBlock::BlockLayoutPass)
15  WebCore::RenderBlock::layout()
16  WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, int&amp;, int&amp;)
17  WebCore::RenderBlock::layoutBlockChildren(bool, int&amp;)
18  WebCore::RenderBlock::layoutBlock(bool, int, WebCore::RenderBlock::BlockLayoutPass)
19  WebCore::RenderBlock::layout()
20  WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, int&amp;, int&amp;)
21  WebCore::RenderBlock::layoutBlockChildren(bool, int&amp;)
22  WebCore::RenderBlock::layoutBlock(bool, int, WebCore::RenderBlock::BlockLayoutPass)
23  WebCore::RenderBlock::layout()
24  WebCore::RenderView::layout()
25  WebCore::FrameView::layout(bool)
26  WebCore::Document::updateLayout()
27  WebCore::Document::updateLayoutIgnorePendingStylesheets()
28  WebCore::Element::offsetTop()
29  WebCore::jsElementOffsetTop(JSC::ExecState*, JSC::JSValue, JSC::Identifier const&amp;)
30  JSC::PropertySlot::getValue(JSC::ExecState*, JSC::Identifier const&amp;) const
31  JSC::JSValue::get(JSC::ExecState*, JSC::Identifier const&amp;, JSC::PropertySlot&amp;) const</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463869</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-07 20:52:21 -0700</bug_when>
    <thetext>Suspicious revisions:
http://trac.webkit.org/changeset/94690
http://trac.webkit.org/changeset/94693
http://trac.webkit.org/changeset/94695
http://trac.webkit.org/changeset/94697
http://trac.webkit.org/changeset/94698</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463877</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-07 21:28:50 -0700</bug_when>
    <thetext>The test was added by http://trac.webkit.org/changeset/94695.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463997</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-08 05:31:47 -0700</bug_when>
    <thetext>Same assert on GTK and on Qt too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463999</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-08 05:32:57 -0700</bug_when>
    <thetext>*** Bug 67769 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464006</commentid>
    <comment_count>5</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-09-08 06:03:05 -0700</bug_when>
    <thetext>I rolled out in http://trac.webkit.org/changeset/94755.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464230</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-08 12:00:39 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I rolled out in http://trac.webkit.org/changeset/94755.

Okay, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464251</commentid>
    <comment_count>7</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-09-08 12:25:47 -0700</bug_when>
    <thetext>This ASSERT happens without r94755 - but the test I added, positioned-float-layout-after-image-load.html, triggers it. I agreed with smfr to reland r94755 without the test and the ASSERT can be worked separately here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464263</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-08 12:46:17 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; This ASSERT happens without r94755 - but the test I added, positioned-float-layout-after-image-load.html, triggers it. I agreed with smfr to reland r94755 without the test and the ASSERT can be worked separately here.

It&apos;s correct. +1 vote for relanding without the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464398</commentid>
    <comment_count>9</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-09-08 14:56:42 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; 
&gt; ASSERTION FAILED: isPlaced()
&gt; /Volumes/Big/slave/snowleopard-intel-debug/build/Source/WebCore/rendering/RenderBlock.h(473) : WebCore::LayoutUnit WebCore::RenderBlock::FloatingObject::y() const
&gt; 1   WebCore::RenderBlock::FloatingObject::y() const
&gt; 2   WebCore::RenderBlock::logicalTopForFloat(WebCore::RenderBlock::FloatingObject const*) const
&gt; 3   WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded(WebCore::RenderBlock::FloatingObject*)

&gt; 4   WebCore::RenderBlock::positionNewFloatOnLine(WebCore::RenderBlock::FloatingObject*, WebCore::RenderBlock::FloatingObject*, WebCore::LineWidth&amp;)

This creates the floating object:

FloatingObject* newObj = new FloatingObject(o-&gt;style()-&gt;floating());

but it is not &apos;placed&apos; with this constructor, it requires a frameRect for that.

It would get &apos;placed in positionNewFloats() but:

        // The containing block is responsible for positioning floats, so if we have floats in our
        // list that come from somewhere else, do not attempt to position them. Also don&apos;t attempt to handle
        // positioned floats, since the positioning layout code handles those.
        if (floatingObject-&gt;renderer()-&gt;containingBlock() != this || floatingObject-&gt;renderer()-&gt;isPositioned())
            continue;

prevents this. Because positionNewFloats() still returns true, it does not cause positionNewFloatOnLine() to return early and the assert is triggered.

The comment makes this look like the problem may be deeper than just returning early, so don&apos;t know if that&apos;s the right fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523208</commentid>
    <comment_count>10</comment_count>
      <attachid>119710</attachid>
    <who name="">mitz</who>
    <bug_when>2011-12-16 19:39:03 -0800</bug_when>
    <thetext>Created attachment 119710
Made line layout functions treat positioned floats like positioned objects</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523627</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-18 18:47:16 -0800</bug_when>
    <thetext>Might even be worth a comment in those call sites saying that things both positioned and floating should be treated as positioned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523629</commentid>
    <comment_count>12</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-12-18 18:52:21 -0800</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r103206&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119710</attachid>
            <date>2011-12-16 19:39:03 -0800</date>
            <delta_ts>2011-12-18 18:46:50 -0800</delta_ts>
            <desc>Made line layout functions treat positioned floats like positioned objects</desc>
            <filename>67759_r1.diff</filename>
            <type>text/plain</type>
            <size>10012</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMzEzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDExLTEyLTE2ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgUG9zaXRpb25lZCBGbG9hdHM6IEFz
c2VydGlvbiBoaXQgaW4gZmFzdC9ibG9jay9wb3NpdGlvbmluZy9wb3NpdGlvbmVkLWZsb2F0LWxh
eW91dC1hZnRlci1pbWFnZS1sb2FkLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY3NzU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9ibG9jay9wb3NpdGlvbmluZy9wb3NpdGlvbmVk
LWZsb2F0LWxheW91dC1hZnRlci1pbWFnZS1sb2FkLmh0bWwKKworICAgICAgICBQb3NpdGlvbmVk
IGZsb2F0cyBhcmUgYm90aCBmbG9hdGluZyBhbmQgcG9zaXRpb25lZC4gTWFkZSB0aGUgZm9sbG93
aW5nIGZ1bmN0aW9ucyB0cmVhdCB0aGVtIGFzCisgICAgICAgIHBvc2l0aW9uZWQgcmF0aGVyIHRo
YW4gYXMgZmxvYXRzIGJ5IHJlb3JkZXJpbmcgY29kZS4KKworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OkxpbmVCcmVha2VyOjpza2lwVHJhaWxpbmdXaGl0ZXNwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6c2tpcExlYWRpbmdXaGl0ZXNwYWNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4dExpbmVCcmVhayk6CisK
IDIwMTEtMTItMTYgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIENDTGF5ZXJEZWxlZ2F0ZSBhbmQgV2ViTGF5ZXJDbGllbnQgZG8gbm90
IG5lZWQgbm90aWZ5U3luY1JlcXVpcmVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkocmV2aXNpb24gMTAzMTMzKQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE4NjEsMTAgKzE4NjEsMTAgQEAgdm9pZCBSZW5kZXJCbG9jazo6TGluZUJy
ZWFrZXI6OnNraXBUcmFpbAogewogICAgIHdoaWxlICghaXRlcmF0b3IuYXRFbmQoKSAmJiAhcmVx
dWlyZXNMaW5lQm94KGl0ZXJhdG9yLCBsaW5lSW5mbywgVHJhaWxpbmdXaGl0ZXNwYWNlKSkgewog
ICAgICAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IGl0ZXJhdG9yLm1fb2JqOwotICAgICAgICBp
ZiAob2JqZWN0LT5pc0Zsb2F0aW5nKCkpIHsKLSAgICAgICAgICAgIG1fYmxvY2stPmluc2VydEZs
b2F0aW5nT2JqZWN0KHRvUmVuZGVyQm94KG9iamVjdCkpOwotICAgICAgICB9IGVsc2UgaWYgKG9i
amVjdC0+aXNQb3NpdGlvbmVkKCkpCisgICAgICAgIGlmIChvYmplY3QtPmlzUG9zaXRpb25lZCgp
KQogICAgICAgICAgICAgc2V0U3RhdGljUG9zaXRpb25zKG1fYmxvY2ssIHRvUmVuZGVyQm94KG9i
amVjdCkpOworICAgICAgICBlbHNlIGlmIChvYmplY3QtPmlzRmxvYXRpbmcoKSkKKyAgICAgICAg
ICAgIG1fYmxvY2stPmluc2VydEZsb2F0aW5nT2JqZWN0KHRvUmVuZGVyQm94KG9iamVjdCkpOwog
ICAgICAgICBpdGVyYXRvci5pbmNyZW1lbnQoKTsKICAgICB9CiB9CkBAIC0xODc0LDEwICsxODc0
LDEwIEBAIHZvaWQgUmVuZGVyQmxvY2s6OkxpbmVCcmVha2VyOjpza2lwTGVhZGkKIHsKICAgICB3
aGlsZSAoIXJlc29sdmVyLnBvc2l0aW9uKCkuYXRFbmQoKSAmJiAhcmVxdWlyZXNMaW5lQm94KHJl
c29sdmVyLnBvc2l0aW9uKCksIGxpbmVJbmZvLCBMZWFkaW5nV2hpdGVzcGFjZSkpIHsKICAgICAg
ICAgUmVuZGVyT2JqZWN0KiBvYmplY3QgPSByZXNvbHZlci5wb3NpdGlvbigpLm1fb2JqOwotICAg
ICAgICBpZiAob2JqZWN0LT5pc0Zsb2F0aW5nKCkpCi0gICAgICAgICAgICBtX2Jsb2NrLT5wb3Np
dGlvbk5ld0Zsb2F0T25MaW5lKG1fYmxvY2stPmluc2VydEZsb2F0aW5nT2JqZWN0KHRvUmVuZGVy
Qm94KG9iamVjdCkpLCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBsaW5lSW5mbywgd2lkdGgp
OwotICAgICAgICBlbHNlIGlmIChvYmplY3QtPmlzUG9zaXRpb25lZCgpKQorICAgICAgICBpZiAo
b2JqZWN0LT5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgIHNldFN0YXRpY1Bvc2l0aW9ucyht
X2Jsb2NrLCB0b1JlbmRlckJveChvYmplY3QpKTsKKyAgICAgICAgZWxzZSBpZiAob2JqZWN0LT5p
c0Zsb2F0aW5nKCkpCisgICAgICAgICAgICBtX2Jsb2NrLT5wb3NpdGlvbk5ld0Zsb2F0T25MaW5l
KG1fYmxvY2stPmluc2VydEZsb2F0aW5nT2JqZWN0KHRvUmVuZGVyQm94KG9iamVjdCkpLCBsYXN0
RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBsaW5lSW5mbywgd2lkdGgpOwogICAgICAgICByZXNvbHZl
ci5pbmNyZW1lbnQoKTsKICAgICB9CiAgICAgcmVzb2x2ZXIuY29tbWl0RXhwbGljaXRFbWJlZGRp
bmcoKTsKQEAgLTIxNTYsMjEgKzIxNTYsNyBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6
TGluZUJyZWFrZXI6CiAgICAgICAgICAgICBnb3RvIGVuZDsKICAgICAgICAgfQogCi0gICAgICAg
IGlmIChjdXJyZW50Lm1fb2JqLT5pc0Zsb2F0aW5nKCkpIHsKLSAgICAgICAgICAgIFJlbmRlckJv
eCogZmxvYXRCb3ggPSB0b1JlbmRlckJveChjdXJyZW50Lm1fb2JqKTsKLSAgICAgICAgICAgIEZs
b2F0aW5nT2JqZWN0KiBmID0gbV9ibG9jay0+aW5zZXJ0RmxvYXRpbmdPYmplY3QoZmxvYXRCb3gp
OwotICAgICAgICAgICAgLy8gY2hlY2sgaWYgaXQgZml0cyBpbiB0aGUgY3VycmVudCBsaW5lLgot
ICAgICAgICAgICAgLy8gSWYgaXQgZG9lcywgcG9zaXRpb24gaXQgbm93LCBvdGhlcndpc2UsIHBv
c2l0aW9uCi0gICAgICAgICAgICAvLyBpdCBhZnRlciBtb3ZpbmcgdG8gbmV4dCBsaW5lIChpbiBu
ZXdMaW5lKCkgZnVuYykKLSAgICAgICAgICAgIGlmIChmbG9hdHNGaXRPbkxpbmUgJiYgd2lkdGgu
Zml0c09uTGluZShtX2Jsb2NrLT5sb2dpY2FsV2lkdGhGb3JGbG9hdChmKSkpIHsKLSAgICAgICAg
ICAgICAgICBtX2Jsb2NrLT5wb3NpdGlvbk5ld0Zsb2F0T25MaW5lKGYsIGxhc3RGbG9hdEZyb21Q
cmV2aW91c0xpbmUsIGxpbmVJbmZvLCB3aWR0aCk7Ci0gICAgICAgICAgICAgICAgaWYgKGxCcmVh
ay5tX29iaiA9PSBjdXJyZW50Lm1fb2JqKSB7Ci0gICAgICAgICAgICAgICAgICAgIEFTU0VSVCgh
bEJyZWFrLm1fcG9zKTsKLSAgICAgICAgICAgICAgICAgICAgbEJyZWFrLmluY3JlbWVudCgpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGZs
b2F0c0ZpdE9uTGluZSA9IGZhbHNlOwotICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnQubV9vYmot
PmlzUG9zaXRpb25lZCgpKSB7CisgICAgICAgIGlmIChjdXJyZW50Lm1fb2JqLT5pc1Bvc2l0aW9u
ZWQoKSkgewogICAgICAgICAgICAgLy8gSWYgb3VyIG9yaWdpbmFsIGRpc3BsYXkgd2Fzbid0IGFu
IGlubGluZSB0eXBlLCB0aGVuIHdlIGNhbgogICAgICAgICAgICAgLy8gZ28gYWhlYWQgYW5kIGRl
dGVybWluZSBvdXIgc3RhdGljIGlubGluZSBwb3NpdGlvbiBub3cuCiAgICAgICAgICAgICBSZW5k
ZXJCb3gqIGJveCA9IHRvUmVuZGVyQm94KGN1cnJlbnQubV9vYmopOwpAQCAtMjE5NSw2ICsyMTgx
LDIwIEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjoKICAgICAgICAg
ICAgICAgICB0cmFpbGluZ09iamVjdHMuYXBwZW5kQm94SWZOZWVkZWQoYm94KTsKICAgICAgICAg
ICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIG1fcG9zaXRpb25lZE9iamVjdHMuYXBwZW5kKGJv
eCk7CisgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudC5tX29iai0+aXNGbG9hdGluZygpKSB7Cisg
ICAgICAgICAgICBSZW5kZXJCb3gqIGZsb2F0Qm94ID0gdG9SZW5kZXJCb3goY3VycmVudC5tX29i
aik7CisgICAgICAgICAgICBGbG9hdGluZ09iamVjdCogZiA9IG1fYmxvY2stPmluc2VydEZsb2F0
aW5nT2JqZWN0KGZsb2F0Qm94KTsKKyAgICAgICAgICAgIC8vIGNoZWNrIGlmIGl0IGZpdHMgaW4g
dGhlIGN1cnJlbnQgbGluZS4KKyAgICAgICAgICAgIC8vIElmIGl0IGRvZXMsIHBvc2l0aW9uIGl0
IG5vdywgb3RoZXJ3aXNlLCBwb3NpdGlvbgorICAgICAgICAgICAgLy8gaXQgYWZ0ZXIgbW92aW5n
IHRvIG5leHQgbGluZSAoaW4gbmV3TGluZSgpIGZ1bmMpCisgICAgICAgICAgICBpZiAoZmxvYXRz
Rml0T25MaW5lICYmIHdpZHRoLmZpdHNPbkxpbmUobV9ibG9jay0+bG9naWNhbFdpZHRoRm9yRmxv
YXQoZikpKSB7CisgICAgICAgICAgICAgICAgbV9ibG9jay0+cG9zaXRpb25OZXdGbG9hdE9uTGlu
ZShmLCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBsaW5lSW5mbywgd2lkdGgpOworICAgICAg
ICAgICAgICAgIGlmIChsQnJlYWsubV9vYmogPT0gY3VycmVudC5tX29iaikgeworICAgICAgICAg
ICAgICAgICAgICBBU1NFUlQoIWxCcmVhay5tX3Bvcyk7CisgICAgICAgICAgICAgICAgICAgIGxC
cmVhay5pbmNyZW1lbnQoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UK
KyAgICAgICAgICAgICAgICBmbG9hdHNGaXRPbkxpbmUgPSBmYWxzZTsKICAgICAgICAgfSBlbHNl
IGlmIChjdXJyZW50Lm1fb2JqLT5pc1JlbmRlcklubGluZSgpKSB7CiAgICAgICAgICAgICAvLyBS
aWdodCBub3csIHdlIHNob3VsZCBvbmx5IGVuY291bnRlciBlbXB0eSBpbmxpbmVzIGhlcmUuCiAg
ICAgICAgICAgICBBU1NFUlQoIWN1cnJlbnQubV9vYmotPmZpcnN0Q2hpbGQoKSk7CkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxMDMxMzgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMi0xNiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBw
bGUuY29tPgorCisgICAgICAgIFBvc2l0aW9uZWQgRmxvYXRzOiBBc3NlcnRpb24gaGl0IGluIGZh
c3QvYmxvY2svcG9zaXRpb25pbmcvcG9zaXRpb25lZC1mbG9hdC1sYXlvdXQtYWZ0ZXItaW1hZ2Ut
bG9hZC5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02Nzc1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlLWFkZGVkIHRoaXMgdGVzdCBmcm9tIHI5NDY5NS4KKworICAgICAgICAqIGZhc3QvYmxvY2sv
cG9zaXRpb25pbmcvcG9zaXRpb25lZC1mbG9hdC1sYXlvdXQtYWZ0ZXItaW1hZ2UtbG9hZC1leHBl
Y3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcv
cG9zaXRpb25lZC1mbG9hdC1sYXlvdXQtYWZ0ZXItaW1hZ2UtbG9hZC1leHBlY3RlZC50eHQuCisg
ICAgICAgICogZmFzdC9ibG9jay9wb3NpdGlvbmluZy9wb3NpdGlvbmVkLWZsb2F0LWxheW91dC1h
ZnRlci1pbWFnZS1sb2FkLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvYmxvY2sv
cG9zaXRpb25pbmcvcG9zaXRpb25lZC1mbG9hdC1sYXlvdXQtYWZ0ZXItaW1hZ2UtbG9hZC5odG1s
LgorICAgICAgICAqIGZhc3QvYmxvY2svcG9zaXRpb25pbmcvcmVzb3VyY2VzL3Bvc2l0aW9uZWQt
ZmxvYXQtbGF5b3V0LWFmdGVyLWltYWdlLWxvYWQtMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL3Jlc291cmNlcy9wb3NpdGlvbmVkLWZsb2F0LWxh
eW91dC1hZnRlci1pbWFnZS1sb2FkLTIuaHRtbC4KKwogMjAxMS0xMi0xNiAgQW1pIEZpc2NobWFu
ICA8ZmlzY2htYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIExheW91dCBUZXN0IG1lZGlhL2Nv
bnRyb2xzLXJpZ2h0LWNsaWNrLW9uLXRpbWViYXIuaHRtbCBpcyBmbGFreSAtIENyYXNoIG9uIExF
T1BBUkQgQ0cgREVCVUcKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcv
cG9zaXRpb25lZC1mbG9hdC1sYXlvdXQtYWZ0ZXItaW1hZ2UtbG9hZC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9wb3NpdGlvbmVk
LWZsb2F0LWxheW91dC1hZnRlci1pbWFnZS1sb2FkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTQ2
OTUpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvcG9zaXRpb25lZC1m
bG9hdC1sYXlvdXQtYWZ0ZXItaW1hZ2UtbG9hZC1leHBlY3RlZC50eHQ6OTQ2OTUpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL3Bvc2l0aW9uZWQtZmxvYXQtbGF5b3V0LWFm
dGVyLWltYWdlLWxvYWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitbMV0KK1NVQ0NFU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvYmxvY2svcG9zaXRpb25p
bmcvcG9zaXRpb25lZC1mbG9hdC1sYXlvdXQtYWZ0ZXItaW1hZ2UtbG9hZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvcG9zaXRpb25lZC1mbG9h
dC1sYXlvdXQtYWZ0ZXItaW1hZ2UtbG9hZC5odG1sCShyZXZpc2lvbiA5NDY5NSkJKGZyb20gTGF5
b3V0VGVzdHMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9wb3NpdGlvbmVkLWZsb2F0LWxheW91dC1h
ZnRlci1pbWFnZS1sb2FkLmh0bWw6OTQ2OTUpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3Bv
c2l0aW9uaW5nL3Bvc2l0aW9uZWQtZmxvYXQtbGF5b3V0LWFmdGVyLWltYWdlLWxvYWQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4K
KyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAgICB9CisKKyAgICAvLyAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01NDYxMQorICAgIC8vICAgV2hlbiBuYXZpZ2F0aW5nIHRvIHBv
c2l0aW9uZWQtZmxvYXQtbGF5b3V0LWFmdGVyLWltYWdlLWxvYWQtMi5odG1sI2FuY2hvcjEgZGly
ZWN0bHksIHRoZSBhbmNob3Igc2hvdWxkIGJlIHBvc2l0aW9uZWQgYmVsb3cgCisgICAgLy8gICB0
aGUgaW1hZ2Ugb24gZmlyc3QgbG9hZC4gVGhlIHRlc3QgaXMgc2Vuc2l0aXZlIHRvIGNhY2hpbmcg
b2YgdGhlIGltYWdlLCBzbyB5b3Ugc2hvdWxkIHJlbG9hZCAKKyAgICAvLyAgIHBvc2l0aW9uZWQt
ZmxvYXQtbGF5b3V0LWFmdGVyLWltYWdlLWxvYWQtMi5odG1sI2FuY2hvcjEgaWYgdGVzdGluZyBt
YW51YWxseS4KKworICAgIGZ1bmN0aW9uIHRlc3QoKXsKKyAgICAgICAgc2V0VGltZW91dChsb2Nh
dGlvbi5hc3NpZ24oInJlc291cmNlcy9wb3NpdGlvbmVkLWZsb2F0LWxheW91dC1hZnRlci1pbWFn
ZS1sb2FkLTIuaHRtbCNhbmNob3IxIiksMCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgorPC9ib2R5PjwvaHRtbD4KKwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9yZXNvdXJjZXMvcG9zaXRpb25lZC1mbG9hdC1sYXlv
dXQtYWZ0ZXItaW1hZ2UtbG9hZC0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ibG9jay9wb3NpdGlvbmluZy9yZXNvdXJjZXMvcG9zaXRpb25lZC1mbG9hdC1sYXlvdXQtYWZ0
ZXItaW1hZ2UtbG9hZC0yLmh0bWwJKHJldmlzaW9uIDk0Njk1KQkoZnJvbSBMYXlvdXRUZXN0cy9m
YXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL3Jlc291cmNlcy9wb3NpdGlvbmVkLWZsb2F0LWxheW91dC1h
ZnRlci1pbWFnZS1sb2FkLTIuaHRtbDo5NDY5NSkKKysrIExheW91dFRlc3RzL2Zhc3QvYmxvY2sv
cG9zaXRpb25pbmcvcmVzb3VyY2VzL3Bvc2l0aW9uZWQtZmxvYXQtbGF5b3V0LWFmdGVyLWltYWdl
LWxvYWQtMi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzYgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICBib2R5IHsgbWFyZ2luLWxlZnQ6IDEwJTsg
bWFyZ2luLXJpZ2h0OiAxMCU7fQorICBoMSxoMixoMyxoNCxoNSxoNiB7IHRleHQtYWxpZ246IGNl
bnRlcjsgY2xlYXI6IGJvdGg7fQorICBoMSBzcGFuIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmct
Ym90dG9tOiAwLjVlbTsgfQorICAuZmlnY2VudGVyICAgeyBtYXJnaW46IGF1dG87IHRleHQtYWxp
Z246IGNlbnRlcjt9CisgIC5mb290bm90ZSAgICAgICAgIHttYXJnaW4tbGVmdDogMTAlOyBtYXJn
aW4tcmlnaHQ6IDEwJTsgZm9udC1zaXplOiAwLjllbTt9CisgIC5mb290bm90ZSAubGFiZWwgIHtw
b3NpdGlvbjogYWJzb2x1dGU7IGZsb2F0OiAtd2Via2l0LXBvc2l0aW9uZWQ7IHJpZ2h0OiA4NCU7
IHRleHQtYWxpZ246IHJpZ2h0OyB3aWR0aDogMjAwcHh9Cis8L3N0eWxlPgorCis8c2NyaXB0Pgor
ICAgIC8vICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjExCisg
ICAgLy8gICBXaGVuIG5hdmlnYXRpbmcgdG8gdGhlIGFuY2hvciBkaXJlY3RseSwgdGhlIGFuY2hv
ciBzaG91bGQgYmUgcG9zaXRpb25lZCBiZWxvdyAKKyAgICAvLyAgIHRoZSBpbWFnZSBvbiBmaXJz
dCBsb2FkLgorCisgICAgZnVuY3Rpb24gdGVzdCgpeworICAgICAgICB2YXIgYm90dG9tT2ZJbWFn
ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWFnZSIpLm9mZnNldFRvcCArIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJpbWFnZSIpLm9mZnNldEhlaWdodDsKKyAgICAgICAgdmFyIGZvb3Ru
b3RlUG9zaXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3BhbnRleHQiKS5vZmZzZXRU
b3A7CisgICAgICAgIGlmIChmb290bm90ZVBvc2l0aW9uID49IGJvdHRvbU9mSW1hZ2UpCisgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgPSAiU1VD
Q0VTUyI7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9
Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCk7Ij4KKzxkaXYgY2xh
c3M9ImZpZ2NlbnRlciI+CisgIDxpbWcgaWQ9ImltYWdlIiBzcmM9Imljb24tZ29sZC5wbmciIGFs
dD0iQm9vayBjb3Zlci4iIHRpdGxlPSIiPgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImZvb3Rub3Rl
Ij48YSBpZD0iYW5jaG9yMSI+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ3V0ZW5iZXJnLm9yZy9m
aWxlcy8zMzQzOS8zMzQzOS1oLzMzNDM5LWguaHRtI0ZOYW5jaG9yXzEiPjxzcGFuIGlkPSJzcGFu
dGV4dCIgY2xhc3M9ImxhYmVsIj5bMV08L3NwYW4+PC9hPjwvZGl2PgorCis8ZGl2IGlkPSJjb25z
b2xlIj5GQUlMVVJFPC9kaXY+Cis8L2JvZHk+PC9odG1sPgorCg==
</data>
<flag name="review"
          id="119811"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>