<?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>130101</bug_id>
          
          <creation_ts>2014-03-11 16:34:24 -0700</creation_ts>
          <short_desc>Ensure that layout milestones complete in all cases</short_desc>
          <delta_ts>2014-03-13 10:40:49 -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>Page Loading</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</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>psolanki</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>989456</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-03-11 16:34:24 -0700</bug_when>
    <thetext>In some testing scenarios milestones fail to complete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989466</commentid>
    <comment_count>1</comment_count>
      <attachid>226451</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-03-11 17:10:20 -0700</bug_when>
    <thetext>Created attachment 226451
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989467</commentid>
    <comment_count>2</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-03-11 17:13:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/14651144&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989671</commentid>
    <comment_count>3</comment_count>
      <attachid>226451</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-03-12 09:51:47 -0700</bug_when>
    <thetext>Comment on attachment 226451
patch

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

Some risk in changing the order of things here, but seems obviously a step int he right direction.

&gt; Source/WebCore/dom/Document.cpp:2490
&gt; +    if (!m_bParsing &amp;&amp; view() &amp;&amp; !view()-&gt;needsLayout())
&gt; +        view()-&gt;fireLayoutRelatedMilestonesIfNeeded();

It’s hard to understand the relationships here. I think that future me would understand this better if the function the document called on FrameView was named something more like “document emptiness status may have changed”, and that function would then turn around and do this:

    if (!needsLayout) fireLayoutRelatedMilestonesIfNeeded

within the FrameView class.

&gt; Source/WebCore/page/FrameView.cpp:4129
&gt; +    Page* page = frame().page();
&gt; +    if (page)

I’d put the variable inside the if statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990012</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-03-13 08:42:39 -0700</bug_when>
    <thetext>https://trac.webkit.org/r165534</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990013</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-03-13 08:45:47 -0700</bug_when>
    <thetext>&gt; It’s hard to understand the relationships here. I think that future me would understand this better if the function the document called on FrameView was named something more like “document emptiness status may have changed”, and that function would then turn around and do this:
&gt; 
&gt;     if (!needsLayout) fireLayoutRelatedMilestonesIfNeeded
&gt; 
&gt; within the FrameView class.

Didn&apos;t do this. That would essentially be another finishedParsing function which we already have in multiple places. Some sort of bigger cleanup is needed.

&gt; I’d put the variable inside the if statement.

It is used below too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990020</commentid>
    <comment_count>6</comment_count>
      <attachid>226451</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-13 09:03:49 -0700</bug_when>
    <thetext>Comment on attachment 226451
patch

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

Should we make a way to layout-test milestones?

&gt; Source/WebCore/page/FrameView.cpp:2669
&gt; +    if (auto* page = frame().page()) {
&gt; +        if (auto* scrollingCoordinator = page-&gt;scrollingCoordinator())

Why auto here...

&gt;&gt; Source/WebCore/page/FrameView.cpp:4129
&gt;&gt; +    Page* page = frame().page();
&gt;&gt; +    if (page)
&gt; 
&gt; I’d put the variable inside the if statement.

but no auto here? I&apos;d prefer less auto, not more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990058</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-03-13 10:40:49 -0700</bug_when>
    <thetext>https://trac.webkit.org/r165534
https://trac.webkit.org/r165543 (iOS build fix)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226451</attachid>
            <date>2014-03-11 17:10:20 -0700</date>
            <delta_ts>2014-03-13 09:03:49 -0700</delta_ts>
            <desc>patch</desc>
            <filename>layout-milestone-finish-parsing-2.patch</filename>
            <type>text/plain</type>
            <size>7672</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTQ1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE0LTAzLTExICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBFbnN1cmUgdGhhdCBsYXlvdXQg
bWlsZXN0b25lcyBjb21wbGV0ZSBpbiBhbGwgY2FzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDEwMQorICAgICAgICAKKyAgICAgICAgTWlsZXN0
b25lcyBmYWlsIHRvIGNvbXBsZXRlIGluIHNvbWUgdGVzdGluZyBzY2VuYXJpb3MuCisKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFBh
cnNpbmcpOgorICAgICAgICAKKyAgICAgICAgICAgIENoZWNrIGlmIHdlIG5lZWQgdG8gZmlyZSBs
YXlvdXQgbWlsZXN0b25lcyBpZiBwYXJzaW5nIGZpbmlzaGVzIHdpdGhvdXQgcGVuZGluZyBsYXlv
dXQuCisgICAgICAgICAgICBQYXJzaW5nIHN0YXR1cyBhZmZlY3RzIHdoZXRoZXIgdGhlIGRvY3Vt
ZW50IGlzIGNvbnNpZGVyZWQgbm9uLWVtcHR5IGFuZCB0aGF0IGFmZmVjdHMKKyAgICAgICAgICAg
IGxheW91dCBtaWxlc3RvbmVzLgorCisgICAgICAgICAgICBSZW1vdmUgZXhwbGljaXQgbGF5b3V0
IHNjaGVkdWxpbmcgaGVyZSwgbGF5b3V0IHRpbWVyIHdpbGwgYmUgYWN0aXZlIGFscmVhZHkgaWYg
dGhlcmUKKyAgICAgICAgICAgIGlzIGEgbGF5b3V0IHBlbmRpbmcKKworICAgICAgICAqIHBhZ2Uv
RnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGVyZm9ybVBvc3RM
YXlvdXRUYXNrcyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmZpcmVQYWludFJlbGF0
ZWRNaWxlc3RvbmVzSWZOZWVkZWQpOgorICAgICAgICAKKyAgICAgICAgICAgIFJlbmFtZWQgZm9y
IGNvbnNpc3RlbmN5CisKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6ZmlyZUxheW91dFJl
bGF0ZWRNaWxlc3RvbmVzSWZOZWVkZWQpOgorICAgICAgICAKKyAgICAgICAgICAgIEZhY3RvciBs
YXlvdXQgbWlsZXN0b25lIGZpcmluZyBpbnRvIGEgZnVuY3Rpb24uCisKKyAgICAgICAgKiBwYWdl
L0ZyYW1lVmlldy5oOgorCiAyMDE0LTAzLTExICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1z
dW5nLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIG1ldGhvZCBmcm9tIEJhdHRlcnlDb250
cm9sbGVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDE2NTQ1MykKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0ODYs
OCArMjQ4Niw4IEBAIHZvaWQgRG9jdW1lbnQ6OnNldFBhcnNpbmcoYm9vbCBiKQogICAgIGlmICht
X2JQYXJzaW5nICYmICFtX3NoYXJlZE9iamVjdFBvb2wpCiAgICAgICAgIG1fc2hhcmVkT2JqZWN0
UG9vbCA9IHN0ZDo6bWFrZV91bmlxdWU8RG9jdW1lbnRTaGFyZWRPYmplY3RQb29sPigpOwogCi0g
ICAgaWYgKCFtX2JQYXJzaW5nICYmIHZpZXcoKSkKLSAgICAgICAgdmlldygpLT5zY2hlZHVsZVJl
bGF5b3V0KCk7CisgICAgaWYgKCFtX2JQYXJzaW5nICYmIHZpZXcoKSAmJiAhdmlldygpLT5uZWVk
c0xheW91dCgpKQorICAgICAgICB2aWV3KCktPmZpcmVMYXlvdXRSZWxhdGVkTWlsZXN0b25lc0lm
TmVlZGVkKCk7CiAKICNpZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVMSU5HCiAgICAgaWYg
KCFvd25lckVsZW1lbnQoKSAmJiAhbV9iUGFyc2luZykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAJKHJldmlzaW9uIDE2NTQ1MykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYzNCwzMCArMjYzNCw4IEBAIHZvaWQgRnJhbWVW
aWV3OjpwZXJmb3JtUG9zdExheW91dFRhc2tzKCkKICAgICBmcmFtZSgpLnNlbGVjdGlvbigpLnNl
dENhcmV0UmVjdE5lZWRzVXBkYXRlKCk7CiAgICAgZnJhbWUoKS5zZWxlY3Rpb24oKS51cGRhdGVB
bmRSZXZlYWxTZWxlY3Rpb24oKTsKIAotICAgIExheW91dE1pbGVzdG9uZXMgcmVxdWVzdGVkTWls
ZXN0b25lcyA9IDA7Ci0gICAgTGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzQWNoaWV2ZWQgPSAw
OwotICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKTsKLSAgICBpZiAocGFnZSkKLSAgICAg
ICAgcmVxdWVzdGVkTWlsZXN0b25lcyA9IHBhZ2UtPnJlcXVlc3RlZExheW91dE1pbGVzdG9uZXMo
KTsKLQotICAgIGlmIChtX25lc3RlZExheW91dENvdW50IDw9IDEgJiYgZnJhbWUoKS5kb2N1bWVu
dCgpLT5kb2N1bWVudEVsZW1lbnQoKSkgewotICAgICAgICBpZiAobV9maXJzdExheW91dENhbGxi
YWNrUGVuZGluZykgewotICAgICAgICAgICAgbV9maXJzdExheW91dENhbGxiYWNrUGVuZGluZyA9
IGZhbHNlOwotICAgICAgICAgICAgZnJhbWUoKS5sb2FkZXIoKS5kaWRGaXJzdExheW91dCgpOwot
ICAgICAgICAgICAgaWYgKHJlcXVlc3RlZE1pbGVzdG9uZXMgJiBEaWRGaXJzdExheW91dCkKLSAg
ICAgICAgICAgICAgICBtaWxlc3RvbmVzQWNoaWV2ZWQgfD0gRGlkRmlyc3RMYXlvdXQ7Ci0gICAg
ICAgICAgICBpZiAoZnJhbWUoKS5pc01haW5GcmFtZSgpKQotICAgICAgICAgICAgICAgIHBhZ2Ut
PnN0YXJ0Q291bnRpbmdSZWxldmFudFJlcGFpbnRlZE9iamVjdHMoKTsKLSAgICAgICAgfQotICAg
ICAgICB1cGRhdGVJc1Zpc3VhbGx5Tm9uRW1wdHkoKTsKLQotICAgICAgICAvLyBJZiB0aGUgbGF5
b3V0IHdhcyBkb25lIHdpdGggcGVuZGluZyBzaGVldHMsIHdlIGFyZSBub3QgaW4gZmFjdCB2aXN1
YWxseSBub24tZW1wdHkgeWV0LgotICAgICAgICBpZiAobV9pc1Zpc3VhbGx5Tm9uRW1wdHkgJiYg
IWZyYW1lKCkuZG9jdW1lbnQoKS0+ZGlkTGF5b3V0V2l0aFBlbmRpbmdTdHlsZXNoZWV0cygpICYm
IG1fZmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Q2FsbGJhY2tQZW5kaW5nKSB7Ci0gICAgICAg
ICAgICBtX2ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dENhbGxiYWNrUGVuZGluZyA9IGZhbHNl
OwotICAgICAgICAgICAgaWYgKHJlcXVlc3RlZE1pbGVzdG9uZXMgJiBEaWRGaXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXQpCi0gICAgICAgICAgICAgICAgbWlsZXN0b25lc0FjaGlldmVkIHw9IERp
ZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dDsKLSAgICAgICAgfQotICAgIH0KKyAgICBpZiAo
bV9uZXN0ZWRMYXlvdXRDb3VudCA8PSAxICYmIGZyYW1lKCkuZG9jdW1lbnQoKS0+ZG9jdW1lbnRF
bGVtZW50KCkpCisgICAgICAgIGZpcmVMYXlvdXRSZWxhdGVkTWlsZXN0b25lc0lmTmVlZGVkKCk7
CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgLy8gT25seSBzZW5kIGxheW91dC1yZWxhdGVkIGRl
bGVnYXRlIGNhbGxiYWNrcyBzeW5jaHJvbm91c2x5IGZvciB0aGUgbWFpbiBmcmFtZSB0bwpAQCAt
MjY2Nyw5ICsyNjQ1LDYgQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3Mo
KQogICAgICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5kaWRMYXlvdXQoKTsKICNlbmRpZgog
Ci0gICAgaWYgKG1pbGVzdG9uZXNBY2hpZXZlZCAmJiBmcmFtZSgpLmlzTWFpbkZyYW1lKCkpCi0g
ICAgICAgIGZyYW1lKCkubG9hZGVyKCkuZGlkTGF5b3V0KG1pbGVzdG9uZXNBY2hpZXZlZCk7Ci0K
ICNpZiBFTkFCTEUoRk9OVF9MT0FEX0VWRU5UUykKICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5mb250TG9hZEV2ZW50c0VuYWJsZWQoKSkKICAgICAgICAg
ZnJhbWUoKS5kb2N1bWVudCgpLT5mb250bG9hZGVyKCktPmRpZExheW91dCgpOwpAQCAtMjY5MCw4
ICsyNjY1LDggQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MoKQogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgaWYgKHBhZ2UpIHsKLSAgICAgICAgaWYgKFNj
cm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UtPnNjcm9sbGlu
Z0Nvb3JkaW5hdG9yKCkpCisgICAgaWYgKGF1dG8qIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkgewor
ICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlLT5zY3JvbGxpbmdD
b29yZGluYXRvcigpKQogICAgICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmZyYW1lVmll
d0xheW91dFVwZGF0ZWQodGhpcyk7CiAgICAgfQogCkBAIC0zNTU1LDcgKzM1MzAsNyBAQCB2b2lk
IEZyYW1lVmlldzo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvCiAgICAgaWYgKCFwLT5wYWludGlu
Z0Rpc2FibGVkKCkpIHsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQYWlu
dChyZW5kZXJWaWV3LCBwLCByZWN0KTsKICAgICAgICAgLy8gRklYTUU6IHNob3VsZCBwcm9iYWJs
eSBub3QgZmlyZSBtaWxlc3RvbmVzIGZvciBzbmFwc2hvdCBwYWludGluZy4gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYyMwotICAgICAgICBmaXJlUGFpbnRSZWxh
dGVkTWlsZXN0b25lcygpOworICAgICAgICBmaXJlUGFpbnRSZWxhdGVkTWlsZXN0b25lc0lmTmVl
ZGVkKCk7CiAgICAgfQogfQogCkBAIC00MTQ2LDcgKzQxMjEsMzYgQEAgdm9pZCBGcmFtZVZpZXc6
OmFkZFBhaW50UGVuZGluZ01pbGVzdG9uZQogICAgIG1fbWlsZXN0b25lc1BlbmRpbmdQYWludCB8
PSBtaWxlc3RvbmVzOwogfQogCi12b2lkIEZyYW1lVmlldzo6ZmlyZVBhaW50UmVsYXRlZE1pbGVz
dG9uZXMoKQordm9pZCBGcmFtZVZpZXc6OmZpcmVMYXlvdXRSZWxhdGVkTWlsZXN0b25lc0lmTmVl
ZGVkKCkKK3sKKyAgICBMYXlvdXRNaWxlc3RvbmVzIHJlcXVlc3RlZE1pbGVzdG9uZXMgPSAwOwor
ICAgIExheW91dE1pbGVzdG9uZXMgbWlsZXN0b25lc0FjaGlldmVkID0gMDsKKyAgICBQYWdlKiBw
YWdlID0gZnJhbWUoKS5wYWdlKCk7CisgICAgaWYgKHBhZ2UpCisgICAgICAgIHJlcXVlc3RlZE1p
bGVzdG9uZXMgPSBwYWdlLT5yZXF1ZXN0ZWRMYXlvdXRNaWxlc3RvbmVzKCk7CisKKyAgICBpZiAo
bV9maXJzdExheW91dENhbGxiYWNrUGVuZGluZykgeworICAgICAgICBtX2ZpcnN0TGF5b3V0Q2Fs
bGJhY2tQZW5kaW5nID0gZmFsc2U7CisgICAgICAgIGZyYW1lKCkubG9hZGVyKCkuZGlkRmlyc3RM
YXlvdXQoKTsKKyAgICAgICAgaWYgKHJlcXVlc3RlZE1pbGVzdG9uZXMgJiBEaWRGaXJzdExheW91
dCkKKyAgICAgICAgICAgIG1pbGVzdG9uZXNBY2hpZXZlZCB8PSBEaWRGaXJzdExheW91dDsKKyAg
ICAgICAgaWYgKGZyYW1lKCkuaXNNYWluRnJhbWUoKSkKKyAgICAgICAgICAgIHBhZ2UtPnN0YXJ0
Q291bnRpbmdSZWxldmFudFJlcGFpbnRlZE9iamVjdHMoKTsKKyAgICB9CisgICAgdXBkYXRlSXNW
aXN1YWxseU5vbkVtcHR5KCk7CisKKyAgICAvLyBJZiB0aGUgbGF5b3V0IHdhcyBkb25lIHdpdGgg
cGVuZGluZyBzaGVldHMsIHdlIGFyZSBub3QgaW4gZmFjdCB2aXN1YWxseSBub24tZW1wdHkgeWV0
LgorICAgIGlmIChtX2lzVmlzdWFsbHlOb25FbXB0eSAmJiAhZnJhbWUoKS5kb2N1bWVudCgpLT5k
aWRMYXlvdXRXaXRoUGVuZGluZ1N0eWxlc2hlZXRzKCkgJiYgbV9maXJzdFZpc3VhbGx5Tm9uRW1w
dHlMYXlvdXRDYWxsYmFja1BlbmRpbmcpIHsKKyAgICAgICAgbV9maXJzdFZpc3VhbGx5Tm9uRW1w
dHlMYXlvdXRDYWxsYmFja1BlbmRpbmcgPSBmYWxzZTsKKyAgICAgICAgaWYgKHJlcXVlc3RlZE1p
bGVzdG9uZXMgJiBEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQpCisgICAgICAgICAgICBt
aWxlc3RvbmVzQWNoaWV2ZWQgfD0gRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0OworICAg
IH0KKworICAgIGlmIChtaWxlc3RvbmVzQWNoaWV2ZWQgJiYgZnJhbWUoKS5pc01haW5GcmFtZSgp
KQorICAgICAgICBmcmFtZSgpLmxvYWRlcigpLmRpZExheW91dChtaWxlc3RvbmVzQWNoaWV2ZWQp
OworfQorCit2b2lkIEZyYW1lVmlldzo6ZmlyZVBhaW50UmVsYXRlZE1pbGVzdG9uZXNJZk5lZWRl
ZCgpCiB7CiAgICAgUGFnZSogcGFnZSA9IGZyYW1lKCkucGFnZSgpOwogICAgIGlmICghcGFnZSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMTY1NDUzKQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNDMxLDcgKzQzMSw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbEVuZExpdmVSZXNpemUoKSBvdmVycmlk
ZTsKIAogICAgIHZvaWQgYWRkUGFpbnRQZW5kaW5nTWlsZXN0b25lcyhMYXlvdXRNaWxlc3RvbmVz
KTsKLSAgICB2b2lkIGZpcmVQYWludFJlbGF0ZWRNaWxlc3RvbmVzKCk7CisgICAgdm9pZCBmaXJl
UGFpbnRSZWxhdGVkTWlsZXN0b25lc0lmTmVlZGVkKCk7CisgICAgdm9pZCBmaXJlTGF5b3V0UmVs
YXRlZE1pbGVzdG9uZXNJZk5lZWRlZCgpOwogICAgIExheW91dE1pbGVzdG9uZXMgbWlsZXN0b25l
c1BlbmRpbmdQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fbWlsZXN0b25lc1BlbmRpbmdQYWludDsg
fQogCiAgICAgYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dlZEJ5Q2xpZW50KCkgY29uc3QgeyByZXR1
cm4gbV92aXN1YWxVcGRhdGVzQWxsb3dlZEJ5Q2xpZW50OyB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAkocmV2aXNpb24g
MTY1NDUzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NTUsNyArMzc1NSw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpwYWludFJlbGF0ZWQKICAgICBpZiAocGFnZS0+Y2hyb21lKCkuY2xpZW50
KCkubGF5ZXJUcmVlU3RhdGVJc0Zyb3plbigpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Jl
bmRlclZpZXcuZnJhbWVWaWV3KCkuZmlyZVBhaW50UmVsYXRlZE1pbGVzdG9uZXMoKTsKKyAgICBt
X3JlbmRlclZpZXcuZnJhbWVWaWV3KCkuZmlyZVBhaW50UmVsYXRlZE1pbGVzdG9uZXNJZk5lZWRl
ZCgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="250687"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>