<?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>119553</bug_id>
          
          <creation_ts>2013-08-07 11:05:35 -0700</creation_ts>
          <short_desc>Move more style recalc code to StyleResolveTree.cpp</short_desc>
          <delta_ts>2013-08-08 00:17:45 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>915219</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-08-07 11:05:35 -0700</bug_when>
    <thetext>Move text and shadow tree resolve to StyleResolveTree.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915237</commentid>
    <comment_count>1</comment_count>
      <attachid>208289</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-08-07 11:53:54 -0700</bug_when>
    <thetext>Created attachment 208289
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915329</commentid>
    <comment_count>2</comment_count>
      <attachid>208289</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-08-08 00:06:02 -0700</bug_when>
    <thetext>Comment on attachment 208289
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915335</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-08-08 00:17:45 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/153816</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208289</attachid>
            <date>2013-08-07 11:53:54 -0700</date>
            <delta_ts>2013-08-08 00:06:02 -0700</delta_ts>
            <desc>patch</desc>
            <filename>move-text-and-shadow-resolve.patch</filename>
            <type>text/plain</type>
            <size>10200</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1Mzc5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTA4LTA3ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIG1vcmUgc3R5bGUgcmVj
YWxjIGNvZGUgdG8gU3R5bGVSZXNvbHZlVHJlZS5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTU1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAg
ICAqIGNzcy9TdHlsZVJlc29sdmVyLmg6CisgICAgICAgIAorICAgICAgICAgICAgUmVtb3ZlIG5v
dyB1bnVzZWQgU3R5bGVSZXNvbHZlcjo6c3R5bGVGb3JUZXh0LgorCisgICAgICAgICogZG9tL0Vs
ZW1lbnRTaGFkb3cuY3BwOgorICAgICAgICAqIGRvbS9FbGVtZW50U2hhZG93Lmg6CisgICAgICAg
IAorICAgICAgICAgICAgUmVtb3ZlIEVsZW1lbnRTaGFkb3c6OnJlY2FsY1N0eWxlLgorCisgICAg
ICAgICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6
c2V0UmVzZXRTdHlsZUluaGVyaXRhbmNlKToKKyAgICAgICAgCisgICAgICAgICAgICBVc2UgU3R5
bGU6OnJlc29sdmVUcmVlIGluc3RlYWQgb2YgRWxlbWVudFNoYWRvdzo6cmVjYWxjU3R5bGUuCisK
KyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5oOgorICAgICAgICAKKyAgICAgICAgICAgIFJlbW92
ZSBTaGFkb3dSb290OjpyZWNhbGNTdHlsZS4KKworICAgICAgICAqIGRvbS9UZXh0LmNwcDoKKyAg
ICAgICAgKiBkb20vVGV4dC5oOgorICAgICAgICAKKyAgICAgICAgICAgIFJlbW92ZSBUZXh0Ojpy
ZWNhbGNUZXh0U3R5bGUuCisKKyAgICAgICAgKiBzdHlsZS9TdHlsZVJlc29sdmVUcmVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjp1cGRhdGVUZXh0U3R5bGUpOgorICAgICAgICAKKyAg
ICAgICAgICAgIE1vdmVkIGZyb20gVGV4dDo6cmVjYWxjVGV4dFN0eWxlLiBTcGVlZCB1cCBieSBq
dXN0IHNldHRpbmcgdGhlIHBhcmVudCBzdHlsZSBvbiBjb21tb24gY2FzZS4KKworICAgICAgICAo
V2ViQ29yZTo6U3R5bGU6OnJlc29sdmVTaGFkb3dUcmVlKToKKyAgICAgICAgCisgICAgICAgICAg
ICBNb3ZlZCBmcm9tIFNoYWRvd1Jvb3Q6OnJlY2FsY1N0eWxlLiAKKyAgICAgICAgICAgIFNpbXBs
aWZpZWQgdG8gY292ZXIgb25seSBjYXNlcyB0aGF0IGNhbiBvY2N1ciB3aXRoIHRoZSBjdXJyZW50
IHNoYWRvdyBET00gc3VwcG9ydC4KKworICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OnJlc29sdmVU
cmVlKToKKwogMjAxMy0wOC0wNyAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2Vu
QGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdIFJFR1JFU1NJT04ocikgVHdvIHBpeGVsIHJlc3Vs
dCBmYWlsIGFmdGVyIHIxNTM1MjIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAJKHJldmlzaW9uIDE1Mzc4MikKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyMSwxNiArMTIyMSw2IEBAIFBhc3NSZWZQdHI8UmVu
ZGVyU3R5bGU+IFN0eWxlUmVzb2x2ZXI6OmQKICAgICByZXR1cm4gbV9zdGF0ZS50YWtlU3R5bGUo
KTsKIH0KIAotUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gU3R5bGVSZXNvbHZlcjo6c3R5bGVGb3JU
ZXh0KFRleHQqIHRleHROb2RlKQotewotICAgIEFTU0VSVCh0ZXh0Tm9kZSk7Ci0KLSAgICBOb2Rl
UmVuZGVyaW5nQ29udGV4dCBjb250ZXh0KHRleHROb2RlKTsKLSAgICBOb2RlKiBwYXJlbnROb2Rl
ID0gY29udGV4dC5wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUoKTsKLSAgICByZXR1cm4g
Y29udGV4dC5yZXNldFN0eWxlSW5oZXJpdGFuY2UoKSB8fCAhcGFyZW50Tm9kZSB8fCAhcGFyZW50
Tm9kZS0+cmVuZGVyU3R5bGUoKSA/Ci0gICAgICAgIGRlZmF1bHRTdHlsZUZvckVsZW1lbnQoKSA6
IHBhcmVudE5vZGUtPnJlbmRlclN0eWxlKCk7Ci19Ci0KIHN0YXRpYyB2b2lkIGFkZEludHJpbnNp
Y01hcmdpbnMoUmVuZGVyU3R5bGUqIHN0eWxlKQogewogICAgIC8vIEludHJpbnNpYyBtYXJnaW4g
dmFsdWUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgJKHJldmlzaW9uIDE1Mzc4
MykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTE4OSw3ICsxODksNiBAQCBwdWJsaWM6CiAKICAgICBQYXNzUmVmUHRyPFJlbmRlclN0eWxl
PiBzdHlsZUZvclBhZ2UoaW50IHBhZ2VJbmRleCk7CiAgICAgUGFzc1JlZlB0cjxSZW5kZXJTdHls
ZT4gZGVmYXVsdFN0eWxlRm9yRWxlbWVudCgpOwotICAgIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+
IHN0eWxlRm9yVGV4dChUZXh0Kik7CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxSZW5kZXJTdHls
ZT4gc3R5bGVGb3JEb2N1bWVudChEb2N1bWVudCosIENTU0ZvbnRTZWxlY3RvciogPSAwKTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmNwcAkocmV2aXNpb24gMTUzNzgzKQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTMsMTIgKzExMyw2IEBAIGJvb2wgRWxlbWVudFNoYWRvdzo6bmVlZHNTdHlsZVJlY2FsYygp
IGMKICAgICByZXR1cm4gc2hhZG93Um9vdCgpLT5uZWVkc1N0eWxlUmVjYWxjKCk7CiB9CiAKLXZv
aWQgRWxlbWVudFNoYWRvdzo6cmVjYWxjU3R5bGUoU3R5bGU6OkNoYW5nZSBjaGFuZ2UpCi17Ci0g
ICAgaWYgKFNoYWRvd1Jvb3QqIHJvb3QgPSBzaGFkb3dSb290KCkpCi0gICAgICAgIHJvb3QtPnJl
Y2FsY1N0eWxlKGNoYW5nZSk7Ci19Ci0KIHZvaWQgRWxlbWVudFNoYWRvdzo6cmVtb3ZlQWxsRXZl
bnRMaXN0ZW5lcnMoKQogewogICAgIGlmIChTaGFkb3dSb290KiByb290ID0gc2hhZG93Um9vdCgp
KSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmgJKHJldmlzaW9uIDE1Mzc4MykK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmgJKHdvcmtpbmcgY29weSkKQEAg
LTYxLDcgKzYxLDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBjaGlsZE5lZWRzU3R5bGVSZWNhbGMo
KSBjb25zdDsKICAgICBib29sIG5lZWRzU3R5bGVSZWNhbGMoKSBjb25zdDsKLSAgICB2b2lkIHJl
Y2FsY1N0eWxlKFN0eWxlOjpDaGFuZ2UpOwogICAgIHZvaWQgcmVtb3ZlQWxsRXZlbnRMaXN0ZW5l
cnMoKTsKIAogICAgIHZvaWQgaW52YWxpZGF0ZURpc3RyaWJ1dGlvbigpIHsgbV9kaXN0cmlidXRv
ci5pbnZhbGlkYXRlRGlzdHJpYnV0aW9uKGhvc3QoKSk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9TaGFkb3dSb290LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Um9vdC5jcHAJKHJldmlzaW9uIDE1Mzc4MykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TaGFk
b3dSb290LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDI2ICsxMjIsNiBAQCBib29sIFNoYWRv
d1Jvb3Q6OmNoaWxkVHlwZUFsbG93ZWQoTm9kZVR5CiAgICAgfQogfQogCi12b2lkIFNoYWRvd1Jv
b3Q6OnJlY2FsY1N0eWxlKFN0eWxlOjpDaGFuZ2UgY2hhbmdlKQotewotICAgIC8vIFNoYWRvd1Jv
b3QgZG9lc24ndCBzdXBwb3J0IGN1c3RvbSBjYWxsYmFja3MuCi0gICAgQVNTRVJUKCFoYXNDdXN0
b21TdHlsZUNhbGxiYWNrcygpKTsKLQotICAgIFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIg
PSBkb2N1bWVudCgpLT5lbnN1cmVTdHlsZVJlc29sdmVyKCk7Ci0gICAgc3R5bGVSZXNvbHZlci0+
cHVzaFBhcmVudFNoYWRvd1Jvb3QodGhpcyk7Ci0KLSAgICBmb3IgKE5vZGUqIGNoaWxkID0gZmly
c3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewotICAgICAg
ICBpZiAoY2hpbGQtPmlzRWxlbWVudE5vZGUoKSkKLSAgICAgICAgICAgIFN0eWxlOjpyZXNvbHZl
VHJlZSh0b0VsZW1lbnQoY2hpbGQpLCBjaGFuZ2UpOwotICAgICAgICBlbHNlIGlmIChjaGlsZC0+
aXNUZXh0Tm9kZSgpKQotICAgICAgICAgICAgdG9UZXh0KGNoaWxkKS0+cmVjYWxjVGV4dFN0eWxl
KGNoYW5nZSk7Ci0gICAgfQotCi0gICAgc3R5bGVSZXNvbHZlci0+cG9wUGFyZW50U2hhZG93Um9v
dCh0aGlzKTsKLSAgICBjbGVhck5lZWRzU3R5bGVSZWNhbGMoKTsKLSAgICBjbGVhckNoaWxkTmVl
ZHNTdHlsZVJlY2FsYygpOwotfQotCiB2b2lkIFNoYWRvd1Jvb3Q6OnNldEFwcGx5QXV0aG9yU3R5
bGVzKGJvb2wgdmFsdWUpCiB7CiAgICAgaWYgKGlzT3JwaGFuKCkpCkBAIC0xNjAsOCArMTQwLDgg
QEAgdm9pZCBTaGFkb3dSb290OjpzZXRSZXNldFN0eWxlSW5oZXJpdGFuYwogCiAgICAgaWYgKHZh
bHVlICE9IG1fcmVzZXRTdHlsZUluaGVyaXRhbmNlKSB7CiAgICAgICAgIG1fcmVzZXRTdHlsZUlu
aGVyaXRhbmNlID0gdmFsdWU7Ci0gICAgICAgIGlmIChhdHRhY2hlZCgpICYmIG93bmVyKCkpCi0g
ICAgICAgICAgICBvd25lcigpLT5yZWNhbGNTdHlsZShTdHlsZTo6Rm9yY2UpOworICAgICAgICBp
ZiAoYXR0YWNoZWQoKSAmJiBob3N0KCkpCisgICAgICAgICAgICBTdHlsZTo6cmVzb2x2ZVRyZWUo
aG9zdCgpLCBTdHlsZTo6Rm9yY2UpOwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd1Jvb3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93
Um9vdC5oCShyZXZpc2lvbiAxNTM3ODMpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9v
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw4ICs1Niw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgflNoYWRvd1Jvb3QoKTsKIAotICAgIHZvaWQgcmVjYWxjU3R5bGUoU3R5bGU6OkNoYW5nZSk7
Ci0KICAgICB2aXJ0dWFsIGJvb2wgYXBwbHlBdXRob3JTdHlsZXMoKSBjb25zdCBPVkVSUklERSB7
IHJldHVybiBtX2FwcGx5QXV0aG9yU3R5bGVzOyB9CiAgICAgdm9pZCBzZXRBcHBseUF1dGhvclN0
eWxlcyhib29sKTsKICAgICB2aXJ0dWFsIGJvb2wgcmVzZXRTdHlsZUluaGVyaXRhbmNlKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gbV9yZXNldFN0eWxlSW5oZXJpdGFuY2U7IH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vVGV4dC5jcHAJKHJldmlzaW9uIDE1Mzc4MykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgyLDIyICsyODIsNiBAQCB2b2lkIFRleHQ6OmF0dGFj
aChjb25zdCBBdHRhY2hDb250ZXh0JiBjCiAgICAgQ2hhcmFjdGVyRGF0YTo6YXR0YWNoKGNvbnRl
eHQpOwogfQogCi12b2lkIFRleHQ6OnJlY2FsY1RleHRTdHlsZShTdHlsZTo6Q2hhbmdlIGNoYW5n
ZSkKLXsKLSAgICBSZW5kZXJUZXh0KiByZW5kZXJlciA9IHRvUmVuZGVyVGV4dCh0aGlzLT5yZW5k
ZXJlcigpKTsKLQotICAgIGlmIChjaGFuZ2UgIT0gU3R5bGU6Ok5vQ2hhbmdlICYmIHJlbmRlcmVy
KQotICAgICAgICByZW5kZXJlci0+c2V0U3R5bGUoZG9jdW1lbnQoKS0+ZW5zdXJlU3R5bGVSZXNv
bHZlcigpLT5zdHlsZUZvclRleHQodGhpcykpOwotCi0gICAgaWYgKG5lZWRzU3R5bGVSZWNhbGMo
KSkgewotICAgICAgICBpZiAocmVuZGVyZXIpCi0gICAgICAgICAgICByZW5kZXJlci0+c2V0VGV4
dChkYXRhSW1wbCgpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVhdHRhY2goKTsKLSAg
ICB9Ci0gICAgY2xlYXJOZWVkc1N0eWxlUmVjYWxjKCk7Ci19Ci0KIHZvaWQgVGV4dDo6dXBkYXRl
VGV4dFJlbmRlcmVyKHVuc2lnbmVkIG9mZnNldE9mUmVwbGFjZWREYXRhLCB1bnNpZ25lZCBsZW5n
dGhPZlJlcGxhY2VkRGF0YSkKIHsKICAgICBpZiAoIWF0dGFjaGVkKCkpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0
LmgJKHJldmlzaW9uIDE1Mzc4MykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ1LDcgKzQ1LDYgQEAgcHVibGljOgogICAgIFN0cmluZyB3aG9sZVRleHQo
KSBjb25zdDsKICAgICBQYXNzUmVmUHRyPFRleHQ+IHJlcGxhY2VXaG9sZVRleHQoY29uc3QgU3Ry
aW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIAotICAgIHZvaWQgcmVjYWxjVGV4dFN0eWxlKFN0
eWxlOjpDaGFuZ2UpOwogICAgIHZvaWQgY3JlYXRlVGV4dFJlbmRlcmVySWZOZWVkZWQoKTsKICAg
ICBib29sIHRleHRSZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0Jik7
CiAgICAgUmVuZGVyVGV4dCogY3JlYXRlVGV4dFJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVy
U3R5bGUqKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuY3Bw
CShyZXZpc2lvbiAxNTM3ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVU
cmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIk5vZGVS
ZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJSZW5k
ZXJPYmplY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJUZXh0LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgpA
QCAtMTc2LDYgKzE3Nyw0MyBAQCBzdGF0aWMgQ2hhbmdlIHJlc29sdmVMb2NhbChFbGVtZW50KiBj
dXJyCiAgICAgcmV0dXJuIGxvY2FsQ2hhbmdlOwogfQogCitzdGF0aWMgdm9pZCB1cGRhdGVUZXh0
U3R5bGUoVGV4dCogdGV4dCwgUmVuZGVyU3R5bGUqIHBhcmVudEVsZW1lbnRTdHlsZSwgU3R5bGU6
OkNoYW5nZSBjaGFuZ2UpCit7CisgICAgUmVuZGVyVGV4dCogcmVuZGVyZXIgPSB0b1JlbmRlclRl
eHQodGV4dC0+cmVuZGVyZXIoKSk7CisKKyAgICBpZiAoY2hhbmdlICE9IFN0eWxlOjpOb0NoYW5n
ZSAmJiByZW5kZXJlcikKKyAgICAgICAgcmVuZGVyZXItPnNldFN0eWxlKHBhcmVudEVsZW1lbnRT
dHlsZSk7CisKKyAgICBpZiAoIXRleHQtPm5lZWRzU3R5bGVSZWNhbGMoKSkKKyAgICAgICAgcmV0
dXJuOworICAgIGlmIChyZW5kZXJlcikKKyAgICAgICAgcmVuZGVyZXItPnNldFRleHQodGV4dC0+
ZGF0YUltcGwoKSk7CisgICAgZWxzZQorICAgICAgICB0ZXh0LT5yZWF0dGFjaCgpOworICAgIHRl
eHQtPmNsZWFyTmVlZHNTdHlsZVJlY2FsYygpOworfQorCitzdGF0aWMgdm9pZCByZXNvbHZlU2hh
ZG93VHJlZShTaGFkb3dSb290KiBzaGFkb3dSb290LCBSZW5kZXJTdHlsZSogcGFyZW50RWxlbWVu
dFN0eWxlLCBTdHlsZTo6Q2hhbmdlIGNoYW5nZSkKK3sKKyAgICBpZiAoIXNoYWRvd1Jvb3QpCisg
ICAgICAgIHJldHVybjsKKyAgICBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyID0gc2hhZG93
Um9vdC0+ZG9jdW1lbnQoKS0+ZW5zdXJlU3R5bGVSZXNvbHZlcigpOworICAgIHN0eWxlUmVzb2x2
ZXItPnB1c2hQYXJlbnRTaGFkb3dSb290KHNoYWRvd1Jvb3QpOworCisgICAgZm9yIChOb2RlKiBj
aGlsZCA9IHNoYWRvd1Jvb3QtPmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5l
eHRTaWJsaW5nKCkpIHsKKyAgICAgICAgaWYgKGNoaWxkLT5pc1RleHROb2RlKCkpIHsKKyAgICAg
ICAgICAgIC8vIEN1cnJlbnQgdXNlciBhZ2VudCBTaGFkb3dSb290cyBkb24ndCBoYXZlIGltbWVk
aWF0ZSB0ZXh0IGNoaWxkcmVuIHNvIHRoaXMgYnJhbmNoIGlzIG5ldmVyIGFjdHVhbGx5IHRha2Vu
LgorICAgICAgICAgICAgdXBkYXRlVGV4dFN0eWxlKHRvVGV4dChjaGlsZCksIHBhcmVudEVsZW1l
bnRTdHlsZSwgY2hhbmdlKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAg
ICAgIHJlc29sdmVUcmVlKHRvRWxlbWVudChjaGlsZCksIGNoYW5nZSk7CisgICAgfQorCisgICAg
c3R5bGVSZXNvbHZlci0+cG9wUGFyZW50U2hhZG93Um9vdChzaGFkb3dSb290KTsKKyAgICBzaGFk
b3dSb290LT5jbGVhck5lZWRzU3R5bGVSZWNhbGMoKTsKKyAgICBzaGFkb3dSb290LT5jbGVhckNo
aWxkTmVlZHNTdHlsZVJlY2FsYygpOworfQorCiB2b2lkIHJlc29sdmVUcmVlKEVsZW1lbnQqIGN1
cnJlbnQsIENoYW5nZSBjaGFuZ2UpCiB7CiAgICAgQVNTRVJUKGNoYW5nZSAhPSBEZXRhY2gpOwpA
QCAtMTk4LDEwICsyMzYsMTIgQEAgdm9pZCByZXNvbHZlVHJlZShFbGVtZW50KiBjdXJyZW50LCBD
aGFuZwogICAgIGlmIChjaGFuZ2UgIT0gRGV0YWNoKSB7CiAgICAgICAgIFN0eWxlUmVzb2x2ZXJQ
YXJlbnRQdXNoZXIgcGFyZW50UHVzaGVyKGN1cnJlbnQpOwogCisgICAgICAgIFJlbmRlclN0eWxl
KiBjdXJyZW50U3R5bGUgPSBjdXJyZW50LT5yZW5kZXJTdHlsZSgpOworCiAgICAgICAgIGlmIChF
bGVtZW50U2hhZG93KiBzaGFkb3cgPSBjdXJyZW50LT5zaGFkb3coKSkgewogICAgICAgICAgICAg
aWYgKGNoYW5nZSA+PSBJbmhlcml0IHx8IHNoYWRvdy0+Y2hpbGROZWVkc1N0eWxlUmVjYWxjKCkg
fHwgc2hhZG93LT5uZWVkc1N0eWxlUmVjYWxjKCkpIHsKICAgICAgICAgICAgICAgICBwYXJlbnRQ
dXNoZXIucHVzaCgpOwotICAgICAgICAgICAgICAgIHNoYWRvdy0+cmVjYWxjU3R5bGUoY2hhbmdl
KTsKKyAgICAgICAgICAgICAgICByZXNvbHZlU2hhZG93VHJlZShzaGFkb3ctPnNoYWRvd1Jvb3Qo
KSwgY3VycmVudFN0eWxlLCBjaGFuZ2UpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAg
LTIxNCw3ICsyNTQsNyBAQCB2b2lkIHJlc29sdmVUcmVlKEVsZW1lbnQqIGN1cnJlbnQsIENoYW5n
CiAgICAgICAgIGJvb2wgZm9yY2VDaGVja09mQW55RWxlbWVudFNpYmxpbmcgPSBmYWxzZTsKICAg
ICAgICAgZm9yIChOb2RlKiBjaGlsZCA9IGN1cnJlbnQtPmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNo
aWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNU
ZXh0Tm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgdG9UZXh0KGNoaWxkKS0+cmVjYWxjVGV4dFN0
eWxlKGNoYW5nZSk7CisgICAgICAgICAgICAgICAgdXBkYXRlVGV4dFN0eWxlKHRvVGV4dChjaGls
ZCksIGN1cnJlbnRTdHlsZSwgY2hhbmdlKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGlmICghY2hpbGQtPmlzRWxlbWVudE5vZGUoKSkK
</data>
<flag name="review"
          id="230185"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>