<?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>73403</bug_id>
          
          <creation_ts>2011-11-29 23:29:14 -0800</creation_ts>
          <short_desc>Make FrameView use TemporarilyChange in a few places.</short_desc>
          <delta_ts>2011-11-30 13:38:54 -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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>73035</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Levin">levin</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>dimich</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>511423</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-11-29 23:29:14 -0800</bug_when>
    <thetext>See summary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511426</commentid>
    <comment_count>1</comment_count>
      <attachid>117131</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-11-29 23:34:02 -0800</bug_when>
    <thetext>Created attachment 117131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511967</commentid>
    <comment_count>2</comment_count>
      <attachid>117131</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-11-30 11:42:19 -0800</bug_when>
    <thetext>Comment on attachment 117131
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        (WebCore::FrameView::forceLayoutParentViewIfNeeded): Since this function isn&apos;t
&gt; +        re-entrant, TemporarilyChange does the same thing but in a more robust manner

Should we add an ASSERT to ensure that it&apos;s not re-entrant?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511984</commentid>
    <comment_count>3</comment_count>
      <attachid>117131</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-11-30 12:00:09 -0800</bug_when>
    <thetext>Comment on attachment 117131
Patch

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

r=me

&gt; Source/WebCore/ChangeLog:19
&gt; +        and TemporarilyChange behave like they did before. A few variables were move d before

move d-&gt;moved</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511985</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-11-30 12:01:06 -0800</bug_when>
    <thetext>oops, didn&apos;t see the Alexey&apos;s comment. It makes sense to me as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512080</commentid>
    <comment_count>5</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-11-30 13:38:54 -0800</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/101549

Added the assert, fixed the changelog, and added a minor comment about the scoping as discussed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117131</attachid>
            <date>2011-11-29 23:34:02 -0800</date>
            <delta_ts>2011-11-30 12:00:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73403-20111129233401.patch</filename>
            <type>text/plain</type>
            <size>14608</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMwMTVkZWY3NjE5NmI3
NzM4MmYzNjg0ZDAzYmEwNTM2MTNlMDNlMC4uMTdiNDcwNThlYzRhMGE4ZjYyMzQxNTNmNDk0OGM1
OGMwZmI1OWM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDExLTExLTI5ICBEYXZp
ZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KIAorICAgICAgICBNYWtlIEZyYW1lVmlldyB1
c2UgVGVtcG9yYXJpbHlDaGFuZ2UgaW4gYSBmZXcgcGxhY2VzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgZnVuY3Rpb25hbGl0eSBleHBvc2Vk
IHNvIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Zm9yY2VMYXlvdXRQYXJlbnRWaWV3SWZOZWVkZWQpOiBT
aW5jZSB0aGlzIGZ1bmN0aW9uIGlzbid0CisgICAgICAgIHJlLWVudHJhbnQsIFRlbXBvcmFyaWx5
Q2hhbmdlIGRvZXMgdGhlIHNhbWUgdGhpbmcgYnV0IGluIGEgbW9yZSByb2J1c3QgbWFubmVyCisg
ICAgICAgIGluIGNhc2UgdGhlcmUgd291bGQgYmUgYSByZXR1cm4gYWRkZWQgaW4gdGhlIGZ1bmN0
aW9uLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlvdXQpOiBUaGlzIHBsYWNlIGlz
IHRoZSBrZXkgcmVhc29uIGZvciB0aGUgY2hhbmdlLgorICAgICAgICBsYXlvdXQgaXMgcmUtZW50
cmFudCwgYnV0IGxheW91dCB3aWxsIHNldCBtX2xheW91dFNjaGVkdWxpbmdFbmFibGVkIHRvIHRy
dWUgd2hlbgorICAgICAgICBsZWF2aW5nIHRob3VnaCB0aGUgImxheW91dCIgZnVuY3Rpb24gaGln
aGVyIGluIHRoZSBzdGFjayB3b3VsZCBzdGlsbCBoYXZlIGl0IHNldAorICAgICAgICB0byBmYWxz
ZSAod2hpY2ggd29ya3Mgb2sgYnV0IGlzIGhpdCBieSBhbm90aGVyIGNoYW5nZSBJJ20gd29ya2lu
ZyBvbikuCisgICAgICAgIFRoZSBtYWpvcml0eSBvZiB0aGUgY2hhbmdlIGlzIGR1ZSB0byBpbmRl
bnRpbmcgdGhlIGNvZGUgdG8gbWFrZSBtX2xheW91dFNjaGVkdWxpbmdFbmFibGVkCisgICAgICAg
IGFuZCBUZW1wb3JhcmlseUNoYW5nZSBiZWhhdmUgbGlrZSB0aGV5IGRpZCBiZWZvcmUuIEEgZmV3
IHZhcmlhYmxlcyB3ZXJlIG1vdmUgZCBiZWZvcmUKKyAgICAgICAgdGhlIHNjb3BpbmcgdG8gYWxs
b3cgdGhlbSB0byBiZSB1c2VkIGFmdGVyIHRoZSBzY29wZSBpcyBjbG9zZWQuCisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogVGVtcG9yYXJpbHlDaGFuZ2Ug
ZG9lcyBleGFjdGx5IHdoYXQKKyAgICAgICAgdGhpcyBjb2RlIGRpZCBiZWZvcmUgKHNhdmluZyB0
aGUgb2xkIHZhbHVlIGFuZCByZXN0b3JpbmcgaXQpLgorCisyMDExLTExLTI5ICBEYXZpZCBMZXZp
biAgPGxldmluQGNocm9taXVtLm9yZz4KKwogICAgICAgICBBZGQgYSB3YXkgdG8gcmV2ZXJ0IGEg
dmFyaWFibGUgdG8gaXRzIHByZXZpb3VzIHZhbHVlIGFmdGVyIGxlYXZpbmcgYSBzY29wZS4KICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczMzcxCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCAwMzI4YjAxZmMzZDg1MWY4MDhiMGIxMzkzYTk3
NTA5MmJlOGVmNGFkLi40NWVhODAyNjkwMTU2OGI5NzVjNDJhNGQ3ZWMwNzdhNWE2NDJkZjQ3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC02Myw3ICs2Myw5IEBACiAjaW5jbHVkZSAi
U2Nyb2xsQW5pbWF0b3IuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRleHRS
ZXNvdXJjZURlY29kZXIuaCIKKwogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgorI2luY2x1
ZGUgPHd0Zi9UZW1wb3JhcmlseUNoYW5nZS5oPgogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogI2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgpAQCAtODk2LDcgKzg5
OCw3IEBAIGlubGluZSB2b2lkIEZyYW1lVmlldzo6Zm9yY2VMYXlvdXRQYXJlbnRWaWV3SWZOZWVk
ZWQoKQogICAgIGlmICghc3ZnUm9vdC0+bmVlZHNTaXplTmVnb3RpYXRpb25XaXRoSG9zdERvY3Vt
ZW50KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1faW5MYXlvdXRQYXJlbnRWaWV3ID0gdHJ1
ZTsKKyAgICBUZW1wb3JhcmlseUNoYW5nZTxib29sPiByZXNldEluTGF5b3V0UGFyZW50Vmlldyht
X2luTGF5b3V0UGFyZW50VmlldywgdHJ1ZSk7CiAKICAgICAvLyBDbGVhciBuZWVkcy1zaXplLW5l
Z290aWF0aW9uIGZsYWcgaW4gUmVuZGVyU1ZHUm9vdCwgc28gdGhlIG5leHQgY2FsbCB0byBvdXIK
ICAgICAvLyBsYXlvdXQoKSBtZXRob2Qgd29uJ3QgZmlyZSB0aGUgc2l6ZSBuZWdvdGlhdGlvbiBs
b2dpYyBhZ2Fpbi4KQEAgLTkxNiw4ICs5MTgsNiBAQCBpbmxpbmUgdm9pZCBGcmFtZVZpZXc6OmZv
cmNlTGF5b3V0UGFyZW50Vmlld0lmTmVlZGVkKCkKICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9
IG93bmVyUmVuZGVyZXItPmZyYW1lKCktPnZpZXcoKTsKICAgICBBU1NFUlQoZnJhbWVWaWV3KTsK
ICAgICBmcmFtZVZpZXctPmxheW91dCgpOwotCi0gICAgbV9pbkxheW91dFBhcmVudFZpZXcgPSBm
YWxzZTsKICNlbmRpZgogfQogCkBAIC05NjksMTM4ICs5NjksMTQzIEBAIHZvaWQgRnJhbWVWaWV3
OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCiAgICAgQVNTRVJUKG1fZnJhbWUtPnZpZXcoKSA9
PSB0aGlzKTsKIAogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUtPmRvY3VtZW50KCk7
CisgICAgYm9vbCBzdWJ0cmVlOworICAgIFJlbmRlck9iamVjdCogcm9vdDsKIAotICAgIG1fbGF5
b3V0U2NoZWR1bGluZ0VuYWJsZWQgPSBmYWxzZTsKKyAgICB7CisgICAgICAgIFRlbXBvcmFyaWx5
Q2hhbmdlPGJvb2w+IGNoYW5nZVNjaGVkdWxpbmdFbmFibGVkKG1fbGF5b3V0U2NoZWR1bGluZ0Vu
YWJsZWQsIGZhbHNlKTsKKworICAgICAgICBpZiAoIW1fbmVzdGVkTGF5b3V0Q291bnQgJiYgIW1f
aW5TeW5jaHJvbm91c1Bvc3RMYXlvdXQgJiYgbV9oYXNQZW5kaW5nUG9zdExheW91dFRhc2tzICYm
ICFpblN1YmZyYW1lTGF5b3V0V2l0aEZyYW1lRmxhdHRlbmluZykgeworICAgICAgICAgICAgLy8g
VGhpcyBpcyBhIG5ldyB0b3AtbGV2ZWwgbGF5b3V0LiBJZiB0aGVyZSBhcmUgYW55IHJlbWFpbmlu
ZyB0YXNrcyBmcm9tIHRoZSBwcmV2aW91cworICAgICAgICAgICAgLy8gbGF5b3V0LCBmaW5pc2gg
dGhlbSBub3cuCisgICAgICAgICAgICBtX2luU3luY2hyb25vdXNQb3N0TGF5b3V0ID0gdHJ1ZTsK
KyAgICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RvcCgpOworICAgICAgICAgICAg
cGVyZm9ybVBvc3RMYXlvdXRUYXNrcygpOworICAgICAgICAgICAgbV9pblN5bmNocm9ub3VzUG9z
dExheW91dCA9IGZhbHNlOworICAgICAgICB9CiAKLSAgICBpZiAoIW1fbmVzdGVkTGF5b3V0Q291
bnQgJiYgIW1faW5TeW5jaHJvbm91c1Bvc3RMYXlvdXQgJiYgbV9oYXNQZW5kaW5nUG9zdExheW91
dFRhc2tzICYmICFpblN1YmZyYW1lTGF5b3V0V2l0aEZyYW1lRmxhdHRlbmluZykgewotICAgICAg
ICAvLyBUaGlzIGlzIGEgbmV3IHRvcC1sZXZlbCBsYXlvdXQuIElmIHRoZXJlIGFyZSBhbnkgcmVt
YWluaW5nIHRhc2tzIGZyb20gdGhlIHByZXZpb3VzCi0gICAgICAgIC8vIGxheW91dCwgZmluaXNo
IHRoZW0gbm93LgotICAgICAgICBtX2luU3luY2hyb25vdXNQb3N0TGF5b3V0ID0gdHJ1ZTsKLSAg
ICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdG9wKCk7Ci0gICAgICAgIHBlcmZvcm1Qb3N0
TGF5b3V0VGFza3MoKTsKLSAgICAgICAgbV9pblN5bmNocm9ub3VzUG9zdExheW91dCA9IGZhbHNl
OwotICAgIH0KKyAgICAgICAgLy8gVmlld3BvcnQtZGVwZW5kZW50IG1lZGlhIHF1ZXJpZXMgbWF5
IGNhdXNlIHVzIHRvIG5lZWQgY29tcGxldGVseSBkaWZmZXJlbnQgc3R5bGUgaW5mb3JtYXRpb24u
CisgICAgICAgIC8vIENoZWNrIHRoYXQgaGVyZS4KKyAgICAgICAgaWYgKGRvY3VtZW50LT5zdHls
ZVNlbGVjdG9yKCktPmFmZmVjdGVkQnlWaWV3cG9ydENoYW5nZSgpKQorICAgICAgICAgICAgZG9j
dW1lbnQtPnN0eWxlU2VsZWN0b3JDaGFuZ2VkKFJlY2FsY1N0eWxlSW1tZWRpYXRlbHkpOwogCi0g
ICAgLy8gVmlld3BvcnQtZGVwZW5kZW50IG1lZGlhIHF1ZXJpZXMgbWF5IGNhdXNlIHVzIHRvIG5l
ZWQgY29tcGxldGVseSBkaWZmZXJlbnQgc3R5bGUgaW5mb3JtYXRpb24uCi0gICAgLy8gQ2hlY2sg
dGhhdCBoZXJlLgotICAgIGlmIChkb2N1bWVudC0+c3R5bGVTZWxlY3RvcigpLT5hZmZlY3RlZEJ5
Vmlld3BvcnRDaGFuZ2UoKSkKLSAgICAgICAgZG9jdW1lbnQtPnN0eWxlU2VsZWN0b3JDaGFuZ2Vk
KFJlY2FsY1N0eWxlSW1tZWRpYXRlbHkpOworICAgICAgICAvLyBBbHdheXMgZW5zdXJlIG91ciBz
dHlsZSBpbmZvIGlzIHVwLXRvLWRhdGUuIFRoaXMgY2FuIGhhcHBlbiBpbiBzaXR1YXRpb25zIHdo
ZXJlCisgICAgICAgIC8vIHRoZSBsYXlvdXQgYmVhdHMgYW55IHNvcnQgb2Ygc3R5bGUgcmVjYWxj
IHVwZGF0ZSB0aGF0IG5lZWRzIHRvIG9jY3VyLgorICAgICAgICBkb2N1bWVudC0+dXBkYXRlU3R5
bGVJZk5lZWRlZCgpOwogCi0gICAgLy8gQWx3YXlzIGVuc3VyZSBvdXIgc3R5bGUgaW5mbyBpcyB1
cC10by1kYXRlLiAgVGhpcyBjYW4gaGFwcGVuIGluIHNpdHVhdGlvbnMgd2hlcmUKLSAgICAvLyB0
aGUgbGF5b3V0IGJlYXRzIGFueSBzb3J0IG9mIHN0eWxlIHJlY2FsYyB1cGRhdGUgdGhhdCBuZWVk
cyB0byBvY2N1ci4KLSAgICBkb2N1bWVudC0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOwotICAgIAot
ICAgIGJvb2wgc3VidHJlZSA9IG1fbGF5b3V0Um9vdDsKKyAgICAgICAgc3VidHJlZSA9IG1fbGF5
b3V0Um9vdDsKIAotICAgIC8vIElmIHRoZXJlIGlzIG9ubHkgb25lIHJlZiB0byB0aGlzIHZpZXcg
bGVmdCwgdGhlbiBpdHMgZ29pbmcgdG8gYmUgZGVzdHJveWVkIGFzIHNvb24gYXMgd2UgZXhpdCwg
Ci0gICAgLy8gc28gdGhlcmUncyBubyBwb2ludCB0byBjb250aW51aW5nIHRvIGxheW91dAotICAg
IGlmIChwcm90ZWN0b3ItPmhhc09uZVJlZigpKQotICAgICAgICByZXR1cm47CisgICAgICAgIC8v
IElmIHRoZXJlIGlzIG9ubHkgb25lIHJlZiB0byB0aGlzIHZpZXcgbGVmdCwgdGhlbiBpdHMgZ29p
bmcgdG8gYmUgZGVzdHJveWVkIGFzIHNvb24gYXMgd2UgZXhpdCwgCisgICAgICAgIC8vIHNvIHRo
ZXJlJ3Mgbm8gcG9pbnQgdG8gY29udGludWluZyB0byBsYXlvdXQKKyAgICAgICAgaWYgKHByb3Rl
Y3Rvci0+aGFzT25lUmVmKCkpCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICBSZW5kZXJPYmpl
Y3QqIHJvb3QgPSBzdWJ0cmVlID8gbV9sYXlvdXRSb290IDogZG9jdW1lbnQtPnJlbmRlcmVyKCk7
Ci0gICAgaWYgKCFyb290KSB7Ci0gICAgICAgIC8vIEZJWE1FOiBEbyB3ZSBuZWVkIHRvIHNldCBt
X3NpemUgaGVyZT8KLSAgICAgICAgbV9sYXlvdXRTY2hlZHVsaW5nRW5hYmxlZCA9IHRydWU7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIHJvb3QgPSBzdWJ0cmVlID8gbV9sYXlvdXRS
b290IDogZG9jdW1lbnQtPnJlbmRlcmVyKCk7CisgICAgICAgIGlmICghcm9vdCkgeworICAgICAg
ICAgICAgLy8gRklYTUU6IERvIHdlIG5lZWQgdG8gc2V0IG1fc2l6ZSBoZXJlPworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSAvLyBSZXNldCBtX2xheW91dFNjaGVkdWxpbmdF
bmFibGVkIHRvIGl0cyBwcmV2aW91cyB2YWx1ZS4KIAogICAgIEZvbnRDYWNoZVB1cmdlUHJldmVu
dGVyIGZvbnRDYWNoZVB1cmdlUHJldmVudGVyOworICAgIFJlbmRlckxheWVyKiBsYXllcjsKKyAg
ICB7CisgICAgICAgIFRlbXBvcmFyaWx5Q2hhbmdlPGJvb2w+IGNoYW5nZVNjaGVkdWxpbmdFbmFi
bGVkKG1fbGF5b3V0U2NoZWR1bGluZ0VuYWJsZWQsIGZhbHNlKTsKIAotICAgIG1fbmVzdGVkTGF5
b3V0Q291bnQrKzsKKyAgICAgICAgbV9uZXN0ZWRMYXlvdXRDb3VudCsrOwogCi0gICAgaWYgKCFt
X2xheW91dFJvb3QpIHsKLSAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9j
dW1lbnQoKTsKLSAgICAgICAgTm9kZSogYm9keSA9IGRvY3VtZW50LT5ib2R5KCk7Ci0gICAgICAg
IGlmIChib2R5ICYmIGJvZHktPnJlbmRlcmVyKCkpIHsKLSAgICAgICAgICAgIGlmIChib2R5LT5o
YXNUYWdOYW1lKGZyYW1lc2V0VGFnKSAmJiBtX2ZyYW1lLT5zZXR0aW5ncygpICYmICFtX2ZyYW1l
LT5zZXR0aW5ncygpLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCkpIHsKLSAgICAgICAgICAgICAg
ICBib2R5LT5yZW5kZXJlcigpLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUpOwotICAgICAgICAg
ICAgfSBlbHNlIGlmIChib2R5LT5oYXNUYWdOYW1lKGJvZHlUYWcpKSB7Ci0gICAgICAgICAgICAg
ICAgaWYgKCFtX2ZpcnN0TGF5b3V0ICYmIG1fc2l6ZS5oZWlnaHQoKSAhPSBsYXlvdXRIZWlnaHQo
KSAmJiBib2R5LT5yZW5kZXJlcigpLT5lbmNsb3NpbmdCb3goKS0+c3RyZXRjaGVzVG9WaWV3cG9y
dCgpKQorICAgICAgICBpZiAoIW1fbGF5b3V0Um9vdCkgeworICAgICAgICAgICAgRG9jdW1lbnQq
IGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKTsKKyAgICAgICAgICAgIE5vZGUqIGJvZHkg
PSBkb2N1bWVudC0+Ym9keSgpOworICAgICAgICAgICAgaWYgKGJvZHkgJiYgYm9keS0+cmVuZGVy
ZXIoKSkgeworICAgICAgICAgICAgICAgIGlmIChib2R5LT5oYXNUYWdOYW1lKGZyYW1lc2V0VGFn
KSAmJiBtX2ZyYW1lLT5zZXR0aW5ncygpICYmICFtX2ZyYW1lLT5zZXR0aW5ncygpLT5mcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgYm9keS0+cmVuZGVyZXIo
KS0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYg
KGJvZHktPmhhc1RhZ05hbWUoYm9keVRhZykpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFt
X2ZpcnN0TGF5b3V0ICYmIG1fc2l6ZS5oZWlnaHQoKSAhPSBsYXlvdXRIZWlnaHQoKSAmJiBib2R5
LT5yZW5kZXJlcigpLT5lbmNsb3NpbmdCb3goKS0+c3RyZXRjaGVzVG9WaWV3cG9ydCgpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgYm9keS0+cmVuZGVyZXIoKS0+c2V0Q2hpbGROZWVkc0xheW91
dCh0cnVlKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAg
ICAgICAgCisKICNpZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVMSU5HCi0gICAgICAgIGlm
IChtX2ZpcnN0TGF5b3V0ICYmICFtX2ZyYW1lLT5vd25lckVsZW1lbnQoKSkKLSAgICAgICAgICAg
IHByaW50ZigiRWxhcHNlZCB0aW1lIGJlZm9yZSBmaXJzdCBsYXlvdXQ6ICVkXG4iLCBkb2N1bWVu
dC0+ZWxhcHNlZFRpbWUoKSk7CisgICAgICAgICAgICBpZiAobV9maXJzdExheW91dCAmJiAhbV9m
cmFtZS0+b3duZXJFbGVtZW50KCkpCisgICAgICAgICAgICAgICAgcHJpbnRmKCJFbGFwc2VkIHRp
bWUgYmVmb3JlIGZpcnN0IGxheW91dDogJWRcbiIsIGRvY3VtZW50LT5lbGFwc2VkVGltZSgpKTsK
ICNlbmRpZiAgICAgICAgCi0gICAgfQotCi0gICAgU2Nyb2xsYmFyTW9kZSBoTW9kZTsKLSAgICBT
Y3JvbGxiYXJNb2RlIHZNb2RlOyAgICAKLSAgICBjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0Zvckxh
eW91dChoTW9kZSwgdk1vZGUpOwotCi0gICAgbV9kb0Z1bGxSZXBhaW50ID0gIXN1YnRyZWUgJiYg
KG1fZmlyc3RMYXlvdXQgfHwgdG9SZW5kZXJWaWV3KHJvb3QpLT5wcmludGluZygpKTsKLQotICAg
IGlmICghc3VidHJlZSkgewotICAgICAgICAvLyBOb3cgc2V0IG91ciBzY3JvbGxiYXIgc3RhdGUg
Zm9yIHRoZSBsYXlvdXQuCi0gICAgICAgIFNjcm9sbGJhck1vZGUgY3VycmVudEhNb2RlID0gaG9y
aXpvbnRhbFNjcm9sbGJhck1vZGUoKTsKLSAgICAgICAgU2Nyb2xsYmFyTW9kZSBjdXJyZW50Vk1v
ZGUgPSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUoKTsKLQotICAgICAgICBpZiAobV9maXJzdExheW91
dCB8fCAoaE1vZGUgIT0gY3VycmVudEhNb2RlIHx8IHZNb2RlICE9IGN1cnJlbnRWTW9kZSkpIHsK
LSAgICAgICAgICAgIGlmIChtX2ZpcnN0TGF5b3V0KSB7Ci0gICAgICAgICAgICAgICAgc2V0U2Ny
b2xsYmFyc1N1cHByZXNzZWQodHJ1ZSk7Ci0KLSAgICAgICAgICAgICAgICBtX2ZpcnN0TGF5b3V0
ID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgbV9maXJzdExheW91dENhbGxiYWNrUGVuZGluZyA9
IHRydWU7Ci0gICAgICAgICAgICAgICAgbV9sYXN0TGF5b3V0U2l6ZSA9IExheW91dFNpemUod2lk
dGgoKSwgaGVpZ2h0KCkpOwotICAgICAgICAgICAgICAgIG1fbGFzdFpvb21GYWN0b3IgPSByb290
LT5zdHlsZSgpLT56b29tKCk7Ci0KLSAgICAgICAgICAgICAgICAvLyBTZXQgdGhlIGluaXRpYWwg
dk1vZGUgdG8gQWx3YXlzT24gaWYgd2UncmUgYXV0by4KLSAgICAgICAgICAgICAgICBpZiAodk1v
ZGUgPT0gU2Nyb2xsYmFyQXV0bykKLSAgICAgICAgICAgICAgICAgICAgc2V0VmVydGljYWxTY3Jv
bGxiYXJNb2RlKFNjcm9sbGJhckFsd2F5c09uKTsgLy8gVGhpcyBjYXVzZXMgYSB2ZXJ0aWNhbCBz
Y3JvbGxiYXIgdG8gYXBwZWFyLgotICAgICAgICAgICAgICAgIC8vIFNldCB0aGUgaW5pdGlhbCBo
TW9kZSB0byBBbHdheXNPZmYgaWYgd2UncmUgYXV0by4KLSAgICAgICAgICAgICAgICBpZiAoaE1v
ZGUgPT0gU2Nyb2xsYmFyQXV0bykKLSAgICAgICAgICAgICAgICAgICAgc2V0SG9yaXpvbnRhbFNj
cm9sbGJhck1vZGUoU2Nyb2xsYmFyQWx3YXlzT2ZmKTsgLy8gVGhpcyBjYXVzZXMgYSBob3Jpem9u
dGFsIHNjcm9sbGJhciB0byBkaXNhcHBlYXIuCi0KLSAgICAgICAgICAgICAgICBzZXRTY3JvbGxi
YXJNb2RlcyhoTW9kZSwgdk1vZGUpOwotICAgICAgICAgICAgICAgIHNldFNjcm9sbGJhcnNTdXBw
cmVzc2VkKGZhbHNlLCB0cnVlKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAg
IHNldFNjcm9sbGJhck1vZGVzKGhNb2RlLCB2TW9kZSk7CiAgICAgICAgIH0KIAotICAgICAgICBM
YXlvdXRTaXplIG9sZFNpemUgPSBtX3NpemU7CisgICAgICAgIFNjcm9sbGJhck1vZGUgaE1vZGU7
CisgICAgICAgIFNjcm9sbGJhck1vZGUgdk1vZGU7ICAgIAorICAgICAgICBjYWxjdWxhdGVTY3Jv
bGxiYXJNb2Rlc0ZvckxheW91dChoTW9kZSwgdk1vZGUpOworCisgICAgICAgIG1fZG9GdWxsUmVw
YWludCA9ICFzdWJ0cmVlICYmIChtX2ZpcnN0TGF5b3V0IHx8IHRvUmVuZGVyVmlldyhyb290KS0+
cHJpbnRpbmcoKSk7CisKKyAgICAgICAgaWYgKCFzdWJ0cmVlKSB7CisgICAgICAgICAgICAvLyBO
b3cgc2V0IG91ciBzY3JvbGxiYXIgc3RhdGUgZm9yIHRoZSBsYXlvdXQuCisgICAgICAgICAgICBT
Y3JvbGxiYXJNb2RlIGN1cnJlbnRITW9kZSA9IGhvcml6b250YWxTY3JvbGxiYXJNb2RlKCk7Cisg
ICAgICAgICAgICBTY3JvbGxiYXJNb2RlIGN1cnJlbnRWTW9kZSA9IHZlcnRpY2FsU2Nyb2xsYmFy
TW9kZSgpOworCisgICAgICAgICAgICBpZiAobV9maXJzdExheW91dCB8fCAoaE1vZGUgIT0gY3Vy
cmVudEhNb2RlIHx8IHZNb2RlICE9IGN1cnJlbnRWTW9kZSkpIHsKKyAgICAgICAgICAgICAgICBp
ZiAobV9maXJzdExheW91dCkgeworICAgICAgICAgICAgICAgICAgICBzZXRTY3JvbGxiYXJzU3Vw
cHJlc3NlZCh0cnVlKTsKKworICAgICAgICAgICAgICAgICAgICBtX2ZpcnN0TGF5b3V0ID0gZmFs
c2U7CisgICAgICAgICAgICAgICAgICAgIG1fZmlyc3RMYXlvdXRDYWxsYmFja1BlbmRpbmcgPSB0
cnVlOworICAgICAgICAgICAgICAgICAgICBtX2xhc3RMYXlvdXRTaXplID0gTGF5b3V0U2l6ZSh3
aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgICAgIG1fbGFzdFpvb21GYWN0b3Ig
PSByb290LT5zdHlsZSgpLT56b29tKCk7CisKKyAgICAgICAgICAgICAgICAgICAgLy8gU2V0IHRo
ZSBpbml0aWFsIHZNb2RlIHRvIEFsd2F5c09uIGlmIHdlJ3JlIGF1dG8uCisgICAgICAgICAgICAg
ICAgICAgIGlmICh2TW9kZSA9PSBTY3JvbGxiYXJBdXRvKQorICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0VmVydGljYWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhckFsd2F5c09uKTsgLy8gVGhpcyBj
YXVzZXMgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgdG8gYXBwZWFyLgorICAgICAgICAgICAgICAgICAg
ICAvLyBTZXQgdGhlIGluaXRpYWwgaE1vZGUgdG8gQWx3YXlzT2ZmIGlmIHdlJ3JlIGF1dG8uCisg
ICAgICAgICAgICAgICAgICAgIGlmIChoTW9kZSA9PSBTY3JvbGxiYXJBdXRvKQorICAgICAgICAg
ICAgICAgICAgICAgICAgc2V0SG9yaXpvbnRhbFNjcm9sbGJhck1vZGUoU2Nyb2xsYmFyQWx3YXlz
T2ZmKTsgLy8gVGhpcyBjYXVzZXMgYSBob3Jpem9udGFsIHNjcm9sbGJhciB0byBkaXNhcHBlYXIu
CisKKyAgICAgICAgICAgICAgICAgICAgc2V0U2Nyb2xsYmFyTW9kZXMoaE1vZGUsIHZNb2RlKTsK
KyAgICAgICAgICAgICAgICAgICAgc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWQoZmFsc2UsIHRydWUp
OworICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICBzZXRTY3JvbGxi
YXJNb2RlcyhoTW9kZSwgdk1vZGUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBMYXlv
dXRTaXplIG9sZFNpemUgPSBtX3NpemU7CiAKLSAgICAgICAgbV9zaXplID0gTGF5b3V0U2l6ZShs
YXlvdXRXaWR0aCgpLCBsYXlvdXRIZWlnaHQoKSk7CisgICAgICAgICAgICBtX3NpemUgPSBMYXlv
dXRTaXplKGxheW91dFdpZHRoKCksIGxheW91dEhlaWdodCgpKTsKIAotICAgICAgICBpZiAob2xk
U2l6ZSAhPSBtX3NpemUpIHsKLSAgICAgICAgICAgIG1fZG9GdWxsUmVwYWludCA9IHRydWU7Ci0g
ICAgICAgICAgICBpZiAoIW1fZmlyc3RMYXlvdXQpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJC
b3gqIHJvb3RSZW5kZXJlciA9IGRvY3VtZW50LT5kb2N1bWVudEVsZW1lbnQoKSA/IGRvY3VtZW50
LT5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyQm94KCkgOiAwOwotICAgICAgICAgICAgICAgIFJl
bmRlckJveCogYm9keVJlbmRlcmVyID0gcm9vdFJlbmRlcmVyICYmIGRvY3VtZW50LT5ib2R5KCkg
PyBkb2N1bWVudC0+Ym9keSgpLT5yZW5kZXJCb3goKSA6IDA7Ci0gICAgICAgICAgICAgICAgaWYg
KGJvZHlSZW5kZXJlciAmJiBib2R5UmVuZGVyZXItPnN0cmV0Y2hlc1RvVmlld3BvcnQoKSkKLSAg
ICAgICAgICAgICAgICAgICAgYm9keVJlbmRlcmVyLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUp
OwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJvb3RSZW5kZXJlciAmJiByb290UmVuZGVyZXIt
PnN0cmV0Y2hlc1RvVmlld3BvcnQoKSkKLSAgICAgICAgICAgICAgICAgICAgcm9vdFJlbmRlcmVy
LT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUpOworICAgICAgICAgICAgaWYgKG9sZFNpemUgIT0g
bV9zaXplKSB7CisgICAgICAgICAgICAgICAgbV9kb0Z1bGxSZXBhaW50ID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICBpZiAoIW1fZmlyc3RMYXlvdXQpIHsKKyAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyQm94KiByb290UmVuZGVyZXIgPSBkb2N1bWVudC0+ZG9jdW1lbnRFbGVtZW50KCkgPyBkb2N1
bWVudC0+ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlckJveCgpIDogMDsKKyAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyQm94KiBib2R5UmVuZGVyZXIgPSByb290UmVuZGVyZXIgJiYgZG9jdW1lbnQt
PmJvZHkoKSA/IGRvY3VtZW50LT5ib2R5KCktPnJlbmRlckJveCgpIDogMDsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKGJvZHlSZW5kZXJlciAmJiBib2R5UmVuZGVyZXItPnN0cmV0Y2hlc1RvVmll
d3BvcnQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGJvZHlSZW5kZXJlci0+c2V0Q2hpbGRO
ZWVkc0xheW91dCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocm9vdFJlbmRl
cmVyICYmIHJvb3RSZW5kZXJlci0+c3RyZXRjaGVzVG9WaWV3cG9ydCgpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgcm9vdFJlbmRlcmVyLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUpOworICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0KIAotICAgIFJl
bmRlckxheWVyKiBsYXllciA9IHJvb3QtPmVuY2xvc2luZ0xheWVyKCk7CisgICAgICAgIGxheWVy
ID0gcm9vdC0+ZW5jbG9zaW5nTGF5ZXIoKTsKIAotICAgIG1fYWN0aW9uU2NoZWR1bGVyLT5wYXVz
ZSgpOworICAgICAgICBtX2FjdGlvblNjaGVkdWxlci0+cGF1c2UoKTsKIAotICAgIHsKLSAgICAg
ICAgYm9vbCBkaXNhYmxlTGF5b3V0U3RhdGUgPSBmYWxzZTsKLSAgICAgICAgaWYgKHN1YnRyZWUp
IHsKLSAgICAgICAgICAgIFJlbmRlclZpZXcqIHZpZXcgPSByb290LT52aWV3KCk7Ci0gICAgICAg
ICAgICBkaXNhYmxlTGF5b3V0U3RhdGUgPSB2aWV3LT5zaG91bGREaXNhYmxlTGF5b3V0U3RhdGVG
b3JTdWJ0cmVlKHJvb3QpOwotICAgICAgICAgICAgdmlldy0+cHVzaExheW91dFN0YXRlKHJvb3Qp
OwotICAgICAgICB9Ci0gICAgICAgIExheW91dFN0YXRlRGlzYWJsZXIgbGF5b3V0U3RhdGVEaXNh
YmxlcihkaXNhYmxlTGF5b3V0U3RhdGUgPyByb290LT52aWV3KCkgOiAwKTsKLQotICAgICAgICBt
X2luTGF5b3V0ID0gdHJ1ZTsKLSAgICAgICAgYmVnaW5EZWZlcnJlZFJlcGFpbnRzKCk7Ci0gICAg
ICAgIHJvb3QtPmxheW91dCgpOwotICAgICAgICBlbmREZWZlcnJlZFJlcGFpbnRzKCk7Ci0gICAg
ICAgIG1faW5MYXlvdXQgPSBmYWxzZTsKKyAgICAgICAgeworICAgICAgICAgICAgYm9vbCBkaXNh
YmxlTGF5b3V0U3RhdGUgPSBmYWxzZTsKKyAgICAgICAgICAgIGlmIChzdWJ0cmVlKSB7CisgICAg
ICAgICAgICAgICAgUmVuZGVyVmlldyogdmlldyA9IHJvb3QtPnZpZXcoKTsKKyAgICAgICAgICAg
ICAgICBkaXNhYmxlTGF5b3V0U3RhdGUgPSB2aWV3LT5zaG91bGREaXNhYmxlTGF5b3V0U3RhdGVG
b3JTdWJ0cmVlKHJvb3QpOworICAgICAgICAgICAgICAgIHZpZXctPnB1c2hMYXlvdXRTdGF0ZShy
b290KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIExheW91dFN0YXRlRGlzYWJsZXIgbGF5
b3V0U3RhdGVEaXNhYmxlcihkaXNhYmxlTGF5b3V0U3RhdGUgPyByb290LT52aWV3KCkgOiAwKTsK
IAotICAgICAgICBpZiAoc3VidHJlZSkKLSAgICAgICAgICAgIHJvb3QtPnZpZXcoKS0+cG9wTGF5
b3V0U3RhdGUocm9vdCk7Ci0gICAgfQotICAgIG1fbGF5b3V0Um9vdCA9IDA7CisgICAgICAgICAg
ICBtX2luTGF5b3V0ID0gdHJ1ZTsKKyAgICAgICAgICAgIGJlZ2luRGVmZXJyZWRSZXBhaW50cygp
OworICAgICAgICAgICAgcm9vdC0+bGF5b3V0KCk7CisgICAgICAgICAgICBlbmREZWZlcnJlZFJl
cGFpbnRzKCk7CisgICAgICAgICAgICBtX2luTGF5b3V0ID0gZmFsc2U7CiAKLSAgICBtX2xheW91
dFNjaGVkdWxpbmdFbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChzdWJ0cmVlKQorICAg
ICAgICAgICAgICAgIHJvb3QtPnZpZXcoKS0+cG9wTGF5b3V0U3RhdGUocm9vdCk7CisgICAgICAg
IH0KKyAgICAgICAgbV9sYXlvdXRSb290ID0gMDsKKyAgICB9IC8vIFJlc2V0IG1fbGF5b3V0U2No
ZWR1bGluZ0VuYWJsZWQgdG8gaXRzIHByZXZpb3VzIHZhbHVlLgogCiAgICAgaWYgKCFzdWJ0cmVl
ICYmICF0b1JlbmRlclZpZXcocm9vdCktPnByaW50aW5nKCkpCiAgICAgICAgIGFkanVzdFZpZXdT
aXplKCk7CkBAIC0xNjY0LDExICsxNjY5LDkgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbEVsZW1l
bnRUb1JlY3QoRWxlbWVudCogZWxlbWVudCwgY29uc3QgSW50UmVjdCYgcmVjdCkKIAogdm9pZCBG
cmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBzY3JvbGxQb2ludCkK
IHsKLSAgICBib29sIHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsID0gbV9pblByb2dyYW1tYXRpY1Nj
cm9sbDsKLSAgICBtX2luUHJvZ3JhbW1hdGljU2Nyb2xsID0gdHJ1ZTsKKyAgICBUZW1wb3Jhcmls
eUNoYW5nZTxib29sPiBjaGFuZ2VJblByb2dyYW1tYXRpY1Njcm9sbChtX2luUHJvZ3JhbW1hdGlj
U2Nyb2xsLCB0cnVlKTsKICAgICBtX21haW50YWluU2Nyb2xsUG9zaXRpb25BbmNob3IgPSAwOwog
ICAgIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvaW50KTsKLSAgICBtX2lu
UHJvZ3JhbW1hdGljU2Nyb2xsID0gd2FzSW5Qcm9ncmFtbWF0aWNTY3JvbGw7CiB9CiAKIHZvaWQg
RnJhbWVWaWV3OjpzZXRGaXhlZFZpc2libGVDb250ZW50UmVjdChjb25zdCBJbnRSZWN0JiB2aXNp
YmxlQ29udGVudFJlY3QpCg==
</data>
<flag name="review"
          id="116461"
          type_id="1"
          status="+"
          setter="dimich"
    />
          </attachment>
      

    </bug>

</bugzilla>