<?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>94985</bug_id>
          
          <creation_ts>2012-08-24 17:15:07 -0700</creation_ts>
          <short_desc>Compositing and transforms break caret rendering</short_desc>
          <delta_ts>2013-01-22 15:46:46 -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>DUPLICATE</resolution>
          <dup_id>15671</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gregg">gregg</reporter>
          <assigned_to name="Arvid Nilsson">anilsson</assigned_to>
          <cc>anilsson</cc>
    
    <cc>eric</cc>
    
    <cc>Gnanasekar.somanathan</cc>
    
    <cc>gregg</cc>
    
    <cc>jamesr</cc>
    
    <cc>mifenton</cc>
    
    <cc>rniwa</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>704543</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg">gregg</who>
    <bug_when>2012-08-24 17:15:07 -0700</bug_when>
    <thetext>I am seeing repaint issues with transforming elements that have carets. This includes textareas, inputs, and divs (possibly more, but that&apos;s all I&apos;ve tested). Adding the scale3d css property to an element the caret no longer blinks and no longer moves when using the arrow keys. When the arrow keys are moved, the caret DOES actually move, just not visually, since when you type the text appears in the correct spot.

I&apos;ve attached an HTML file that shows the issue. Also, here is a jsfiddle showing the same:

http://jsfiddle.net/galtschul/StbKg/

One thing to point out is that when I scale using scale3d(1.01,1.01,1) the issue does not seem to occur.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704544</commentid>
    <comment_count>1</comment_count>
      <attachid>160527</attachid>
    <who name="Gregg">gregg</who>
    <bug_when>2012-08-24 17:15:51 -0700</bug_when>
    <thetext>Created attachment 160527
html file with the scale3d issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704545</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-24 17:18:46 -0700</bug_when>
    <thetext>Wow.  Not only do we not repaint the caret correctly, but we also repaint the whole screen each blink. :(

Thanks for the bug!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704547</commentid>
    <comment_count>3</comment_count>
    <who name="Gregg">gregg</who>
    <bug_when>2012-08-24 17:19:56 -0700</bug_when>
    <thetext>No problem. Glad I could help!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704563</commentid>
    <comment_count>4</comment_count>
    <who name="Gregg">gregg</who>
    <bug_when>2012-08-24 17:39:01 -0700</bug_when>
    <thetext>I just found that the same problem happens with the translate3d function. See attached file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704564</commentid>
    <comment_count>5</comment_count>
      <attachid>160530</attachid>
    <who name="Gregg">gregg</who>
    <bug_when>2012-08-24 17:40:17 -0700</bug_when>
    <thetext>Created attachment 160530
html file with the translate3d issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705537</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-27 12:44:13 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 15671 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705544</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-27 12:48:43 -0700</bug_when>
    <thetext>Does that mean this is fixed?  The issue reproduces for me on Chromium-dev channel (as noted in comment #2).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705545</commentid>
    <comment_count>8</comment_count>
    <who name="Gregg">gregg</who>
    <bug_when>2012-08-27 12:49:27 -0700</bug_when>
    <thetext>How is this a duplicate? The original one is marked as resolved, but based on my examples it is very clearly not resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705546</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-27 12:49:59 -0700</bug_when>
    <thetext>Oh, sorry, no. I meant to dup to 18751, but there could be two different issues here:
a) caret under software transform
b) caret in compositing layers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705547</commentid>
    <comment_count>10</comment_count>
    <who name="Gregg">gregg</who>
    <bug_when>2012-08-27 12:54:40 -0700</bug_when>
    <thetext>But, with respect to the caret issues, it looks like 18751 ultimately links back to 15671 in the end anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705552</commentid>
    <comment_count>11</comment_count>
      <attachid>160786</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-27 13:04:32 -0700</bug_when>
    <thetext>Created attachment 160786
Another testcase

Issue appears to be when a composited layer has a non-identity transform. Note the half-caret in the lower pair of form controls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705553</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-08-27 13:05:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/12181912&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705557</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-27 13:09:56 -0700</bug_when>
    <thetext>void RenderLayerCompositor::recursiveRepaintLayerRect(RenderLayer* layer, const IntRect&amp; rect)
{
    // FIXME: This method does not work correctly with transforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705559</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-27 13:11:34 -0700</bug_when>
    <thetext>Caret repainting is pretty sucking; it invalidates the window and all compositing layers that intersect the caret rectangle. We should try harder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745733</commentid>
    <comment_count>15</comment_count>
      <attachid>169506</attachid>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2012-10-18 16:42:51 -0700</bug_when>
    <thetext>Created attachment 169506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745736</commentid>
    <comment_count>16</comment_count>
      <attachid>169506</attachid>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2012-10-18 16:45:25 -0700</bug_when>
    <thetext>Comment on attachment 169506
Patch

This patch doesn&apos;t have test cases, proper commit msg etc, so the r? isn&apos;t really appropriate. I&apos;m happy to hear your feedback though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745749</commentid>
    <comment_count>17</comment_count>
      <attachid>169506</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-18 16:54:04 -0700</bug_when>
    <thetext>Comment on attachment 169506
Patch

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

Approach seems OK. Would be nice to eliminate repaintRectangleInViewAndCompositedLayers() if we can.

&gt; Source/WebCore/editing/FrameSelection.cpp:1331
&gt; +        container = caretPainter-&gt;enclosingLayer()-&gt;enclosingCompositingLayer();

You should use RenderObject::containerForRepaint().

&gt; Source/WebCore/editing/FrameSelection.cpp:1350
&gt; +            container-&gt;setBackingNeedsRepaintInRect(oldContainerCaretRepaintBounds);

This should call container-&gt;repaintUsingContainer(container, oldContainerCaretRepaintBounds).

&gt; Source/WebCore/editing/FrameSelection.cpp:1354
&gt; +                container-&gt;setBackingNeedsRepaintInRect(m_containerCaretRepaintBounds);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745759</commentid>
    <comment_count>18</comment_count>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2012-10-18 17:05:00 -0700</bug_when>
    <thetext>Thanks for your feedback! Getting rid of repaintRectangleInViewAndCompositedLayers should be possible, thanks to containerForRepaint/repaintUsingContainer which I just learned about, it generalizes to the non-composited case.

I&apos;ll be back another day with a better patch and some layouttest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763848</commentid>
    <comment_count>19</comment_count>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2012-11-11 09:09:38 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Caret repainting is pretty sucking; it invalidates the window and all compositing layers that intersect the caret rectangle. We should try harder.

Hi there! I&apos;ve been thinking about this for some time now, and I would like to ask for your feedback on the idea to make the caret a separate AC layer on ports that support AC (which are the only ones that are going to run into this bug)

Benefits:
1. Faster painting (well, because there is no painting, only compositing) - not even the containing layer needs to be repainted. This can be used to add the blinking effect (in BlackBerry&apos;s case, even with fading) without having to pay a penalty in continuous repaints.
2. When the caret moves, no need to repaint the container where the caret was, just move the caret AC layer to the new container.

Drawbacks:
1. The caret could be painted in front of content it was really supposed to be behind. I don&apos;t have enough insight into when layers are created to say if this is a big problem - hopefully the thing in front of it will be a separate layer.

I didn&apos;t intend for the caret to force the creation of layers by itself - it would only be added to the container&apos;s containing AC layer (which might be the root layer actually). This could augment the effect of Drawback 2 because content in front of the caret would not be forced to have a layer.

This could be done similar to the scrollbar layers (every RenderLayerCompositor has one), or it could be a layer that the FrameSelection class owns, and that it moves from layer to layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813491</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-22 15:45:00 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 15671 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813496</commentid>
    <comment_count>21</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-22 15:46:46 -0800</bug_when>
    <thetext>Bug 103955 also fixed some caret issues.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>160527</attachid>
            <date>2012-08-24 17:15:51 -0700</date>
            <delta_ts>2012-08-24 17:16:10 -0700</delta_ts>
            <desc>html file with the scale3d issue</desc>
            <filename>scaleIssue.html</filename>
            <type>text/html</type>
            <size>469</size>
            <attacher name="Gregg">gregg</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgoKPGhlYWQ+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CnRl
eHRhcmVhIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfQpkaXYgewogICAgd2lkdGg6IDEw
MHB4OwogICAgaGVpZ2h0OiAyMDBweDsKICAgIG1hcmdpbi1sZWZ0OiA1MHB4OwogICAgbWFyZ2lu
LXRvcDogMTAwcHg7CiAgICBib3JkZXI6IHNvbGlkIGJsYWNrOwogICAgLXdlYmtpdC10cmFuc2Zv
cm06c2NhbGUzZCgwLjUsMC41LDEpOwp9Cjwvc3R5bGU+CjwvaGVhZD4KCjxib2R5PgoKPGRpdiBp
ZD0idGVzdCI+CiAgICA8dGV4dGFyZWE+PC90ZXh0YXJlYT4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0
IiAvPgo8L2Rpdj4KPGJyIC8+PGJyIC8+PGJyIC8+PGJyIC8+PGJyIC8+PGJyIC8+PGJyIC8+PGJy
IC8+PGJyLz48YnIvPgo8ZGl2IGlkPSJjZSIgY29udGVudGVkaXRhYmxlPSJ0cnVlIiAvPgoKPC9i
b2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>160530</attachid>
            <date>2012-08-24 17:40:17 -0700</date>
            <delta_ts>2012-08-27 12:56:15 -0700</delta_ts>
            <desc>html file with the translate3d issue</desc>
            <filename>translateIssue.html</filename>
            <type>text/html</type>
            <size>479</size>
            <attacher name="Gregg">gregg</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgoKPGhlYWQ+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CnRl
eHRhcmVhIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfQpkaXYgewogICAgd2lkdGg6IDEw
MHB4OwogICAgaGVpZ2h0OiAyMDBweDsKICAgIG1hcmdpbi1sZWZ0OiA1MHB4OwogICAgbWFyZ2lu
LXRvcDogMTAwcHg7CiAgICBib3JkZXI6IHNvbGlkIGJsYWNrOwogICAgLXdlYmtpdC10cmFuc2Zv
cm06dHJhbnNsYXRlM2QoMTAwcHgsMTAwcHgsMHB4KTsKfQo8L3N0eWxlPgo8L2hlYWQ+Cgo8Ym9k
eT4KCjxkaXYgaWQ9InRlc3QiPgogICAgPHRleHRhcmVhPjwvdGV4dGFyZWE+CiAgICA8aW5wdXQg
dHlwZT0idGV4dCIgLz4KPC9kaXY+CjxiciAvPjxiciAvPjxiciAvPjxiciAvPjxiciAvPjxiciAv
PjxiciAvPjxiciAvPjxici8+PGJyLz4KPGRpdiBpZD0iY2UiIGNvbnRlbnRlZGl0YWJsZT0idHJ1
ZSIgLz4KCjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>160786</attachid>
            <date>2012-08-27 13:04:32 -0700</date>
            <delta_ts>2012-08-27 13:04:32 -0700</delta_ts>
            <desc>Another testcase</desc>
            <filename>caret-transforms.html</filename>
            <type>text/html</type>
            <size>686</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KPGhlYWQ+CiAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
IG1lZGlhPSJzY3JlZW4iPgogICAgICAgIC5ib3ggewogICAgICAgICAgICB3aWR0aDogMzAwcHg7
CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOwogICAgICAgICAgICBtYXJnaW46
IDEwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgfQogICAgICAgIAogICAg
ICAgIC50cmFuc2Zvcm1lZCB7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUo
MTBkZWcpOwogICAgICAgIH0KCiAgICAgICAgLmNvbXBvc2l0ZWQgewogICAgICAgICAgICAtd2Vi
a2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgN3B4LCAwKTsKICAgICAgICB9CiAgICA8L3N0
eWxlPgo8L2hlYWQ+Cjxib2R5PgogICAgPGRpdiBjbGFzcz0idHJhbnNmb3JtZWQgYm94Ij4KICAg
ICAgICA8cD5UcmFuc2Zvcm1lZDwvcD4KICAgICAgICA8dGV4dGFyZWE+PC90ZXh0YXJlYT48YnI+
PGlucHV0IHR5cGU9InRleHQiPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iY29tcG9zaXRl
ZCBib3giPgogICAgICAgIDxwPlRyYW5zZm9ybWVkPC9wPgogICAgICAgIDx0ZXh0YXJlYT48L3Rl
eHRhcmVhPjxicj48aW5wdXQgdHlwZT0idGV4dCI+CiAgICA8L2Rpdj4KCjwvYm9keT4KPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169506</attachid>
            <date>2012-10-18 16:42:51 -0700</date>
            <delta_ts>2012-10-18 16:54:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94985-20121019014134.patch</filename>
            <type>text/plain</type>
            <size>4228</size>
            <attacher name="Arvid Nilsson">anilsson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODEzY2Y0MjczYjZlMmYy
MzcyODNhMTcyNzI1MTE0YzAwMjM4MzFiOC4uNjk0ZjkxOWE0MGJmZTQ1YTE1NGE4YWY0ZGUyM2Rm
NDE4MTMwNjVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEwLTE4ICBBcnZp
ZCBOaWxzc29uICA8YW5pbHNzb25AcmltLmNvbT4KKworICAgICAgICBDb21wb3NpdGluZyBhbmQg
dHJhbnNmb3JtcyBicmVhayBjYXJldCByZW5kZXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQSBmaXJzdCBzdGFiIGF0IHRoaXMsIHRvIHNlZSBpZiBh
bnlvbmUgaGFzIGNvbW1lbnRzIG9uIHRoaXMgYXBwcm9hY2guCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZWNvbXB1dGVDYXJldFJlY3QpOgorICAg
ICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKwogMjAxMi0xMC0xNSAgSm9uYXRoYW4g
RG9uZyAgPGpvbmF0aGFuLmRvbmdAdG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAgICAgIFtCbGFj
a0JlcnJ5XSByZXBsYWNlIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coKSB3aXRoIEJCTE9HKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKaW5kZXggNDBjYTIwN2U5
NDdmNDM3ZTliYmNmMjBiNGJjNDJjMzQ3MjI0MTRlYS4uYjRiMDYxMTYxZTg5MjM3MDJjMDY2MDcw
MmIxMTNiYmJiNTc4YWQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFt
ZVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHAKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlICJJbmxpbmVUZXh0Qm94LmgiCiAjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2wu
aCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgpAQCAtMTMyMCwxMiArMTMyMSwzOCBAQCBib29s
IEZyYW1lU2VsZWN0aW9uOjpyZWNvbXB1dGVDYXJldFJlY3QoKQogICAgIC8vIFdlIGJlbGlldmUg
dGhhdCB3ZSBuZWVkIHRvIGluZmxhdGUgdGhlIGxvY2FsIHJlY3QgYmVmb3JlIHRyYW5zZm9ybWlu
ZyBpdCB0byBvYnRhaW4gdGhlIHJlcGFpbnQgYm91bmRzLgogICAgIG1fYWJzb2x1dGVDYXJldFJl
cGFpbnRCb3VuZHMgPSBjYXJldFJlcGFpbnRSZWN0KG1fc2VsZWN0aW9uLnN0YXJ0KCkuZGVwcmVj
YXRlZE5vZGUoKSk7CiAKKyAgICAvLyBJZiBpdCB3YXMgYSBkaWZmZXJlbnQgY29udGFpbmVyLCB0
aGF0IGRvZXNuJ3QgbWF0dGVyIG11Y2ggLSB0aGUgb2xkIGNvbnRhaW5lciBob3BlZnVsbHkgaGFz
CisgICAgLy8gYWxyZWFkeSBiZWVuIGludmFsaWRhdGVkIGR1ZSB0byB3aGF0ZXZlciB0cmFuc2Zl
cnJlZCB0aGUgY2FyZXQgdG8gdGhlIG5ldyBjb250YWluZXIsCisgICAgLy8gZS5nIGxvc2luZyBm
b2N1cywgYW5kIHdlJ2xsIGp1c3QgaW52YWxpZGF0ZSBzb21lIGJvZ3VzIHJlY3QuCisgICAgSW50
UmVjdCBvbGRDb250YWluZXJDYXJldFJlcGFpbnRCb3VuZHMgPSBtX2NvbnRhaW5lckNhcmV0UmVw
YWludEJvdW5kczsKKyAgICBSZW5kZXJMYXllciogY29udGFpbmVyID0gMDsKKyAgICBtX2NvbnRh
aW5lckNhcmV0UmVwYWludEJvdW5kcyA9IEludFJlY3QoKTsKKyAgICBpZiAoUmVuZGVyT2JqZWN0
KiBjYXJldFBhaW50ZXIgPSBjYXJldFJlbmRlcmVyKCkpIHsKKyAgICAgICAgY29udGFpbmVyID0g
Y2FyZXRQYWludGVyLT5lbmNsb3NpbmdMYXllcigpLT5lbmNsb3NpbmdDb21wb3NpdGluZ0xheWVy
KCk7CisgICAgICAgIGlmIChjb250YWluZXIpIHsKKyAgICAgICAgICAgIExheW91dFJlY3QgbG9j
YWxSZWN0KGxvY2FsQ2FyZXRSZWN0V2l0aG91dFVwZGF0ZSgpKTsKKyAgICAgICAgICAgIGlmIChj
YXJldFBhaW50ZXItPmlzQm94KCkpCisgICAgICAgICAgICAgICAgdG9SZW5kZXJCb3goY2FyZXRQ
YWludGVyKS0+ZmxpcEZvcldyaXRpbmdNb2RlKGxvY2FsUmVjdCk7CisKKyAgICAgICAgICAgIEZs
b2F0UXVhZCBxdWFkID0gY2FyZXRQYWludGVyLT5sb2NhbFRvQ29udGFpbmVyUXVhZChGbG9hdFJl
Y3QobG9jYWxSZWN0KSwgY29udGFpbmVyLT5yZW5kZXJlcigpLCBmYWxzZSk7CisgICAgICAgICAg
ICBtX2NvbnRhaW5lckNhcmV0UmVwYWludEJvdW5kcyA9IHF1YWQuZW5jbG9zaW5nQm91bmRpbmdC
b3goKTsKKworICAgICAgICAgICAgLy8gQ2xlYXIgdGhpcyB0byBtYWtlIHN1cmUgd2UgdXNlIHRo
ZSBjb250YWluZXIgY29kZSBwYXRoIGZvciB0aGUgbmV4dCBzdGVwCisgICAgICAgICAgICBtX2Fi
c29sdXRlQ2FyZXRSZXBhaW50Qm91bmRzID0gSW50UmVjdCgpOworICAgICAgICB9CisgICAgfQor
CiAjaWYgRU5BQkxFKFRFWFRfQ0FSRVQpCiAgICAgaWYgKFJlbmRlclZpZXcqIHZpZXcgPSB0b1Jl
bmRlclZpZXcobV9mcmFtZS0+ZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSkpIHsKLSAgICAgICAgLy8g
RklYTUU6IG1ha2UgY2FyZXQgcmVwYWludGluZyBjb250YWluZXItYXdhcmUuCisKICAgICAgICAg
dmlldy0+cmVwYWludFJlY3RhbmdsZUluVmlld0FuZENvbXBvc2l0ZWRMYXllcnMob2xkQWJzb2x1
dGVDYXJldFJlcGFpbnRCb3VuZHMsIGZhbHNlKTsKLSAgICAgICAgaWYgKHNob3VsZFJlcGFpbnRD
YXJldCh2aWV3LCBpc0NvbnRlbnRFZGl0YWJsZSgpKSkKKyAgICAgICAgaWYgKGNvbnRhaW5lciAm
JiAhb2xkQ29udGFpbmVyQ2FyZXRSZXBhaW50Qm91bmRzLmlzRW1wdHkoKSkKKyAgICAgICAgICAg
IGNvbnRhaW5lci0+c2V0QmFja2luZ05lZWRzUmVwYWludEluUmVjdChvbGRDb250YWluZXJDYXJl
dFJlcGFpbnRCb3VuZHMpOworICAgICAgICBpZiAoc2hvdWxkUmVwYWludENhcmV0KHZpZXcsIGlz
Q29udGVudEVkaXRhYmxlKCkpKSB7CiAgICAgICAgICAgICB2aWV3LT5yZXBhaW50UmVjdGFuZ2xl
SW5WaWV3QW5kQ29tcG9zaXRlZExheWVycyhtX2Fic29sdXRlQ2FyZXRSZXBhaW50Qm91bmRzLCBm
YWxzZSk7CisgICAgICAgICAgICBpZiAoY29udGFpbmVyICYmICFtX2NvbnRhaW5lckNhcmV0UmVw
YWludEJvdW5kcy5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgY29udGFpbmVyLT5zZXRCYWNr
aW5nTmVlZHNSZXBhaW50SW5SZWN0KG1fY29udGFpbmVyQ2FyZXRSZXBhaW50Qm91bmRzKTsKKyAg
ICAgICAgfQogICAgIH0KICNlbmRpZgogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9GcmFtZVNlbGVjdGlvbi5oCmluZGV4IGEwY2UwNTk5MTU2YmQ3Mjk5NjkwNzFhODNlZTRm
OTk5NDc5ZGViMTMuLjcxMDYwMDg2YWI4OGJhMWUzOTEzNzM2M2Y3MzIyY2Q5OGUzNTc5YjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKQEAgLTMwOCw2ICszMDgsNyBA
QCBwcml2YXRlOgogICAgIEludFJlY3QgbV9hYnNDYXJldEJvdW5kczsKICAgICAvLyBTaW1pbGFy
IHRvIGFib3ZlLCBidXQgaW5mbGF0ZWQgdG8gZW5zdXJlIHByb3BlciByZXBhaW50IChzZWUgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDg2KQogICAgIEludFJlY3Qg
bV9hYnNvbHV0ZUNhcmV0UmVwYWludEJvdW5kczsKKyAgICBJbnRSZWN0IG1fY29udGFpbmVyQ2Fy
ZXRSZXBhaW50Qm91bmRzOwogICAgIGJvb2wgbV9hYnNDYXJldEJvdW5kc0RpcnR5IDogMTsKICAg
ICBib29sIG1fY2FyZXRQYWludCA6IDE7CiAgICAgYm9vbCBtX2lzQ2FyZXRCbGlua2luZ1N1c3Bl
bmRlZCA6IDE7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>