<?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>101484</bug_id>
          
          <creation_ts>2012-11-07 10:02:20 -0800</creation_ts>
          <short_desc>Clean up confused use of Document::renderer and renderView</short_desc>
          <delta_ts>2012-11-07 15:37:44 -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>New Bugs</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="Elliott Sprehn">esprehn</reporter>
          <assigned_to name="Elliott Sprehn">esprehn</assigned_to>
          <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eric</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>760811</commentid>
    <comment_count>0</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-07 10:02:20 -0800</bug_when>
    <thetext>Clean up confused use of Document::renderer and renderView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760826</commentid>
    <comment_count>1</comment_count>
      <attachid>172828</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-07 10:14:09 -0800</bug_when>
    <thetext>Created attachment 172828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760858</commentid>
    <comment_count>2</comment_count>
      <attachid>172828</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-07 10:42:40 -0800</bug_when>
    <thetext>Comment on attachment 172828
Patch

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

&gt; Source/WebCore/dom/Element.cpp:652
&gt; +    return document()-&gt;view()-&gt;contentsToScreen(renderer()-&gt;absoluteBoundingBoxRectIgnoringTransforms());

Don&apos;t you still need to grab the frameView()? I&apos;m confused how this compiled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760871</commentid>
    <comment_count>3</comment_count>
      <attachid>172828</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-07 10:50:05 -0800</bug_when>
    <thetext>Comment on attachment 172828
Patch

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

&gt;&gt; Source/WebCore/dom/Element.cpp:652
&gt;&gt; +    return document()-&gt;view()-&gt;contentsToScreen(renderer()-&gt;absoluteBoundingBoxRectIgnoringTransforms());
&gt; 
&gt; Don&apos;t you still need to grab the frameView()? I&apos;m confused how this compiled.

document()-&gt;view() is the FrameView! :) document()-&gt;renderView() is the RenderView. Alas we have so many views.

This code was crazy before because it expanded to:

renderer()-&gt;m_node-&gt;document()-&gt;renderView()-&gt;frameView() so we went out into the render tree only to come back to ourself through m_node and then to the document and back into the render tree and then finally to the frame view... it was the rube goldberg of methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760884</commentid>
    <comment_count>4</comment_count>
      <attachid>172828</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-07 10:55:46 -0800</bug_when>
    <thetext>Comment on attachment 172828
Patch

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

&gt;&gt;&gt; Source/WebCore/dom/Element.cpp:652
&gt;&gt;&gt; +    return document()-&gt;view()-&gt;contentsToScreen(renderer()-&gt;absoluteBoundingBoxRectIgnoringTransforms());
&gt;&gt; 
&gt;&gt; Don&apos;t you still need to grab the frameView()? I&apos;m confused how this compiled.
&gt; 
&gt; document()-&gt;view() is the FrameView! :) document()-&gt;renderView() is the RenderView. Alas we have so many views.
&gt; 
&gt; This code was crazy before because it expanded to:
&gt; 
&gt; renderer()-&gt;m_node-&gt;document()-&gt;renderView()-&gt;frameView() so we went out into the render tree only to come back to ourself through m_node and then to the document and back into the render tree and then finally to the frame view... it was the rube goldberg of methods.

Oh right. I see. Lol.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761116</commentid>
    <comment_count>5</comment_count>
      <attachid>172828</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-07 15:37:40 -0800</bug_when>
    <thetext>Comment on attachment 172828
Patch

Clearing flags on attachment: 172828

Committed r133813: &lt;http://trac.webkit.org/changeset/133813&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761117</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-07 15:37:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172828</attachid>
            <date>2012-11-07 10:14:09 -0800</date>
            <delta_ts>2012-11-07 15:37:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101484-20121107101219.patch</filename>
            <type>text/plain</type>
            <size>11043</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTc3NTg0NGIwYjY5MDMz
M2M0ZDBkYTY0NGY2ZmIyM2Y2NmVhYmM1Mi4uMGJmN2M1ZjU3Zjc0MWZkMjY2YjJlOWY1OTU3ODRj
ZTZmZjA5OTU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTExLTA3ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIENsZWFuIHVwIGNv
bmZ1c2VkIHVzZSBvZiBEb2N1bWVudDo6cmVuZGVyZXIgYW5kIHJlbmRlclZpZXcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTQ4NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvY3VtZW50OjpyZW5kZXJl
ciBhbmQgRG9jdW1lbnQ6OnJlbmRlclZpZXcgYXJlIHRoZSBzYW1lIHRoaW5nLCBidXQgaXQgc2Vl
bXMKKyAgICAgICAgcGVvcGxlIGRvbid0IGFsd2F5cyByZWFsaXplIGl0IGFuZCBjaGVjayBpZiBk
b2N1bWVudCgpLT5yZW5kZXJlcigpIGlzIGEgUmVuZGVyVmlldy4KKworICAgICAgICBUaGlzIHBh
dGNoIGNsZWFucyB1cCB1c2FnZSBvZiBkb2N1bWVudCgpLT5yZW5kZXJlcigpIGFuZCBkb2N1bWVu
dCgpLT5yZW5kZXJWaWV3KCkgYW5kCisgICAgICAgIHNpbXBsaWZpZXMgdGhlIGNvZGUgdGhhdCB3
YXMgd3JpdHRlbiB3aXRob3V0IHJlYWxpemluZyB0aGV5IHdlcmUgdGhlIHNhbWUgdGhpbmcuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLCB0aGlzIGlzIGp1c3QgYSByZWZhY3Rvci4KKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp2aXNpYmxlUG9zaXRpb25Gb3JQ
b2ludCk6IExvdHMgb2Ygc2ltcGxpZmljYXRpb24uCisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2NyZWVuUmVjdCk6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50Ojp1bnJlZ2lzdGVyTmFtZWRGbG93Q29udGVudE5vZGUpOiBSZW1vdmUgdW5u
ZWVkZWQgY29uZGl0aW9uYWwuCisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6
IFJlbW92ZSB2ZXJib3NlIGNhc3RzLgorICAgICAgICAoV2ViQ29yZTo6Y2xlYXJSZW5kZXJWaWV3
U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZWNvbXB1dGVD
YXJldFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FyZXRCYXNlOjppbnZhbGlkYXRlQ2FyZXRS
ZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpmb2N1c2VkT3JBY3RpdmVT
dGF0ZUNoYW5nZWQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWU6OmNvbnRlbnRSZW5kZXJlcik6IFZhc3RseSBzaW1wbGlmaWVkLgorICAgICAgICAq
IHBhZ2UvUHJpbnRDb250ZXh0LmNwcDogUmVtb3ZlIHZlcmJvc2UgY2FzdHMuCisgICAgICAgIChX
ZWJDb3JlOjpQcmludENvbnRleHQ6OmNvbXB1dGVQYWdlUmVjdHMpOgorICAgICAgICAoV2ViQ29y
ZTo6UHJpbnRDb250ZXh0Ojpjb21wdXRlUGFnZVJlY3RzV2l0aFBhZ2VTaXplSW50ZXJuYWwpOgor
ICAgICAgICAqIHBhZ2Uvd2luY2UvRnJhbWVXaW5DRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
b21wdXRlUGFnZVJlY3RzRm9yRnJhbWUpOiBSZW1vdmUgdW5yZWFjaGFibGUgY29kZS4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6bWF4aW1hbE91dGxpbmVTaXplKTogUmVtb3ZlIHZlcmJvc2UgY2FzdC4KKwogMjAx
Mi0xMS0wNyAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbUXRdIEltcGxlbWVudCBkZWxldGVDb29raWUoKSBmb3IgcGVyc2lzdGVudCBzdG9yYWdl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA5MzdlODY5ZDNmNjAxMDNiOTdlMmIyMDZhMDk5ZjU2
MzkwNGQ3MTE5Li44NGNkYWI3NGY0OTljZDU0YjFkNDRlNTk0ZDI2MjViMTRmZGNmZmQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTE4OTEsMjAgKzE4OTEsMTYgQEAgVmlzaWJsZVBvc2l0aW9u
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnZpc2libGVQb3NpdGlvbkZvclBvaW50KGNvbnN0
IEludFBvaW4KIHsKICAgICBpZiAoIW1fcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiBWaXNpYmxl
UG9zaXRpb24oKTsKLSAgICAKKwogICAgIC8vIGNvbnZlcnQgYWJzb2x1dGUgcG9pbnQgdG8gdmll
dyBjb29yZGluYXRlcwotICAgIERvY3VtZW50KiB0b3BEb2MgPSB0b3BEb2N1bWVudCgpOwotICAg
IGlmICghdG9wRG9jIHx8ICF0b3BEb2MtPnJlbmRlcmVyKCkgfHwgIXRvcERvYy0+cmVuZGVyZXIo
KS0+dmlldygpKQotICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7Ci0gICAgCi0gICAg
RnJhbWVWaWV3KiBmcmFtZVZpZXcgPSB0b3BEb2MtPnJlbmRlcmVyKCktPnZpZXcoKS0+ZnJhbWVW
aWV3KCk7Ci0gICAgaWYgKCFmcmFtZVZpZXcpCi0gICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRp
b24oKTsKLSAgICAKICAgICBSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0gdG9wUmVuZGVyZXIoKTsK
ICAgICBpZiAoIXJlbmRlclZpZXcpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsK
LSAgICAKKworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gcmVuZGVyVmlldy0+ZnJhbWVWaWV3
KCk7CisgICAgaWYgKCFmcmFtZVZpZXcpCisgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24o
KTsKKwogICAgIE5vZGUqIGlubmVyTm9kZSA9IDA7CiAgICAgCiAgICAgLy8gbG9jYXRlIHRoZSBu
b2RlIGNvbnRhaW5pbmcgdGhlIHBvaW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMTc5M2Uy
OGNhMTc4YzI5NGYzM2ZmOGM4N2VmZjYzNzk4YzZiZDkzZi4uMDBmYmY4YWQ1ODkwZDNlZWE1YmY5
MGViMmVmOTRhMDY4N2ExY2E1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtNjQ5LDcgKzY0
OSw3IEBAIEludFJlY3QgRWxlbWVudDo6c2NyZWVuUmVjdCgpIGNvbnN0CiAgICAgaWYgKCFyZW5k
ZXJlcigpKQogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogICAgIC8vIEZJWE1FOiB0aGlzIHNo
b3VsZCBwcm9iYWJseSByZXNwZWN0IHRyYW5zZm9ybXMKLSAgICByZXR1cm4gcmVuZGVyZXIoKS0+
dmlldygpLT5mcmFtZVZpZXcoKS0+Y29udGVudHNUb1NjcmVlbihyZW5kZXJlcigpLT5hYnNvbHV0
ZUJvdW5kaW5nQm94UmVjdElnbm9yaW5nVHJhbnNmb3JtcygpKTsKKyAgICByZXR1cm4gZG9jdW1l
bnQoKS0+dmlldygpLT5jb250ZW50c1RvU2NyZWVuKHJlbmRlcmVyKCktPmFic29sdXRlQm91bmRp
bmdCb3hSZWN0SWdub3JpbmdUcmFuc2Zvcm1zKCkpOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wg
c2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZShjb25zdCBFbGVtZW50KiBlKQpAQCAtMTEzMCwxMCAr
MTEzMCw4IEBAIHZvaWQgRWxlbWVudDo6YXR0YWNoKCkKIAogdm9pZCBFbGVtZW50Ojp1bnJlZ2lz
dGVyTmFtZWRGbG93Q29udGVudE5vZGUoKQogewotICAgIGlmIChkb2N1bWVudCgpLT5jc3NSZWdp
b25zRW5hYmxlZCgpICYmIGluTmFtZWRGbG93KCkpIHsKLSAgICAgICAgaWYgKGRvY3VtZW50KCkt
PnJlbmRlcmVyKCkgJiYgZG9jdW1lbnQoKS0+cmVuZGVyZXIoKS0+dmlldygpKQotICAgICAgICAg
ICAgZG9jdW1lbnQoKS0+cmVuZGVyZXIoKS0+dmlldygpLT5mbG93VGhyZWFkQ29udHJvbGxlcigp
LT51bnJlZ2lzdGVyTmFtZWRGbG93Q29udGVudE5vZGUodGhpcyk7Ci0gICAgfQorICAgIGlmIChk
b2N1bWVudCgpLT5jc3NSZWdpb25zRW5hYmxlZCgpICYmIGluTmFtZWRGbG93KCkgJiYgZG9jdW1l
bnQoKS0+cmVuZGVyVmlldygpKQorICAgICAgICBkb2N1bWVudCgpLT5yZW5kZXJWaWV3KCktPmZs
b3dUaHJlYWRDb250cm9sbGVyKCktPnVucmVnaXN0ZXJOYW1lZEZsb3dDb250ZW50Tm9kZSh0aGlz
KTsKIH0KIAogdm9pZCBFbGVtZW50OjpkZXRhY2goKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmNwcAppbmRleCA1NjNhMDY2ODZhMjRjNTVhM2IyNTM4MDE5MjllN2ZhNTQ3
MzEyMGIwLi4yNWIzNzY2N2IzNzlhYTRkMzJlZDFlZjZjMmM4M2ZmYTRhYmQ2MzViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMzM3LDcgKzMzNyw3IEBA
IHN0YXRpYyB2b2lkIGNsZWFyUmVuZGVyVmlld1NlbGVjdGlvbihjb25zdCBQb3NpdGlvbiYgcG9z
aXRpb24pCiB7CiAgICAgUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHBvc2l0aW9uLmFuY2hv
ck5vZGUoKS0+ZG9jdW1lbnQoKTsKICAgICBkb2N1bWVudC0+dXBkYXRlU3R5bGVJZk5lZWRlZCgp
OwotICAgIGlmIChSZW5kZXJWaWV3KiB2aWV3ID0gdG9SZW5kZXJWaWV3KGRvY3VtZW50LT5yZW5k
ZXJlcigpKSkKKyAgICBpZiAoUmVuZGVyVmlldyogdmlldyA9IGRvY3VtZW50LT5yZW5kZXJWaWV3
KCkpCiAgICAgICAgIHZpZXctPmNsZWFyU2VsZWN0aW9uKCk7CiB9CiAKQEAgLTEzNDIsNyArMTM0
Miw3IEBAIGJvb2wgRnJhbWVTZWxlY3Rpb246OnJlY29tcHV0ZUNhcmV0UmVjdCgpCiAgICAgbV9h
YnNvbHV0ZUNhcmV0UmVwYWludEJvdW5kcyA9IGNhcmV0UmVwYWludFJlY3QobV9zZWxlY3Rpb24u
c3RhcnQoKS5kZXByZWNhdGVkTm9kZSgpKTsKIAogI2lmIEVOQUJMRShURVhUX0NBUkVUKQotICAg
IGlmIChSZW5kZXJWaWV3KiB2aWV3ID0gdG9SZW5kZXJWaWV3KG1fZnJhbWUtPmRvY3VtZW50KCkt
PnJlbmRlcmVyKCkpKSB7CisgICAgaWYgKFJlbmRlclZpZXcqIHZpZXcgPSBtX2ZyYW1lLT5kb2N1
bWVudCgpLT5yZW5kZXJWaWV3KCkpIHsKICAgICAgICAgLy8gRklYTUU6IG1ha2UgY2FyZXQgcmVw
YWludGluZyBjb250YWluZXItYXdhcmUuCiAgICAgICAgIHZpZXctPnJlcGFpbnRSZWN0YW5nbGVJ
blZpZXdBbmRDb21wb3NpdGVkTGF5ZXJzKG9sZEFic29sdXRlQ2FyZXRSZXBhaW50Qm91bmRzLCBm
YWxzZSk7CiAgICAgICAgIGlmIChzaG91bGRSZXBhaW50Q2FyZXQodmlldywgaXNDb250ZW50RWRp
dGFibGUoKSkpCkBAIC0xMzgzLDkgKzEzODMsMTEgQEAgdm9pZCBDYXJldEJhc2U6OmludmFsaWRh
dGVDYXJldFJlY3QoTm9kZSogbm9kZSwgYm9vbCBjYXJldFJlY3RDaGFuZ2VkKQogICAgIC8vIGF3
YXkgYWZ0ZXIgY2xpY2tpbmcuCiAgICAgbV9jYXJldFJlY3ROZWVkc1VwZGF0ZSA9IHRydWU7CiAK
LSAgICBpZiAoIWNhcmV0UmVjdENoYW5nZWQpIHsKLSAgICAgICAgUmVuZGVyVmlldyogdmlldyA9
IHRvUmVuZGVyVmlldyhub2RlLT5kb2N1bWVudCgpLT5yZW5kZXJlcigpKTsKLSAgICAgICAgaWYg
KHZpZXcgJiYgc2hvdWxkUmVwYWludENhcmV0KHZpZXcsIG5vZGUtPmlzQ29udGVudEVkaXRhYmxl
KE5vZGU6OlVzZXJTZWxlY3RBbGxJc0Fsd2F5c05vbkVkaXRhYmxlKSkpCisgICAgaWYgKGNhcmV0
UmVjdENoYW5nZWQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChSZW5kZXJWaWV3KiB2aWV3
ID0gbm9kZS0+ZG9jdW1lbnQoKS0+cmVuZGVyVmlldygpKSB7CisgICAgICAgIGlmIChzaG91bGRS
ZXBhaW50Q2FyZXQodmlldywgbm9kZS0+aXNDb250ZW50RWRpdGFibGUoTm9kZTo6VXNlclNlbGVj
dEFsbElzQWx3YXlzTm9uRWRpdGFibGUpKSkKICAgICAgICAgICAgIHZpZXctPnJlcGFpbnRSZWN0
YW5nbGVJblZpZXdBbmRDb21wb3NpdGVkTGF5ZXJzKGNhcmV0UmVwYWludFJlY3Qobm9kZSksIGZh
bHNlKTsKICAgICB9CiB9CkBAIC0xNjUyLDcgKzE2NTQsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9u
Ojpmb2N1c2VkT3JBY3RpdmVTdGF0ZUNoYW5nZWQoKQogICAgIC8vIEJlY2F1c2UgUmVuZGVyT2Jq
ZWN0OjpzZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBhbmQKICAgICAvLyBSZW5kZXJPYmplY3Q6
OnNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigpIGNoZWNrIGlmIHRoZSBmcmFtZSBpcyBhY3RpdmUs
CiAgICAgLy8gd2UgaGF2ZSB0byB1cGRhdGUgcGxhY2VzIHRob3NlIGNvbG9ycyB3ZXJlIHBhaW50
ZWQuCi0gICAgaWYgKFJlbmRlclZpZXcqIHZpZXcgPSB0b1JlbmRlclZpZXcobV9mcmFtZS0+ZG9j
dW1lbnQoKS0+cmVuZGVyZXIoKSkpCisgICAgaWYgKFJlbmRlclZpZXcqIHZpZXcgPSBtX2ZyYW1l
LT5kb2N1bWVudCgpLT5yZW5kZXJWaWV3KCkpCiAgICAgICAgIHZpZXctPnJlcGFpbnRSZWN0YW5n
bGVJblZpZXdBbmRDb21wb3NpdGVkTGF5ZXJzKGVuY2xvc2luZ0ludFJlY3QoYm91bmRzKCkpKTsK
IAogICAgIC8vIENhcmV0IGFwcGVhcnMgaW4gdGhlIGFjdGl2ZSBmcmFtZS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKaW5kZXggYWU4ZjM5NzJhMzFmOGFlZjU5MTQyNGZkY2VjNmRjZWZjOWU0YTJjZC4uN2Yy
ZTc5MmNiMzE1NTM0NWUyZjI0ODU1YTZjYTk3YjExOGEwMWUzNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKQEAgLTYwNywxNCArNjA3LDcgQEAgdm9pZCBGcmFtZTo6aW5qZWN0VXNlclNjcmlwdHNGb3JX
b3JsZChET01XcmFwcGVyV29ybGQqIHdvcmxkLCBjb25zdCBVc2VyU2NyaXB0VmUKIAogUmVuZGVy
VmlldyogRnJhbWU6OmNvbnRlbnRSZW5kZXJlcigpIGNvbnN0CiB7Ci0gICAgRG9jdW1lbnQqIGRv
YyA9IGRvY3VtZW50KCk7Ci0gICAgaWYgKCFkb2MpCi0gICAgICAgIHJldHVybiAwOwotICAgIFJl
bmRlck9iamVjdCogb2JqZWN0ID0gZG9jLT5yZW5kZXJlcigpOwotICAgIGlmICghb2JqZWN0KQot
ICAgICAgICByZXR1cm4gMDsKLSAgICBBU1NFUlQob2JqZWN0LT5pc1JlbmRlclZpZXcoKSk7Ci0g
ICAgcmV0dXJuIHRvUmVuZGVyVmlldyhvYmplY3QpOworICAgIHJldHVybiBkb2N1bWVudCgpID8g
ZG9jdW1lbnQoKS0+cmVuZGVyVmlldygpIDogMDsKIH0KIAogUmVuZGVyUGFydCogRnJhbWU6Om93
bmVyUmVuZGVyZXIoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qcmlu
dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QcmludENvbnRleHQuY3BwCmluZGV4
IGExZDEzOGYzZWRlOWVjNjMyMTIwMmM5ZjYyNGJhNDQwNTk2YjNmZDUuLmVkNjBiNDhlYmNiYTY2
YzMwYzgzMWY2ODg1M2ZjZTk0NGE2OTVkMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUHJpbnRDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ByaW50Q29udGV4
dC5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgdm9pZCBQcmludENvbnRleHQ6OmNvbXB1dGVQYWdlUmVj
dHMoY29uc3QgRmxvYXRSZWN0JiBwcmludFJlY3QsIGZsb2F0IGhlYWRlckhlaWcKICAgICBtX3Bh
Z2VSZWN0cy5jbGVhcigpOwogICAgIG91dFBhZ2VIZWlnaHQgPSAwOwogCi0gICAgaWYgKCFtX2Zy
YW1lLT5kb2N1bWVudCgpIHx8ICFtX2ZyYW1lLT52aWV3KCkgfHwgIW1fZnJhbWUtPmRvY3VtZW50
KCktPnJlbmRlcmVyKCkpCisgICAgaWYgKCFtX2ZyYW1lLT5kb2N1bWVudCgpIHx8ICFtX2ZyYW1l
LT52aWV3KCkgfHwgIW1fZnJhbWUtPmRvY3VtZW50KCktPnJlbmRlclZpZXcoKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKHVzZXJTY2FsZUZhY3RvciA8PSAwKSB7CkBAIC02OCw3ICs2OCw3
IEBAIHZvaWQgUHJpbnRDb250ZXh0Ojpjb21wdXRlUGFnZVJlY3RzKGNvbnN0IEZsb2F0UmVjdCYg
cHJpbnRSZWN0LCBmbG9hdCBoZWFkZXJIZWlnCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBSZW5kZXJWaWV3KiB2aWV3ID0gdG9SZW5kZXJWaWV3KG1fZnJhbWUtPmRvY3VtZW50KCktPnJl
bmRlcmVyKCkpOworICAgIFJlbmRlclZpZXcqIHZpZXcgPSBtX2ZyYW1lLT5kb2N1bWVudCgpLT5y
ZW5kZXJWaWV3KCk7CiAgICAgY29uc3QgSW50UmVjdCYgZG9jdW1lbnRSZWN0ID0gdmlldy0+ZG9j
dW1lbnRSZWN0KCk7CiAgICAgRmxvYXRTaXplIHBhZ2VTaXplID0gbV9mcmFtZS0+cmVzaXplUGFn
ZVJlY3RzS2VlcGluZ1JhdGlvKEZsb2F0U2l6ZShwcmludFJlY3Qud2lkdGgoKSwgcHJpbnRSZWN0
LmhlaWdodCgpKSwgRmxvYXRTaXplKGRvY3VtZW50UmVjdC53aWR0aCgpLCBkb2N1bWVudFJlY3Qu
aGVpZ2h0KCkpKTsKICAgICBmbG9hdCBwYWdlV2lkdGggPSBwYWdlU2l6ZS53aWR0aCgpOwpAQCAt
OTMsMTAgKzkzLDEwIEBAIHZvaWQgUHJpbnRDb250ZXh0Ojpjb21wdXRlUGFnZVJlY3RzV2l0aFBh
Z2VTaXplKGNvbnN0IEZsb2F0U2l6ZSYgcGFnZVNpemVJblBpeGVsCiAKIHZvaWQgUHJpbnRDb250
ZXh0Ojpjb21wdXRlUGFnZVJlY3RzV2l0aFBhZ2VTaXplSW50ZXJuYWwoY29uc3QgRmxvYXRTaXpl
JiBwYWdlU2l6ZUluUGl4ZWxzLCBib29sIGFsbG93SW5saW5lRGlyZWN0aW9uVGlsaW5nKQogewot
ICAgIGlmICghbV9mcmFtZS0+ZG9jdW1lbnQoKSB8fCAhbV9mcmFtZS0+dmlldygpIHx8ICFtX2Zy
YW1lLT5kb2N1bWVudCgpLT5yZW5kZXJlcigpKQorICAgIGlmICghbV9mcmFtZS0+ZG9jdW1lbnQo
KSB8fCAhbV9mcmFtZS0+dmlldygpIHx8ICFtX2ZyYW1lLT5kb2N1bWVudCgpLT5yZW5kZXJWaWV3
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlbmRlclZpZXcqIHZpZXcgPSB0b1JlbmRlclZp
ZXcobV9mcmFtZS0+ZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSk7CisgICAgUmVuZGVyVmlldyogdmll
dyA9IG1fZnJhbWUtPmRvY3VtZW50KCktPnJlbmRlclZpZXcoKTsKIAogICAgIEludFJlY3QgZG9j
UmVjdCA9IHZpZXctPmRvY3VtZW50UmVjdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3dpbmNlL0ZyYW1lV2luQ0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS93aW5jZS9G
cmFtZVdpbkNFLmNwcAppbmRleCAwZThmM2RjMzAxMzUyOGNkNGRkMDlkOGM2ZmQwZWM1MTBhOTQ4
YzVkLi4wOWQ2ZmZiM2I5YmZlZDQ3OTExMDg0Y2Q3NTg5NzllNTlmZWI2ODkzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3dpbmNlL0ZyYW1lV2luQ0UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvd2luY2UvRnJhbWVXaW5DRS5jcHAKQEAgLTU5LDE1ICs1OSwxMCBAQCB2b2lk
IGNvbXB1dGVQYWdlUmVjdHNGb3JGcmFtZShGcmFtZSogZnJhbWUsIGNvbnN0IEludFJlY3QmIHBy
aW50UmVjdCwgZmxvYXQgaGVhZAogICAgIHBhZ2VzLmNsZWFyKCk7CiAgICAgb3V0UGFnZUhlaWdo
dCA9IDA7CiAKLSAgICBpZiAoIWZyYW1lLT5kb2N1bWVudCgpIHx8ICFmcmFtZS0+dmlldygpIHx8
ICFmcmFtZS0+ZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSkKKyAgICBpZiAoIWZyYW1lLT5kb2N1bWVu
dCgpIHx8ICFmcmFtZS0+dmlldygpIHx8ICFmcmFtZS0+ZG9jdW1lbnQoKS0+cmVuZGVyVmlldygp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBSZW5kZXJWaWV3KiByb290ID0gdG9SZW5kZXJWaWV3
KGZyYW1lLT5kb2N1bWVudCgpLT5yZW5kZXJlcigpKTsKLQotICAgIGlmICghcm9vdCkgewotICAg
ICAgICBMT0dfRVJST1IoImRvY3VtZW50IHRvIGJlIHByaW50ZWQgaGFzIG5vIHJlbmRlcmVyIik7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgUmVuZGVyVmlldyogcm9vdCA9IGZyYW1lLT5k
b2N1bWVudCgpLT5yZW5kZXJWaWV3KCk7CiAKICAgICBpZiAodXNlclNjYWxlRmFjdG9yIDw9IDAp
IHsKICAgICAgICAgTE9HX0VSUk9SKCJ1c2VyU2NhbGVGYWN0b3IgaGFzIGJhZCB2YWx1ZSAlLjJm
IiwgdXNlclNjYWxlRmFjdG9yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKaW5kZXggNGJiMGEzZGNkYjMyYTRiNGRmYzRiMjkxNmM5Y2RjYWJiMzcwY2E5Ni4uN2E4
YzNhNzYwYzM0YmQ0ZjYwMmVmOTZiYTAyNGIyYmNhODFiZjIyYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTI4NDEsNyArMjg0MSw3IEBAIGludCBSZW5k
ZXJPYmplY3Q6Om1heGltYWxPdXRsaW5lU2l6ZShQYWludFBoYXNlIHApIGNvbnN0CiB7CiAgICAg
aWYgKHAgIT0gUGFpbnRQaGFzZU91dGxpbmUgJiYgcCAhPSBQYWludFBoYXNlU2VsZk91dGxpbmUg
JiYgcCAhPSBQYWludFBoYXNlQ2hpbGRPdXRsaW5lcykKICAgICAgICAgcmV0dXJuIDA7Ci0gICAg
cmV0dXJuIHRvUmVuZGVyVmlldyhkb2N1bWVudCgpLT5yZW5kZXJlcigpKS0+bWF4aW1hbE91dGxp
bmVTaXplKCk7CisgICAgcmV0dXJuIHZpZXcoKS0+bWF4aW1hbE91dGxpbmVTaXplKCk7CiB9CiAK
IGludCBSZW5kZXJPYmplY3Q6OmNhcmV0TWluT2Zmc2V0KCkgY29uc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>