<?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>16138</bug_id>
          
          <creation_ts>2007-11-25 22:49:26 -0800</creation_ts>
          <short_desc>Reduce code duplication in WebView.cpp</short_desc>
          <delta_ts>2007-11-25 23:03:22 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Adam Roben (:aroben)">aroben</assigned_to>
          <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>62352</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-11-25 22:49:26 -0800</bug_when>
    <thetext>WebView.cpp contains some duplicated code for figuring out repaint rects. We should fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62353</commentid>
    <comment_count>1</comment_count>
      <attachid>17525</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-11-25 22:50:45 -0800</bug_when>
    <thetext>Created attachment 17525
        Refactor WebView&apos;s repaint rect code


        Reviewed by NOBODY (OOPS!).

        * WebView.cpp:
        (getUpdateRects): Factored code out of updateBackingStore and paint
        into this new helper function.
        (WebView::updateBackingStore): Use getUpdateRects.
        (WebView::paint): Ditto.
        (WebView::paintIntoBackingStore): Changed to take a const IntRect&amp;.
        (WebView::paintIntoWindow): Ditto.
        * WebView.h:
---
 WebKit/win/ChangeLog   |   15 +++++
 WebKit/win/WebView.cpp |  143 ++++++++++++++++++++++++------------------------
 WebKit/win/WebView.h   |    4 +-
 3 files changed, 88 insertions(+), 74 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62356</commentid>
    <comment_count>2</comment_count>
      <attachid>17525</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-11-25 22:59:00 -0800</bug_when>
    <thetext>Comment on attachment 17525
        Refactor WebView&apos;s repaint rect code

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62357</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-11-25 23:03:22 -0800</bug_when>
    <thetext>Landed as r28036</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17525</attachid>
            <date>2007-11-25 22:50:45 -0800</date>
            <delta_ts>2007-11-25 22:59:00 -0800</delta_ts>
            <desc>        Refactor WebView&apos;s repaint rect code</desc>
            <filename>-Refactor-WebView-s-repaint-rect-code.patch</filename>
            <type>text/plain</type>
            <size>10416</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">NDc5NTQ1YWVlNDdmYjJiN2FjNzQyYWM4ZjMyODg1NmUyNjNhMzhhMApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA0MWM3ZjIyLi5j
ZjhlMzM4IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9XZWJLaXQvd2lu
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDA3LTExLTI1ICBBZGFtIFJvYmVuICA8YXJv
YmVuQGFwcGxlLmNvbT4KIAorICAgICAgICBSZWZhY3RvciBXZWJWaWV3J3MgcmVwYWludCByZWN0
IGNvZGUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYlZpZXcuY3BwOgorICAgICAgICAoZ2V0VXBkYXRlUmVjdHMpOiBGYWN0b3JlZCBjb2RlIG91
dCBvZiB1cGRhdGVCYWNraW5nU3RvcmUgYW5kIHBhaW50CisgICAgICAgIGludG8gdGhpcyBuZXcg
aGVscGVyIGZ1bmN0aW9uLgorICAgICAgICAoV2ViVmlldzo6dXBkYXRlQmFja2luZ1N0b3JlKTog
VXNlIGdldFVwZGF0ZVJlY3RzLgorICAgICAgICAoV2ViVmlldzo6cGFpbnQpOiBEaXR0by4KKyAg
ICAgICAgKFdlYlZpZXc6OnBhaW50SW50b0JhY2tpbmdTdG9yZSk6IENoYW5nZWQgdG8gdGFrZSBh
IGNvbnN0IEludFJlY3QmLgorICAgICAgICAoV2ViVmlldzo6cGFpbnRJbnRvV2luZG93KTogRGl0
dG8uCisgICAgICAgICogV2ViVmlldy5oOgorCisyMDA3LTExLTI1ICBBZGFtIFJvYmVuICA8YXJv
YmVuQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgSW1hZ2VEaWZmLnZjcHJvaiB0byBXZWJLaXQu
c2xuCiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcCBiL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggMWYyNDJiYy4uMGNhYTdl
OSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9XZWJLaXQvd2luL1dl
YlZpZXcuY3BwCkBAIC03MDQsNiArNzA0LDQ4IEBAIHZvaWQgV2ViVmlldzo6c2Nyb2xsQmFja2lu
Z1N0b3JlKEZyYW1lVmlldyogZnJhbWVWaWV3LCBpbnQgZHgsIGludCBkeSwgY29uc3QgSW50CiAK
IH0KIAorLy8gVGhpcyBlbXVsYXRlcyB0aGUgTWFjIHNtYXJ0cyBmb3IgcGFpbnRpbmcgcmVjdHMg
aW50ZWxsaWdlbnRseS4gIFRoaXMgaXMgdmVyeQorLy8gaW1wb3J0YW50IGZvciB1cywgc2luY2Ug
d2UgZG91YmxlIGJ1ZmZlciBiYXNlZCBvZmYgZGlydHkgcmVjdHMuCitzdGF0aWMgdm9pZCBnZXRV
cGRhdGVSZWN0cyhIUkdOIHJlZ2lvbiwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0LCBWZWN0b3I8
SW50UmVjdD4mIHJlY3RzKQoreworICAgIEFTU0VSVF9BUkcocmVnaW9uLCByZWdpb24pOworCisg
ICAgY29uc3QgaW50IGNSZWN0VGhyZXNob2xkID0gMTA7CisgICAgY29uc3QgZmxvYXQgY1dhc3Rl
ZFNwYWNlVGhyZXNob2xkID0gMC43NWY7CisKKyAgICByZWN0cy5jbGVhcigpOworCisgICAgRFdP
UkQgcmVnaW9uRGF0YVNpemUgPSBHZXRSZWdpb25EYXRhKHJlZ2lvbiwgc2l6ZW9mKFJHTkRBVEEp
LCBOVUxMKTsKKyAgICBpZiAoIXJlZ2lvbkRhdGFTaXplKSB7CisgICAgICAgIHJlY3RzLmFwcGVu
ZChkaXJ0eVJlY3QpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgVmVjdG9yPHVuc2ln
bmVkIGNoYXI+IGJ1ZmZlcihyZWdpb25EYXRhU2l6ZSk7CisgICAgUkdOREFUQSogcmVnaW9uRGF0
YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UkdOREFUQSo+KGJ1ZmZlci5kYXRhKCkpOworICAgIEdldFJl
Z2lvbkRhdGEocmVnaW9uLCByZWdpb25EYXRhU2l6ZSwgcmVnaW9uRGF0YSk7CisgICAgaWYgKHJl
Z2lvbkRhdGEtPnJkaC5uQ291bnQgPiBjUmVjdFRocmVzaG9sZCkgeworICAgICAgICByZWN0cy5h
cHBlbmQoZGlydHlSZWN0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGRvdWJsZSBz
aW5nbGVQaXhlbHMgPSAwLjA7CisgICAgdW5zaWduZWQgaTsKKyAgICBSRUNUKiByZWN0OworICAg
IGZvciAoaSA9IDAsIHJlY3QgPSByZWludGVycHJldF9jYXN0PFJFQ1QqPihyZWdpb25EYXRhLT5C
dWZmZXIpOyBpIDwgcmVnaW9uRGF0YS0+cmRoLm5Db3VudDsgaSsrLCByZWN0KyspCisgICAgICAg
IHNpbmdsZVBpeGVscyArPSAocmVjdC0+cmlnaHQgLSByZWN0LT5sZWZ0KSAqIChyZWN0LT5ib3R0
b20gLSByZWN0LT50b3ApOworCisgICAgZG91YmxlIHVuaW9uUGl4ZWxzID0gZGlydHlSZWN0Lndp
ZHRoKCkgKiBkaXJ0eVJlY3QuaGVpZ2h0KCk7CisgICAgZG91YmxlIHdhc3RlZFNwYWNlID0gMS4w
IC0gKHNpbmdsZVBpeGVscyAvIHVuaW9uUGl4ZWxzKTsKKyAgICBpZiAod2FzdGVkU3BhY2UgPD0g
Y1dhc3RlZFNwYWNlVGhyZXNob2xkKSB7CisgICAgICAgIHJlY3RzLmFwcGVuZChkaXJ0eVJlY3Qp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZm9yIChpID0gMCwgcmVjdCA9IHJlaW50
ZXJwcmV0X2Nhc3Q8UkVDVCo+KHJlZ2lvbkRhdGEtPkJ1ZmZlcik7IGkgPCByZWdpb25EYXRhLT5y
ZGgubkNvdW50OyBpKyssIHJlY3QrKykKKyAgICAgICAgcmVjdHMuYXBwZW5kKCpyZWN0KTsKK30K
Kwogdm9pZCBXZWJWaWV3Ojp1cGRhdGVCYWNraW5nU3RvcmUoRnJhbWVWaWV3KiBmcmFtZVZpZXcs
IEhEQyBkYywgYm9vbCBiYWNraW5nU3RvcmVDb21wbGV0ZWx5RGlydHkpCiB7CiAgICAgTE9DQUxf
R0RJX0NPVU5URVIoMCwgX19GVU5DVElPTl9fKTsKQEAgLTcyMiw0MSArNzY0LDE5IEBAIHZvaWQg
V2ViVmlldzo6dXBkYXRlQmFja2luZ1N0b3JlKEZyYW1lVmlldyogZnJhbWVWaWV3LCBIREMgZGMs
IGJvb2wgYmFja2luZ1N0b3JlCiAgICAgICAgICAgICBpZiAoRnJhbWVWaWV3KiB2aWV3ID0gY29y
ZUZyYW1lLT52aWV3KCkpCiAgICAgICAgICAgICAgICAgdmlldy0+bGF5b3V0SWZOZWVkZWRSZWN1
cnNpdmUoKTsKIAotICAgICAgICAvLyBUaGlzIGVtdWxhdGVzIHRoZSBNYWMgc21hcnRzIGZvciBw
YWludGluZyByZWN0cyBpbnRlbGxpZ2VudGx5LiAgVGhpcyBpcwotICAgICAgICAvLyB2ZXJ5IGlt
cG9ydGFudCBmb3IgdXMsIHNpbmNlIHdlIGRvdWJsZSBidWZmZXIgYmFzZWQgb2ZmIGRpcnR5IHJl
Y3RzLgotICAgICAgICBib29sIHVzZVJlZ2lvbkJveCA9IHRydWU7Ci0gICAgICAgIGNvbnN0IGlu
dCBjUmVjdFRocmVzaG9sZCA9IDEwOwotICAgICAgICBjb25zdCBmbG9hdCBjV2FzdGVkU3BhY2VU
aHJlc2hvbGQgPSAwLjc1ZjsKLSAgICAgICAgUkVDVCByZWdpb25Cb3g7CisgICAgICAgIFZlY3Rv
cjxJbnRSZWN0PiBwYWludFJlY3RzOwogICAgICAgICBpZiAoIWJhY2tpbmdTdG9yZUNvbXBsZXRl
bHlEaXJ0eSkgeworICAgICAgICAgICAgUkVDVCByZWdpb25Cb3g7CiAgICAgICAgICAgICA6Okdl
dFJnbkJveChtX2JhY2tpbmdTdG9yZURpcnR5UmVnaW9uLmdldCgpLCAmcmVnaW9uQm94KTsKLSAg
ICAgICAgICAgIERXT1JEIHJlZ2lvbkRhdGFTaXplID0gR2V0UmVnaW9uRGF0YShtX2JhY2tpbmdT
dG9yZURpcnR5UmVnaW9uLmdldCgpLCBzaXplb2YoUkdOREFUQSksIE5VTEwpOwotICAgICAgICAg
ICAgaWYgKHJlZ2lvbkRhdGFTaXplKSB7Ci0gICAgICAgICAgICAgICAgUkdOREFUQSogcmVnaW9u
RGF0YSA9IChSR05EQVRBKiltYWxsb2MocmVnaW9uRGF0YVNpemUpOwotICAgICAgICAgICAgICAg
IEdldFJlZ2lvbkRhdGEobV9iYWNraW5nU3RvcmVEaXJ0eVJlZ2lvbi5nZXQoKSwgcmVnaW9uRGF0
YVNpemUsIHJlZ2lvbkRhdGEpOwotICAgICAgICAgICAgICAgIGlmIChyZWdpb25EYXRhLT5yZGgu
bkNvdW50IDw9IGNSZWN0VGhyZXNob2xkKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRvdWJsZSB1
bmlvblBpeGVscyA9IChyZWdpb25Cb3gucmlnaHQgLSByZWdpb25Cb3gubGVmdCkgKiAocmVnaW9u
Qm94LmJvdHRvbSAtIHJlZ2lvbkJveC50b3ApOwotICAgICAgICAgICAgICAgICAgICBkb3VibGUg
c2luZ2xlUGl4ZWxzID0gMDsKLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGk7Ci0gICAgICAgICAgICAgICAgICAgIFJFQ1QqIHJlY3Q7Ci0gICAgICAg
ICAgICAgICAgICAgIGZvciAoaSA9IDAsIHJlY3QgPSAoUkVDVCopcmVnaW9uRGF0YS0+QnVmZmVy
OyBpIDwgcmVnaW9uRGF0YS0+cmRoLm5Db3VudDsgaSsrLCByZWN0KyspCi0gICAgICAgICAgICAg
ICAgICAgICAgICBzaW5nbGVQaXhlbHMgKz0gKHJlY3QtPnJpZ2h0IC0gcmVjdC0+bGVmdCkgKiAo
cmVjdC0+Ym90dG9tIC0gcmVjdC0+dG9wKTsKLSAgICAgICAgICAgICAgICAgICAgZG91YmxlIHdh
c3RlZFNwYWNlID0gMS4wIC0gKHNpbmdsZVBpeGVscyAvIHVuaW9uUGl4ZWxzKTsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKHdhc3RlZFNwYWNlID4gY1dhc3RlZFNwYWNlVGhyZXNob2xkKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWludCBpbmRpdmlkdWFsIHJlY3RzLgotICAgICAg
ICAgICAgICAgICAgICAgICAgdXNlUmVnaW9uQm94ID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBmb3IgKGkgPSAwLCByZWN0ID0gKFJFQ1QqKXJlZ2lvbkRhdGEtPkJ1ZmZlcjsgaSA8
IHJlZ2lvbkRhdGEtPnJkaC5uQ291bnQ7IGkrKywgcmVjdCsrKQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhaW50SW50b0JhY2tpbmdTdG9yZShmcmFtZVZpZXcsIGJpdG1hcERDLCByZWN0
KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBmcmVlKHJlZ2lvbkRhdGEpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgIDo6R2V0Q2xpZW50UmVjdChtX3ZpZXdXaW5kb3csICZyZWdpb25Cb3gpOworICAg
ICAgICAgICAgZ2V0VXBkYXRlUmVjdHMobV9iYWNraW5nU3RvcmVEaXJ0eVJlZ2lvbi5nZXQoKSwg
cmVnaW9uQm94LCBwYWludFJlY3RzKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIFJF
Q1QgY2xpZW50UmVjdDsKKyAgICAgICAgICAgIDo6R2V0Q2xpZW50UmVjdChtX3ZpZXdXaW5kb3cs
ICZjbGllbnRSZWN0KTsKKyAgICAgICAgICAgIHBhaW50UmVjdHMuYXBwZW5kKGNsaWVudFJlY3Qp
OworICAgICAgICB9CiAKLSAgICAgICAgaWYgKHVzZVJlZ2lvbkJveCkKLSAgICAgICAgICAgIHBh
aW50SW50b0JhY2tpbmdTdG9yZShmcmFtZVZpZXcsIGJpdG1hcERDLCAmcmVnaW9uQm94KTsKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBhaW50UmVjdHMuc2l6ZSgpOyArK2kpCisg
ICAgICAgICAgICBwYWludEludG9CYWNraW5nU3RvcmUoZnJhbWVWaWV3LCBiaXRtYXBEQywgcGFp
bnRSZWN0c1tpXSk7CiAKICAgICAgICAgaWYgKG1fdWlEZWxlZ2F0ZVByaXZhdGUpIHsKICAgICAg
ICAgICAgIENPTVB0cjxJV2ViVUlEZWxlZ2F0ZVByaXZhdGUyPiB1aURlbGVnYXRlUHJpdmF0ZTIo
UXVlcnksIG1fdWlEZWxlZ2F0ZVByaXZhdGUpOwpAQCAtODE0LDM4ICs4MzQsMTQgQEAgdm9pZCBX
ZWJWaWV3OjpwYWludChIREMgZGMsIExQQVJBTSBvcHRpb25zKQogICAgIEludFJlY3Qgd2luZG93
RGlydHlSZWN0ID0gcmNQYWludDsKICAgICAKICAgICAvLyBBcHBseSB0aGUgc2FtZSBoZXVyaXN0
aWMgZm9yIHRoaXMgdXBkYXRlIHJlZ2lvbiB0b28uCi0gICAgYm9vbCB1c2VXaW5kb3dEaXJ0eVJl
Y3QgPSB0cnVlOwotICAgIGlmIChyZWdpb24gJiYgcmVnaW9uVHlwZSA9PSBDT01QTEVYUkVHSU9O
KSB7Ci0gICAgICAgIExPQ0FMX0dESV9DT1VOVEVSKDEsIF9fRlVOQ1RJT05fXyIgKENPTVBMRVhS
RUdJT04pIik7Ci0KLSAgICAgICAgY29uc3QgaW50IGNSZWN0VGhyZXNob2xkID0gMTA7Ci0gICAg
ICAgIGNvbnN0IGZsb2F0IGNXYXN0ZWRTcGFjZVRocmVzaG9sZCA9IDAuNzVmOwotICAgICAgICBE
V09SRCByZWdpb25EYXRhU2l6ZSA9IEdldFJlZ2lvbkRhdGEocmVnaW9uLmdldCgpLCBzaXplb2Yo
UkdOREFUQSksIE5VTEwpOwotICAgICAgICBpZiAocmVnaW9uRGF0YVNpemUpIHsKLSAgICAgICAg
ICAgIFJHTkRBVEEqIHJlZ2lvbkRhdGEgPSAoUkdOREFUQSopbWFsbG9jKHJlZ2lvbkRhdGFTaXpl
KTsKLSAgICAgICAgICAgIEdldFJlZ2lvbkRhdGEocmVnaW9uLmdldCgpLCByZWdpb25EYXRhU2l6
ZSwgcmVnaW9uRGF0YSk7Ci0gICAgICAgICAgICBpZiAocmVnaW9uRGF0YS0+cmRoLm5Db3VudCA8
PSBjUmVjdFRocmVzaG9sZCkgewotICAgICAgICAgICAgICAgIGRvdWJsZSB1bmlvblBpeGVscyA9
IHdpbmRvd0RpcnR5UmVjdC53aWR0aCgpICogd2luZG93RGlydHlSZWN0LmhlaWdodCgpOwotICAg
ICAgICAgICAgICAgIGRvdWJsZSBzaW5nbGVQaXhlbHMgPSAwOwotICAgICAgICAgICAgICAgIAot
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGk7Ci0gICAgICAgICAgICAgICAgUkVDVCogcmVjdDsK
LSAgICAgICAgICAgICAgICBmb3IgKGkgPSAwLCByZWN0ID0gKFJFQ1QqKXJlZ2lvbkRhdGEtPkJ1
ZmZlcjsgaSA8IHJlZ2lvbkRhdGEtPnJkaC5uQ291bnQ7IGkrKywgcmVjdCsrKQotICAgICAgICAg
ICAgICAgICAgICBzaW5nbGVQaXhlbHMgKz0gKHJlY3QtPnJpZ2h0IC0gcmVjdC0+bGVmdCkgKiAo
cmVjdC0+Ym90dG9tIC0gcmVjdC0+dG9wKTsKLSAgICAgICAgICAgICAgICBkb3VibGUgd2FzdGVk
U3BhY2UgPSAxLjAgLSAoc2luZ2xlUGl4ZWxzIC8gdW5pb25QaXhlbHMpOwotICAgICAgICAgICAg
ICAgIGlmICh3YXN0ZWRTcGFjZSA+IGNXYXN0ZWRTcGFjZVRocmVzaG9sZCkgewotICAgICAgICAg
ICAgICAgICAgICAvLyBQYWludCBpbmRpdmlkdWFsIHJlY3RzLgotICAgICAgICAgICAgICAgICAg
ICB1c2VXaW5kb3dEaXJ0eVJlY3QgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgZm9yIChp
ID0gMCwgcmVjdCA9IChSRUNUKilyZWdpb25EYXRhLT5CdWZmZXI7IGkgPCByZWdpb25EYXRhLT5y
ZGgubkNvdW50OyBpKyssIHJlY3QrKykKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhaW50SW50
b1dpbmRvdyhiaXRtYXBEQywgaGRjLCByZWN0KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBmcmVlKHJlZ2lvbkRhdGEpOwotICAgICAgICB9Ci0gICAgfQor
ICAgIFZlY3RvcjxJbnRSZWN0PiBibGl0UmVjdHM7CisgICAgaWYgKHJlZ2lvbiAmJiByZWdpb25U
eXBlID09IENPTVBMRVhSRUdJT04pCisgICAgICAgIGdldFVwZGF0ZVJlY3RzKHJlZ2lvbi5nZXQo
KSwgd2luZG93RGlydHlSZWN0LCBibGl0UmVjdHMpOworICAgIGVsc2UKKyAgICAgICAgYmxpdFJl
Y3RzLmFwcGVuZCh3aW5kb3dEaXJ0eVJlY3QpOwogCi0gICAgaWYgKHVzZVdpbmRvd0RpcnR5UmVj
dCkKLSAgICAgICAgcGFpbnRJbnRvV2luZG93KGJpdG1hcERDLCBoZGMsICZyY1BhaW50KTsKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYmxpdFJlY3RzLnNpemUoKTsgKytpKQorICAgICAg
ICBwYWludEludG9XaW5kb3coYml0bWFwREMsIGhkYywgYmxpdFJlY3RzW2ldKTsKIAogICAgIDo6
RGVsZXRlREMoYml0bWFwREMpOwogCkBAIC04NjgsNDQgKzg2NCw0NyBAQCB2b2lkIFdlYlZpZXc6
OnBhaW50KEhEQyBkYywgTFBBUkFNIG9wdGlvbnMpCiAgICAgbV9wYWludENvdW50LS07CiB9CiAK
LXZvaWQgV2ViVmlldzo6cGFpbnRJbnRvQmFja2luZ1N0b3JlKEZyYW1lVmlldyogZnJhbWVWaWV3
LCBIREMgYml0bWFwREMsIExQUkVDVCBkaXJ0eVJlY3QpCit2b2lkIFdlYlZpZXc6OnBhaW50SW50
b0JhY2tpbmdTdG9yZShGcmFtZVZpZXcqIGZyYW1lVmlldywgSERDIGJpdG1hcERDLCBjb25zdCBJ
bnRSZWN0JiBkaXJ0eVJlY3QpCiB7CiAgICAgTE9DQUxfR0RJX0NPVU5URVIoMCwgX19GVU5DVElP
Tl9fKTsKIAorICAgIFJFQ1QgcmVjdCA9IGRpcnR5UmVjdDsKKwogI2lmIEZMQVNIX0JBQ0tJTkdf
U1RPUkVfUkVEUkFXCiAgICAgSERDIGRjID0gOjpHZXREQyhtX3ZpZXdXaW5kb3cpOwogICAgIE93
blB0cjxIQlJVU0g+IHllbGxvd0JydXNoID0gQ3JlYXRlU29saWRCcnVzaChSR0IoMjU1LCAyNTUs
IDApKTsKLSAgICBGaWxsUmVjdChkYywgZGlydHlSZWN0LCB5ZWxsb3dCcnVzaC5nZXQoKSk7Cisg
ICAgRmlsbFJlY3QoZGMsICZyZWN0LCB5ZWxsb3dCcnVzaC5nZXQoKSk7CiAgICAgR2RpRmx1c2go
KTsKICAgICBTbGVlcCg1MCk7CiAgICAgcGFpbnRJbnRvV2luZG93KGJpdG1hcERDLCBkYywgZGly
dHlSZWN0KTsKICAgICA6OlJlbGVhc2VEQyhtX3ZpZXdXaW5kb3csIGRjKTsKICNlbmRpZgogCi0g
ICAgRmlsbFJlY3QoYml0bWFwREMsIGRpcnR5UmVjdCwgKEhCUlVTSClHZXRTdG9ja09iamVjdChX
SElURV9CUlVTSCkpOworICAgIEZpbGxSZWN0KGJpdG1hcERDLCAmcmVjdCwgKEhCUlVTSClHZXRT
dG9ja09iamVjdChXSElURV9CUlVTSCkpOwogICAgIGlmIChmcmFtZVZpZXcgJiYgZnJhbWVWaWV3
LT5mcmFtZSgpICYmIGZyYW1lVmlldy0+ZnJhbWUoKS0+cmVuZGVyZXIoKSkgewogICAgICAgICBH
cmFwaGljc0NvbnRleHQgZ2MoYml0bWFwREMpOwogICAgICAgICBnYy5zYXZlKCk7Ci0gICAgICAg
IGdjLmNsaXAoSW50UmVjdCgqZGlydHlSZWN0KSk7Ci0gICAgICAgIGZyYW1lVmlldy0+cGFpbnQo
JmdjLCBJbnRSZWN0KCpkaXJ0eVJlY3QpKTsKKyAgICAgICAgZ2MuY2xpcChkaXJ0eVJlY3QpOwor
ICAgICAgICBmcmFtZVZpZXctPnBhaW50KCZnYywgZGlydHlSZWN0KTsKICAgICAgICAgZ2MucmVz
dG9yZSgpOwogICAgIH0KIH0KIAotdm9pZCBXZWJWaWV3OjpwYWludEludG9XaW5kb3coSERDIGJp
dG1hcERDLCBIREMgd2luZG93REMsIExQUkVDVCBkaXJ0eVJlY3QpCit2b2lkIFdlYlZpZXc6OnBh
aW50SW50b1dpbmRvdyhIREMgYml0bWFwREMsIEhEQyB3aW5kb3dEQywgY29uc3QgSW50UmVjdCYg
ZGlydHlSZWN0KQogewogICAgIExPQ0FMX0dESV9DT1VOVEVSKDAsIF9fRlVOQ1RJT05fXyk7CiAj
aWYgRkxBU0hfV0lORE9XX1JFRFJBVwogICAgIE93blB0cjxIQlJVU0g+IGdyZWVuQnJ1c2ggPSBD
cmVhdGVTb2xpZEJydXNoKFJHQigwLCAyNTUsIDApKTsKLSAgICBGaWxsUmVjdCh3aW5kb3dEQywg
ZGlydHlSZWN0LCBncmVlbkJydXNoLmdldCgpKTsKKyAgICBSRUNUIHJlY3QgPSBkaXJ0eVJlY3Q7
CisgICAgRmlsbFJlY3Qod2luZG93REMsICZyZWN0LCBncmVlbkJydXNoLmdldCgpKTsKICAgICBH
ZGlGbHVzaCgpOwogICAgIFNsZWVwKDUwKTsKICNlbmRpZgogCiAgICAgLy8gQmxpdCB0aGUgZGly
dHkgcmVjdCBmcm9tIHRoZSBiYWNraW5nIHN0b3JlIGludG8gdGhlIHNhbWUgcG9zaXRpb24KICAg
ICAvLyBpbiB0aGUgZGVzdGluYXRpb24gREMuCi0gICAgQml0Qmx0KHdpbmRvd0RDLCBkaXJ0eVJl
Y3QtPmxlZnQsIGRpcnR5UmVjdC0+dG9wLCBkaXJ0eVJlY3QtPnJpZ2h0IC0gZGlydHlSZWN0LT5s
ZWZ0LCBkaXJ0eVJlY3QtPmJvdHRvbSAtIGRpcnR5UmVjdC0+dG9wLCBiaXRtYXBEQywKLSAgICAg
ICAgICAgZGlydHlSZWN0LT5sZWZ0LCBkaXJ0eVJlY3QtPnRvcCwgU1JDQ09QWSk7CisgICAgQml0
Qmx0KHdpbmRvd0RDLCBkaXJ0eVJlY3QueCgpLCBkaXJ0eVJlY3QueSgpLCBkaXJ0eVJlY3Qud2lk
dGgoKSwgZGlydHlSZWN0LmhlaWdodCgpLCBiaXRtYXBEQywKKyAgICAgICAgICAgZGlydHlSZWN0
LngoKSwgZGlydHlSZWN0LnkoKSwgU1JDQ09QWSk7CiB9CiAKIHZvaWQgV2ViVmlldzo6ZnJhbWVS
ZWN0KFJFQ1QqIHJlY3QpCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlZpZXcuaCBiL1dlYktp
dC93aW4vV2ViVmlldy5oCmluZGV4IGU5YTRkODcuLjM2ODEyZmUgMTAwNjQ0Ci0tLSBhL1dlYktp
dC93aW4vV2ViVmlldy5oCisrKyBiL1dlYktpdC93aW4vV2ViVmlldy5oCkBAIC02MzQsOCArNjM0
LDggQEAgcHVibGljOgogICAgIGJvb2wga2V5VXAoV1BBUkFNLCBMUEFSQU0sIGJvb2wgc3lzdGVt
S2V5RG93biA9IGZhbHNlKTsKICAgICBib29sIGluUmVzaXplcihMUEFSQU0gbFBhcmFtKTsKICAg
ICB2b2lkIHBhaW50KEhEQywgTFBBUkFNKTsKLSAgICB2b2lkIHBhaW50SW50b0JhY2tpbmdTdG9y
ZShXZWJDb3JlOjpGcmFtZVZpZXcqLCBIREMgYml0bWFwREMsIExQUkVDVCBkaXJ0eVJlY3QpOwot
ICAgIHZvaWQgcGFpbnRJbnRvV2luZG93KEhEQyBiaXRtYXBEQywgSERDIHdpbmRvd0RDLCBMUFJF
Q1QgZGlydHlSZWN0KTsKKyAgICB2b2lkIHBhaW50SW50b0JhY2tpbmdTdG9yZShXZWJDb3JlOjpG
cmFtZVZpZXcqLCBIREMgYml0bWFwREMsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGRpcnR5UmVj
dCk7CisgICAgdm9pZCBwYWludEludG9XaW5kb3coSERDIGJpdG1hcERDLCBIREMgd2luZG93REMs
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGRpcnR5UmVjdCk7CiAgICAgYm9vbCBlbnN1cmVCYWNr
aW5nU3RvcmUoKTsKICAgICB2b2lkIGFkZFRvRGlydHlSZWdpb24oY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYpOwogICAgIHZvaWQgYWRkVG9EaXJ0eVJlZ2lvbihIUkdOKTsK
</data>
<flag name="review"
          id="7535"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>