<?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>68733</bug_id>
          
          <creation_ts>2011-09-23 14:43:04 -0700</creation_ts>
          <short_desc>REGRESSION (r95239): [chromium] Twitter.com now extremely slow from border-radius clips.</short_desc>
          <delta_ts>2013-04-08 13:53:26 -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>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>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>plaes</cc>
    
    <cc>rniwa</cc>
    
    <cc>robert</cc>
    
    <cc>schenney</cc>
    
    <cc>tomhudson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>472511</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-09-23 14:43:04 -0700</bug_when>
    <thetext>Twitter.com is now extremely slow from border radius clips. Pushing these clips is correct, but due to the large number of layers on a twitter.com page, we need to find a way to make the performance better.

An optimization idea I had is to start treating layers whose children all will respect their clips more like transform layers. Basically we could start by extending to cover positioned and relative positioned ancestor layers as long as they contain no fixed positioned descendants and establish a stacking context.

This may not be good enough, though, since we might need to handle the case where an object doesn&apos;t establish a stacking context. That&apos;s the really hard case that we may have to figure out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472518</commentid>
    <comment_count>1</comment_count>
      <attachid>108541</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-09-23 14:49:33 -0700</bug_when>
    <thetext>Created attachment 108541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472520</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-09-23 14:50:21 -0700</bug_when>
    <thetext>Attached a patch. Feel free to try it out on Chromium and report if it makes Twitter ok again for you. I&apos;ll need to refine it to not do this is fixed positioned objects are present before it will be correct, but let&apos;s find out if it works well enough first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472528</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-09-23 14:57:42 -0700</bug_when>
    <thetext>Note that performance isn&apos;t that bad in Safari using CG, so this does lead me to suspect that there is room for optimization in Skia when rounded rect clips are applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472928</commentid>
    <comment_count>4</comment_count>
      <attachid>108541</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-25 17:12:36 -0700</bug_when>
    <thetext>Comment on attachment 108541
Patch

Attachment 108541 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9841728

New failing tests:
svg/custom/inline-svg-in-xhtml.xml
fast/backgrounds/positioned-root.html
fast/backgrounds/table-root.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474052</commentid>
    <comment_count>5</comment_count>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2011-09-27 10:30:37 -0700</bug_when>
    <thetext>It looks like this gets scrolling on many-layered sites back up to 20 FPS on Chromium, which is a much better place to be than below 1. Can we pursue this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477819</commentid>
    <comment_count>6</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-10-04 12:01:39 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; It looks like this gets scrolling on many-layered sites back up to 20 FPS on Chromium, which is a much better place to be than below 1. Can we pursue this change?

Glad to hear it improves things.

The patch needs to be extended so that RenderLayers start tracking all fixed positioned objects that they contain in their subtrees. If that count is non-zero, then this optimization has to be turned off. That&apos;s the reason (presumably) that the three layout tests are failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480724</commentid>
    <comment_count>7</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-10-09 11:39:21 -0700</bug_when>
    <thetext>Chromium bug tracking the issue there:

http://code.google.com/p/chromium/issues/detail?id=97716

Note that it&apos;s trivial to apply a workaround on Chromium only to revert the bug fix in the function that applies the clip. Just don&apos;t make it apply rounded clips for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481084</commentid>
    <comment_count>8</comment_count>
      <attachid>110386</attachid>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2011-10-10 12:56:24 -0700</bug_when>
    <thetext>Created attachment 110386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481087</commentid>
    <comment_count>9</comment_count>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2011-10-10 13:00:47 -0700</bug_when>
    <thetext>First cut of what I think Dave Hyatt is suggesting in comments #2 &amp; #5. Deserves more testing. Uploaded because I can&apos;t reproduce the same set of LayoutTest failures locally that the bots reported in comment #4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481210</commentid>
    <comment_count>10</comment_count>
      <attachid>110386</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-10 15:14:58 -0700</bug_when>
    <thetext>Comment on attachment 110386
Patch

Attachment 110386 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10027060

New failing tests:
svg/custom/inline-svg-in-xhtml.xml
fast/backgrounds/positioned-root.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481655</commentid>
    <comment_count>11</comment_count>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2011-10-11 08:57:43 -0700</bug_when>
    <thetext>Because my first attempt to implement Dave&apos;s suggestions didn&apos;t fix the layout test issues, I&apos;ve created https://bugs.webkit.org/show_bug.cgi?id=69844 to roll out the change for Chromium only until we have a handle on the performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484228</commentid>
    <comment_count>12</comment_count>
      <attachid>111064</attachid>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2011-10-14 13:17:20 -0700</bug_when>
    <thetext>Created attachment 111064
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484230</commentid>
    <comment_count>13</comment_count>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2011-10-14 13:18:55 -0700</bug_when>
    <thetext>Dave, that previous version had at least one logic error that I think I&apos;ve corrected. However, two of the layout tests that your initial cut had trouble with are still failing. Is what I&apos;m doing what you thought needed to be done?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484286</commentid>
    <comment_count>14</comment_count>
      <attachid>111064</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-14 14:19:14 -0700</bug_when>
    <thetext>Comment on attachment 111064
Patch

Attachment 111064 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10068450

New failing tests:
svg/custom/inline-svg-in-xhtml.xml
fast/repaint/fixed-scale.html
fast/backgrounds/positioned-root.html
fast/repaint/fixed-tranformed.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484568</commentid>
    <comment_count>15</comment_count>
      <attachid>111064</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-10-15 04:17:13 -0700</bug_when>
    <thetext>Comment on attachment 111064
Patch

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

You forgot the changelog!

&gt; Source/WebCore/rendering/RenderLayer.cpp:4347
&gt; +        layer-&gt;m_fixedPositionedObjectsInSubtree -= delta;

If the delta is -1, won&apos;t this increment the count? If not, or it that&apos;s the intention, then the code needs more comments!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518007</commentid>
    <comment_count>16</comment_count>
      <attachid>111064</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-12-08 18:18:00 -0800</bug_when>
    <thetext>Comment on attachment 111064
Patch

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

r- as the patch does not pass the tests and contains several errors in the logic. It would also be really nice to add a performance test for this bug (if that&apos;s possible).

&gt; Source/WebCore/rendering/RenderLayer.cpp:2642
&gt; +    if (paintFlags &amp; RenderLayer::PaintLayerAppliedTransform)

This can be replaced with a boolean at the call site (paintFlags &amp; PaintLayerAppliedTransform). Now if you take the paintsWithTransform() check out and transform() out of shouldApplyHitTestTransform, your functions are equivalent. Unless the ordering is important for performance (you need a comment about that then) that I missed here.

&gt; Source/WebCore/rendering/RenderLayer.cpp:4219
&gt; +        &amp;&amp; oldStyle &amp;&amp; oldStyle-&gt;position() == FixedPosition) {

Those 2 if&apos;s are not the negation of one another. This line should be:

|| (oldStyle &amp;&amp; oldStyle-&gt;position() == FixedPosition) {

To make the code more readable, please use some boolean variables. For example, this would be a lot easier to read:

bool isFixedPositionedLayer = renderer()-&gt;style()-&gt;position() == FixedPosition;
bool wasFixedPositionedLayer = oldStyle &amp;&amp; oldStyle-&gt;position() == FixedPosition;

if (isFixedPosition != wasFixedPosition) { ... }

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:4347
&gt;&gt; +        layer-&gt;m_fixedPositionedObjectsInSubtree -= delta;
&gt; 
&gt; If the delta is -1, won&apos;t this increment the count? If not, or it that&apos;s the intention, then the code needs more comments!

It looks like the logic is backwards here. You would like your delta to be added to your count not to be subtracted.

&gt; Source/WebCore/rendering/RenderLayer.h:806
&gt; +    int m_fixedPositionedObjectsInSubtree;

I really wonder if using a boolean would not make the whole logic better (also make us use less memory). You just need to know if you have *one* fixed descendant, not really the exact number. It should be renamed to m_hasFixedPositionedDescendant in this case (or an equivalent name).

If that&apos;s not possible, the field should be unsigned as we don&apos;t expect it to be negative. A better name would be m_fixedPositionedDescendantCount.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527986</commentid>
    <comment_count>17</comment_count>
      <attachid>111064</attachid>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2011-12-29 11:24:15 -0800</bug_when>
    <thetext>Comment on attachment 111064
Patch

Thanks for the reviews, but with the responsible person ignoring the bug I&apos;m marking my attempted patches obsolete. Chromium should be able to support the inefficient version early in the new year.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871149</commentid>
    <comment_count>18</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2013-04-08 13:53:26 -0700</bug_when>
    <thetext>This was otherwise resolved.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108541</attachid>
            <date>2011-09-23 14:49:33 -0700</date>
            <delta_ts>2011-10-10 12:56:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>1523</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAkocmV2aXNpb24g
OTU4NTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNjU2LDcgKzI2NTYsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExh
eWVyKFJlbmRlckxheWVyCiAgICAgICAgIHBhaW50RmxhZ3MgfD0gUGFpbnRMYXllckhhdmVUcmFu
c3BhcmVuY3k7CiAKICAgICAvLyBBcHBseSBhIHRyYW5zZm9ybSBpZiB3ZSBoYXZlIG9uZS4gIEEg
cmVmbGVjdGlvbiBpcyBjb25zaWRlcmVkIHRvIGJlIGEgdHJhbnNmb3JtLCBzaW5jZSBpdCBpcyBh
IGZsaXAgYW5kIGEgdHJhbnNsYXRlLgotICAgIGlmIChwYWludHNXaXRoVHJhbnNmb3JtKHBhaW50
QmVoYXZpb3IpICYmICEocGFpbnRGbGFncyAmIFBhaW50TGF5ZXJBcHBsaWVkVHJhbnNmb3JtKSkg
eworICAgIGlmICgocGFpbnRzV2l0aFRyYW5zZm9ybShwYWludEJlaGF2aW9yKSB8fCAoaXNTdGFj
a2luZ0NvbnRleHQoKSAmJiAocmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkgfHwgcmVuZGVyZXIo
KS0+aXNSZWxQb3NpdGlvbmVkKCkpKSkgJiYgIShwYWludEZsYWdzICYgUGFpbnRMYXllckFwcGxp
ZWRUcmFuc2Zvcm0pKSB7CiAgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGxheWVyVHJhbnNm
b3JtID0gcmVuZGVyYWJsZVRyYW5zZm9ybShwYWludEJlaGF2aW9yKTsKICAgICAgICAgLy8gSWYg
dGhlIHRyYW5zZm9ybSBjYW4ndCBiZSBpbnZlcnRlZCwgdGhlbiBkb24ndCBwYWludCBhbnl0aGlu
Zy4KICAgICAgICAgaWYgKCFsYXllclRyYW5zZm9ybS5pc0ludmVydGlibGUoKSkKQEAgLTMwOTEs
NyArMzA5MSw3IEBAIFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6aGl0VGVzdExheWVyKFIKICAg
ICBMYXlvdXRSZWN0IGhpdFRlc3RBcmVhID0gcmVzdWx0LnJlY3RGb3JQb2ludChoaXRUZXN0UG9p
bnQpOwogCiAgICAgLy8gQXBwbHkgYSB0cmFuc2Zvcm0gaWYgd2UgaGF2ZSBvbmUuCi0gICAgaWYg
KHRyYW5zZm9ybSgpICYmICFhcHBsaWVkVHJhbnNmb3JtKSB7CisgICAgaWYgKCh0cmFuc2Zvcm0o
KSB8fCAoaXNTdGFja2luZ0NvbnRleHQoKSAmJiAocmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkg
fHwgcmVuZGVyZXIoKS0+aXNSZWxQb3NpdGlvbmVkKCkpKSkgJiYgIWFwcGxpZWRUcmFuc2Zvcm0p
IHsKICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBwYXJlbnQncyBjbGlwIHJlY3RzIGhhdmUgYmVl
biBjYWxjdWxhdGVkLgogICAgICAgICBpZiAocGFyZW50KCkpIHsKICAgICAgICAgICAgIENsaXBS
ZWN0IGNsaXBSZWN0ID0gYmFja2dyb3VuZENsaXBSZWN0KHJvb3RMYXllciwgdXNlVGVtcG9yYXJ5
Q2xpcFJlY3RzLCBJbmNsdWRlT3ZlcmxheVNjcm9sbGJhclNpemUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110386</attachid>
            <date>2011-10-10 12:56:24 -0700</date>
            <delta_ts>2011-10-14 13:17:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68733-20111010155622.patch</filename>
            <type>text/plain</type>
            <size>7208</size>
            <attacher name="Tom Hudson">tomhudson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk3MDc0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMTAtMTAgIFRvbSBIdWRz
b24gIDx0b21odWRzb25AZ29vZ2xlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyOTUyMzkp
OiBbY2hyb21pdW1dIFR3aXR0ZXIuY29tIG5vdyBleHRyZW1lbHkgc2xvdyBmcm9tIGJvcmRlci1y
YWRpdXMgY2xpcHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02ODczMworCisgICAgICAgIEF2b2lkcyBib3JkZXIgcmFkaXVzIGNsaXBwaW5nIHNsb3cg
cGF0aCBpZiB0aGVyZSBhcmUgbm8gZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cworICAgICAgICBp
biB0aGUgUmVuZGVyTGF5ZXIncyBzdWJ0cmVlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpSZW5kZXJMYXllcik6IEluaXRpYWxpemUgY291bnQgdG8gMC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjp+UmVuZGVyTGF5ZXIpOiBDbGVhbiB1cCBjb3VudCBpbiBwYXJlbnRzLgor
ICAgICAgICAoV2ViQ29yZTo6ZXF1aXZhbGVudFRvVHJhbnNmb3JtTGF5ZXIpOiBFbmNhcHN1bGF0
ZSBsb2dpYyB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3Qgd2Ugc2hvdWxkIHNraXAgCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllcik6IEFkZHMgZXF1aXZhbGVudFRv
VHJhbnNmb3JtTGF5ZXIoKSB0byB0ZXN0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OmhpdFRlc3RMYXllcik6IEFkZHMgZXF1aXZhbGVudFRvVHJhbnNmb3JtTGF5ZXIoKSB0byB0ZXN0
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNldFBhcmVudCk6IE1haW50YWlucyBj
b3VudCBvZiBmaXhlZCBwb3NpdGlvbmVkIG9iamVjdHMuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6c3R5bGVDaGFuZ2VkKTogZGl0dG8KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpwcm9wYWdhdGVGaXhlZFBvc2l0aW9uZWRPYmplY3RzQ291bnQpOiBMZXRzIHBhcmVudCBs
YXllcnMga25vdyBhYm91dCBjaGFuZ2VzIGluIG91ciBzdWJ0cmVlLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmZpeGVk
UG9zaXRpb25lZE9iamVjdHNJblN1YnRyZWUpOgorCiAyMDExLTEwLTEwICBBYmhpc2hlayBBcnlh
ICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSGFuZGxlIGluc2VydGlvbiBpbnRv
IGFuIGFub255bW91cyB0YWJsZSBwYXJ0IHRoYXQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcAkocmV2aXNpb24gOTcwNzQpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjksNiArMTY5LDcg
QEAgUmVuZGVyTGF5ZXI6OlJlbmRlckxheWVyKFJlbmRlckJveE1vZGVsTwogICAgICwgbV9yZWZs
ZWN0aW9uKDApCiAgICAgLCBtX3Njcm9sbENvcm5lcigwKQogICAgICwgbV9yZXNpemVyKDApCisg
ICAgLCBtX2ZpeGVkUG9zaXRpb25lZE9iamVjdHNJblN1YnRyZWUoMCkKICAgICAsIG1fc2Nyb2xs
YWJsZUFyZWFQYWdlKDApCiB7CiAgICAgbV9pc05vcm1hbEZsb3dPbmx5ID0gc2hvdWxkQmVOb3Jt
YWxGbG93T25seSgpOwpAQCAtMjE2LDYgKzIxNyw5IEBAIFJlbmRlckxheWVyOjp+UmVuZGVyTGF5
ZXIoKQogICAgICAgICBtX3Njcm9sbENvcm5lci0+ZGVzdHJveSgpOwogICAgIGlmIChtX3Jlc2l6
ZXIpCiAgICAgICAgIG1fcmVzaXplci0+ZGVzdHJveSgpOworCisgICAgaWYgKHBhcmVudCgpICYm
IG1fZml4ZWRQb3NpdGlvbmVkT2JqZWN0c0luU3VidHJlZSA+IDApCisgICAgICAgIHRoaXMtPnBy
b3BhZ2F0ZUZpeGVkUG9zaXRpb25lZE9iamVjdHNDb3VudCgtbV9maXhlZFBvc2l0aW9uZWRPYmpl
Y3RzSW5TdWJ0cmVlKTsKIH0KIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKQEAg
LTI2MjUsNiArMjYyOSwxMyBAQCBzdGF0aWMgYm9vbCBzaG91bGREb1NvZnR3YXJlUGFpbnQoY29u
c3QgCiB9CiAjZW5kaWYKICAgICAKK3N0YXRpYyBib29sIGVxdWl2YWxlbnRUb1RyYW5zZm9ybUxh
eWVyKGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikKK3sKKyAgICBpZiAobGF5ZXItPmZpeGVkUG9z
aXRpb25lZE9iamVjdHNJblN1YnRyZWUoKSA+IDApCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICByZXR1cm4gbGF5ZXItPmlzU3RhY2tpbmdDb250ZXh0KCkgJiYgKGxheWVyLT5yZW5kZXJlcigp
LT5pc1Bvc2l0aW9uZWQoKSB8fCBsYXllci0+cmVuZGVyZXIoKS0+aXNSZWxQb3NpdGlvbmVkKCkp
OworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkU3VwcHJlc3NQYWludGluZ0xheWVyKFJl
bmRlckxheWVyKiBsYXllcikKIHsKICAgICAvLyBBdm9pZCBwYWludGluZyBkZXNjZW5kYW50cyBv
ZiB0aGUgcm9vdCBsYXllciB3aGVuIHN0eWxlc2hlZXRzIGhhdmVuJ3QgbG9hZGVkLiBUaGlzIGVs
aW1pbmF0ZXMgRk9VQy4KQEAgLTI2NzAsNyArMjY4MSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBh
aW50TGF5ZXIoUmVuZGVyTGF5ZXIKICAgICAgICAgcGFpbnRGbGFncyB8PSBQYWludExheWVySGF2
ZVRyYW5zcGFyZW5jeTsKIAogICAgIC8vIEFwcGx5IGEgdHJhbnNmb3JtIGlmIHdlIGhhdmUgb25l
LiAgQSByZWZsZWN0aW9uIGlzIGNvbnNpZGVyZWQgdG8gYmUgYSB0cmFuc2Zvcm0sIHNpbmNlIGl0
IGlzIGEgZmxpcCBhbmQgYSB0cmFuc2xhdGUuCi0gICAgaWYgKHBhaW50c1dpdGhUcmFuc2Zvcm0o
cGFpbnRCZWhhdmlvcikgJiYgIShwYWludEZsYWdzICYgUGFpbnRMYXllckFwcGxpZWRUcmFuc2Zv
cm0pKSB7CisgICAgaWYgKChwYWludHNXaXRoVHJhbnNmb3JtKHBhaW50QmVoYXZpb3IpIHx8IGVx
dWl2YWxlbnRUb1RyYW5zZm9ybUxheWVyKHRoaXMpKSAmJiAhKHBhaW50RmxhZ3MgJiBQYWludExh
eWVyQXBwbGllZFRyYW5zZm9ybSkpIHsKICAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbGF5
ZXJUcmFuc2Zvcm0gPSByZW5kZXJhYmxlVHJhbnNmb3JtKHBhaW50QmVoYXZpb3IpOwogICAgICAg
ICAvLyBJZiB0aGUgdHJhbnNmb3JtIGNhbid0IGJlIGludmVydGVkLCB0aGVuIGRvbid0IHBhaW50
IGFueXRoaW5nLgogICAgICAgICBpZiAoIWxheWVyVHJhbnNmb3JtLmlzSW52ZXJ0aWJsZSgpKQpA
QCAtMzEwOSw3ICszMTIwLDcgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpoaXRUZXN0TGF5
ZXIoUgogICAgIExheW91dFJlY3QgaGl0VGVzdEFyZWEgPSByZXN1bHQucmVjdEZvclBvaW50KGhp
dFRlc3RQb2ludCk7CiAKICAgICAvLyBBcHBseSBhIHRyYW5zZm9ybSBpZiB3ZSBoYXZlIG9uZS4K
LSAgICBpZiAodHJhbnNmb3JtKCkgJiYgIWFwcGxpZWRUcmFuc2Zvcm0pIHsKKyAgICBpZiAoKHRy
YW5zZm9ybSgpIHx8IGVxdWl2YWxlbnRUb1RyYW5zZm9ybUxheWVyKHRoaXMpKSAmJiAhYXBwbGll
ZFRyYW5zZm9ybSkgewogICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHBhcmVudCdzIGNsaXAgcmVj
dHMgaGF2ZSBiZWVuIGNhbGN1bGF0ZWQuCiAgICAgICAgIGlmIChwYXJlbnQoKSkgewogICAgICAg
ICAgICAgQ2xpcFJlY3QgY2xpcFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJlY3Qocm9vdExheWVyLCBy
ZXN1bHQucmVnaW9uKCksIHVzZVRlbXBvcmFyeUNsaXBSZWN0cywgSW5jbHVkZU92ZXJsYXlTY3Jv
bGxiYXJTaXplKTsKQEAgLTM4MjksNyArMzg0MCw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNldFBh
cmVudChSZW5kZXJMYXllcioKICAgICAgICAgY29tcG9zaXRvcigpLT5sYXllcldpbGxCZVJlbW92
ZWQobV9wYXJlbnQsIHRoaXMpOwogI2VuZGlmCiAgICAgCisgICAgdGhpcy0+cHJvcGFnYXRlRml4
ZWRQb3NpdGlvbmVkT2JqZWN0c0NvdW50KC1tX2ZpeGVkUG9zaXRpb25lZE9iamVjdHNJblN1YnRy
ZWUpOwogICAgIG1fcGFyZW50ID0gcGFyZW50OworICAgIHRoaXMtPnByb3BhZ2F0ZUZpeGVkUG9z
aXRpb25lZE9iamVjdHNDb3VudChtX2ZpeGVkUG9zaXRpb25lZE9iamVjdHNJblN1YnRyZWUpOwog
ICAgIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBpZiAobV9wYXJlbnQg
JiYgIXJlbmRlcmVyKCktPmRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkKQEAgLTQxNzgsNiArNDE5
MSwxOCBAQCB2b2lkIFJlbmRlckxheWVyOjpzdHlsZUNoYW5nZWQoU3R5bGVEaWZmCiAgICAgICAg
IG1fc2Nyb2xsYWJsZUFyZWFQYWdlLT5yZW1vdmVTY3JvbGxhYmxlQXJlYSh0aGlzKTsKICAgICAg
ICAgbV9zY3JvbGxhYmxlQXJlYVBhZ2UgPSAwOwogICAgIH0KKworICAgIGlmIChyZW5kZXJlcigp
LT5zdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24KKyAgICAgICAgJiYgKCFvbGRT
dHlsZSB8fCBvbGRTdHlsZS0+cG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uKSkgeworICAgICAg
ICBtX2ZpeGVkUG9zaXRpb25lZE9iamVjdHNJblN1YnRyZWUrKzsKKyAgICAgICAgdGhpcy0+cHJv
cGFnYXRlRml4ZWRQb3NpdGlvbmVkT2JqZWN0c0NvdW50KDEpOworICAgIH0KKyAgICBpZiAocmVu
ZGVyZXIoKS0+c3R5bGUoKS0+cG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uCisgICAgICAgICYm
IG9sZFN0eWxlICYmIG9sZFN0eWxlLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24pIHsKKyAg
ICAgICAgbV9maXhlZFBvc2l0aW9uZWRPYmplY3RzSW5TdWJ0cmVlLS07CisgICAgICAgIHRoaXMt
PnByb3BhZ2F0ZUZpeGVkUG9zaXRpb25lZE9iamVjdHNDb3VudCgtMSk7CisgICAgfQorCiAgICAg
CiAgICAgLy8gRklYTUU6IE5lZWQgdG8gZGV0ZWN0IGEgc3dhcCBmcm9tIGN1c3RvbSB0byBuYXRp
dmUgc2Nyb2xsYmFycyAoYW5kIHZpY2UgdmVyc2EpLgogICAgIGlmIChtX2hCYXIpCkBAIC00Mjk4
LDYgKzQzMjMsMTMgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlUmVmbGVjdGlvblN0eWxlKAog
ICAgIG1fcmVmbGVjdGlvbi0+c2V0U3R5bGUobmV3U3R5bGUucmVsZWFzZSgpKTsKIH0KIAordm9p
ZCBSZW5kZXJMYXllcjo6cHJvcGFnYXRlRml4ZWRQb3NpdGlvbmVkT2JqZWN0c0NvdW50KGludCBk
ZWx0YSkKK3sKKyAgICBmb3IgKFJlbmRlckxheWVyKiBsYXllciA9IHRoaXMtPnBhcmVudCgpOyBs
YXllcjsgbGF5ZXIgPSBsYXllci0+cGFyZW50KCkpCisgICAgICAgIGxheWVyLT5tX2ZpeGVkUG9z
aXRpb25lZE9iamVjdHNJblN1YnRyZWUgLT0gZGVsdGE7Cit9CisKKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjaWZuZGVmIE5ERUJVRwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmgJKHJldmlzaW9uIDk3MDc0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyMiw2ICs1MjIsOCBAQCBwdWJsaWM6
CiAgICAgYm9vbCBjb250YWluc0RpcnR5T3ZlcmxheVNjcm9sbGJhcnMoKSBjb25zdCB7IHJldHVy
biBtX2NvbnRhaW5zRGlydHlPdmVybGF5U2Nyb2xsYmFyczsgfQogICAgIHZvaWQgc2V0Q29udGFp
bnNEaXJ0eU92ZXJsYXlTY3JvbGxiYXJzKGJvb2wgZGlydHlTY3JvbGxiYXJzKSB7IG1fY29udGFp
bnNEaXJ0eU92ZXJsYXlTY3JvbGxiYXJzID0gZGlydHlTY3JvbGxiYXJzOyB9CiAKKyAgICBpbnQg
Zml4ZWRQb3NpdGlvbmVkT2JqZWN0c0luU3VidHJlZSgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRQ
b3NpdGlvbmVkT2JqZWN0c0luU3VidHJlZTsgfQorCiBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0
ZVJlcGFpbnRSZWN0cyhJbnRQb2ludCogb2Zmc2V0RnJvbVJvb3QgPSAwKTsKICAgICB2b2lkIGNs
ZWFyUmVwYWludFJlY3RzKCk7CkBAIC02NDgsNiArNjUwLDggQEAgcHJpdmF0ZToKICAgICB2b2lk
IHVwZGF0ZVJlZmxlY3Rpb25TdHlsZSgpOwogICAgIGJvb2wgcGFpbnRpbmdJbnNpZGVSZWZsZWN0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9wYWludGluZ0luc2lkZVJlZmxlY3Rpb247IH0KICAgICB2
b2lkIHNldFBhaW50aW5nSW5zaWRlUmVmbGVjdGlvbihib29sIGIpIHsgbV9wYWludGluZ0luc2lk
ZVJlZmxlY3Rpb24gPSBiOyB9CisKKyAgICB2b2lkIHByb3BhZ2F0ZUZpeGVkUG9zaXRpb25lZE9i
amVjdHNDb3VudChpbnQgZGVsdGEpOwogICAgIAogICAgIHZvaWQgcGFyZW50Q2xpcFJlY3RzKGNv
bnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiosIENsaXBSZWN0cyYsIGJv
b2wgdGVtcG9yYXJ5Q2xpcFJlY3RzID0gZmFsc2UsIE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZh
bmN5ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUpIGNvbnN0OwogICAgIENsaXBSZWN0IGJh
Y2tncm91bmRDbGlwUmVjdChjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdp
b24qLCBib29sIHRlbXBvcmFyeUNsaXBSZWN0cywgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFu
Y3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSkgY29uc3Q7CkBAIC03OTksNiArODAzLDgg
QEAgcHJvdGVjdGVkOgogICAgIFJlbmRlclNjcm9sbGJhclBhcnQqIG1fc2Nyb2xsQ29ybmVyOwog
ICAgIFJlbmRlclNjcm9sbGJhclBhcnQqIG1fcmVzaXplcjsKIAorICAgIGludCBtX2ZpeGVkUG9z
aXRpb25lZE9iamVjdHNJblN1YnRyZWU7CisKIHByaXZhdGU6CiAgICAgTGF5b3V0UmVjdCBtX2Js
b2NrU2VsZWN0aW9uR2Fwc0JvdW5kczsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111064</attachid>
            <date>2011-10-14 13:17:20 -0700</date>
            <delta_ts>2011-12-29 11:24:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68733-20111014161718.patch</filename>
            <type>text/plain</type>
            <size>6527</size>
            <attacher name="Tom Hudson">tomhudson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAkocmV2aXNpb24g
OTcwNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNjksNiArMTY5LDcgQEAgUmVuZGVyTGF5ZXI6OlJlbmRlckxheWVyKFJl
bmRlckJveE1vZGVsTwogICAgICwgbV9yZWZsZWN0aW9uKDApCiAgICAgLCBtX3Njcm9sbENvcm5l
cigwKQogICAgICwgbV9yZXNpemVyKDApCisgICAgLCBtX2ZpeGVkUG9zaXRpb25lZE9iamVjdHNJ
blN1YnRyZWUoMCkKICAgICAsIG1fc2Nyb2xsYWJsZUFyZWFQYWdlKDApCiB7CiAgICAgbV9pc05v
cm1hbEZsb3dPbmx5ID0gc2hvdWxkQmVOb3JtYWxGbG93T25seSgpOwpAQCAtMjE2LDYgKzIxNyw5
IEBAIFJlbmRlckxheWVyOjp+UmVuZGVyTGF5ZXIoKQogICAgICAgICBtX3Njcm9sbENvcm5lci0+
ZGVzdHJveSgpOwogICAgIGlmIChtX3Jlc2l6ZXIpCiAgICAgICAgIG1fcmVzaXplci0+ZGVzdHJv
eSgpOworCisgICAgaWYgKHBhcmVudCgpICYmIG1fZml4ZWRQb3NpdGlvbmVkT2JqZWN0c0luU3Vi
dHJlZSA+IDApCisgICAgICAgIHRoaXMtPnByb3BhZ2F0ZUZpeGVkUG9zaXRpb25lZE9iamVjdHND
b3VudCgtbV9maXhlZFBvc2l0aW9uZWRPYmplY3RzSW5TdWJ0cmVlKTsKIH0KIAogI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKQEAgLTI2MjUsNiArMjYyOSwyMiBAQCBzdGF0aWMgYm9v
bCBzaG91bGREb1NvZnR3YXJlUGFpbnQoY29uc3QgCiB9CiAjZW5kaWYKICAgICAKK3N0YXRpYyBi
b29sIGVxdWl2YWxlbnRUb1RyYW5zZm9ybUxheWVyKGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikK
K3sKKyAgICByZXR1cm4gbGF5ZXItPmlzU3RhY2tpbmdDb250ZXh0KCkgJiYgKGxheWVyLT5yZW5k
ZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSB8fCBsYXllci0+cmVuZGVyZXIoKS0+aXNSZWxQb3NpdGlv
bmVkKCkpOworfQorCitzdGF0aWMgYm9vbCBzaG91bGRBcHBseVBhaW50aW5nVHJhbnNmb3JtKGNv
bnN0IFJlbmRlckxheWVyKiBsYXllciwgUGFpbnRCZWhhdmlvciBwYWludEJlaGF2aW9yLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJMYXllcjo6UGFpbnRM
YXllckZsYWdzIHBhaW50RmxhZ3MpCit7CisgICAgaWYgKGxheWVyLT5maXhlZFBvc2l0aW9uZWRP
YmplY3RzSW5TdWJ0cmVlKCkgPiAwKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHBh
aW50RmxhZ3MgJiBSZW5kZXJMYXllcjo6UGFpbnRMYXllckFwcGxpZWRUcmFuc2Zvcm0pCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gKGxheWVyLT5wYWludHNXaXRoVHJhbnNmb3Jt
KHBhaW50QmVoYXZpb3IpIHx8IGVxdWl2YWxlbnRUb1RyYW5zZm9ybUxheWVyKGxheWVyKSk7Cit9
CisKKwogc3RhdGljIGlubGluZSBib29sIHNob3VsZFN1cHByZXNzUGFpbnRpbmdMYXllcihSZW5k
ZXJMYXllciogbGF5ZXIpCiB7CiAgICAgLy8gQXZvaWQgcGFpbnRpbmcgZGVzY2VuZGFudHMgb2Yg
dGhlIHJvb3QgbGF5ZXIgd2hlbiBzdHlsZXNoZWV0cyBoYXZlbid0IGxvYWRlZC4gVGhpcyBlbGlt
aW5hdGVzIEZPVUMuCkBAIC0yNjcwLDcgKzI2OTAsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWlu
dExheWVyKFJlbmRlckxheWVyCiAgICAgICAgIHBhaW50RmxhZ3MgfD0gUGFpbnRMYXllckhhdmVU
cmFuc3BhcmVuY3k7CiAKICAgICAvLyBBcHBseSBhIHRyYW5zZm9ybSBpZiB3ZSBoYXZlIG9uZS4g
IEEgcmVmbGVjdGlvbiBpcyBjb25zaWRlcmVkIHRvIGJlIGEgdHJhbnNmb3JtLCBzaW5jZSBpdCBp
cyBhIGZsaXAgYW5kIGEgdHJhbnNsYXRlLgotICAgIGlmIChwYWludHNXaXRoVHJhbnNmb3JtKHBh
aW50QmVoYXZpb3IpICYmICEocGFpbnRGbGFncyAmIFBhaW50TGF5ZXJBcHBsaWVkVHJhbnNmb3Jt
KSkgeworICAgIGlmIChzaG91bGRBcHBseVBhaW50aW5nVHJhbnNmb3JtKHRoaXMsIHBhaW50QmVo
YXZpb3IsIHBhaW50RmxhZ3MpKSB7CiAgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGxheWVy
VHJhbnNmb3JtID0gcmVuZGVyYWJsZVRyYW5zZm9ybShwYWludEJlaGF2aW9yKTsKICAgICAgICAg
Ly8gSWYgdGhlIHRyYW5zZm9ybSBjYW4ndCBiZSBpbnZlcnRlZCwgdGhlbiBkb24ndCBwYWludCBh
bnl0aGluZy4KICAgICAgICAgaWYgKCFsYXllclRyYW5zZm9ybS5pc0ludmVydGlibGUoKSkKQEAg
LTMwODYsNiArMzEwNiwxNSBAQCBzdGF0aWMgYm9vbCBpc0hpdENhbmRpZGF0ZShjb25zdCBSZW5k
ZXJMCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIHNob3VsZEFwcGx5SGl0VGVz
dFRyYW5zZm9ybShSZW5kZXJMYXllciogbGF5ZXIsIGJvb2wgYXBwbGllZFRyYW5zZm9ybSkKK3sK
KyAgICBpZiAobGF5ZXItPmZpeGVkUG9zaXRpb25lZE9iamVjdHNJblN1YnRyZWUoKSA+IDApCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoYXBwbGllZFRyYW5zZm9ybSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIHJldHVybiAobGF5ZXItPnRyYW5zZm9ybSgpIHx8IGVxdWl2YWxl
bnRUb1RyYW5zZm9ybUxheWVyKGxheWVyKSk7Cit9CisKIC8vIGhpdFRlc3RQb2ludCBhbmQgaGl0
VGVzdFJlY3QgYXJlIHJlbGF0aXZlIHRvIHJvb3RMYXllci4KIC8vIEEgJ2ZsYXR0ZW5pbmcnIGxh
eWVyIGlzIG9uZSBwcmVzZXJ2ZXMzRCgpID09IGZhbHNlLgogLy8gdHJhbnNmb3JtU3RhdGUubV9h
Y2N1bXVsYXRlZFRyYW5zZm9ybSBob2xkcyB0aGUgdHJhbnNmb3JtIGZyb20gdGhlIGNvbnRhaW5p
bmcgZmxhdHRlbmluZyBsYXllci4KQEAgLTMxMDksNyArMzEzOCw3IEBAIFJlbmRlckxheWVyKiBS
ZW5kZXJMYXllcjo6aGl0VGVzdExheWVyKFIKICAgICBMYXlvdXRSZWN0IGhpdFRlc3RBcmVhID0g
cmVzdWx0LnJlY3RGb3JQb2ludChoaXRUZXN0UG9pbnQpOwogCiAgICAgLy8gQXBwbHkgYSB0cmFu
c2Zvcm0gaWYgd2UgaGF2ZSBvbmUuCi0gICAgaWYgKHRyYW5zZm9ybSgpICYmICFhcHBsaWVkVHJh
bnNmb3JtKSB7CisgICAgaWYgKHNob3VsZEFwcGx5SGl0VGVzdFRyYW5zZm9ybSh0aGlzLCBhcHBs
aWVkVHJhbnNmb3JtKSkgewogICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHBhcmVudCdzIGNsaXAg
cmVjdHMgaGF2ZSBiZWVuIGNhbGN1bGF0ZWQuCiAgICAgICAgIGlmIChwYXJlbnQoKSkgewogICAg
ICAgICAgICAgQ2xpcFJlY3QgY2xpcFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJlY3Qocm9vdExheWVy
LCByZXN1bHQucmVnaW9uKCksIHVzZVRlbXBvcmFyeUNsaXBSZWN0cywgSW5jbHVkZU92ZXJsYXlT
Y3JvbGxiYXJTaXplKTsKQEAgLTM4MjksNyArMzg1OCw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNl
dFBhcmVudChSZW5kZXJMYXllcioKICAgICAgICAgY29tcG9zaXRvcigpLT5sYXllcldpbGxCZVJl
bW92ZWQobV9wYXJlbnQsIHRoaXMpOwogI2VuZGlmCiAgICAgCisgICAgdGhpcy0+cHJvcGFnYXRl
Rml4ZWRQb3NpdGlvbmVkT2JqZWN0c0NvdW50KC1tX2ZpeGVkUG9zaXRpb25lZE9iamVjdHNJblN1
YnRyZWUpOwogICAgIG1fcGFyZW50ID0gcGFyZW50OworICAgIHRoaXMtPnByb3BhZ2F0ZUZpeGVk
UG9zaXRpb25lZE9iamVjdHNDb3VudChtX2ZpeGVkUG9zaXRpb25lZE9iamVjdHNJblN1YnRyZWUp
OwogICAgIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBpZiAobV9wYXJl
bnQgJiYgIXJlbmRlcmVyKCktPmRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkKQEAgLTQxNzgsNiAr
NDIwOSwxOCBAQCB2b2lkIFJlbmRlckxheWVyOjpzdHlsZUNoYW5nZWQoU3R5bGVEaWZmCiAgICAg
ICAgIG1fc2Nyb2xsYWJsZUFyZWFQYWdlLT5yZW1vdmVTY3JvbGxhYmxlQXJlYSh0aGlzKTsKICAg
ICAgICAgbV9zY3JvbGxhYmxlQXJlYVBhZ2UgPSAwOwogICAgIH0KKworICAgIGlmIChyZW5kZXJl
cigpLT5zdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24KKyAgICAgICAgJiYgKCFv
bGRTdHlsZSB8fCBvbGRTdHlsZS0+cG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uKSkgeworICAg
ICAgICBtX2ZpeGVkUG9zaXRpb25lZE9iamVjdHNJblN1YnRyZWUrKzsKKyAgICAgICAgdGhpcy0+
cHJvcGFnYXRlRml4ZWRQb3NpdGlvbmVkT2JqZWN0c0NvdW50KDEpOworICAgIH0KKyAgICBpZiAo
cmVuZGVyZXIoKS0+c3R5bGUoKS0+cG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uCisgICAgICAg
ICYmIG9sZFN0eWxlICYmIG9sZFN0eWxlLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24pIHsK
KyAgICAgICAgbV9maXhlZFBvc2l0aW9uZWRPYmplY3RzSW5TdWJ0cmVlLS07CisgICAgICAgIHRo
aXMtPnByb3BhZ2F0ZUZpeGVkUG9zaXRpb25lZE9iamVjdHNDb3VudCgtMSk7CisgICAgfQorCiAg
ICAgCiAgICAgLy8gRklYTUU6IE5lZWQgdG8gZGV0ZWN0IGEgc3dhcCBmcm9tIGN1c3RvbSB0byBu
YXRpdmUgc2Nyb2xsYmFycyAoYW5kIHZpY2UgdmVyc2EpLgogICAgIGlmIChtX2hCYXIpCkBAIC00
Mjk4LDYgKzQzNDEsMTMgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlUmVmbGVjdGlvblN0eWxl
KAogICAgIG1fcmVmbGVjdGlvbi0+c2V0U3R5bGUobmV3U3R5bGUucmVsZWFzZSgpKTsKIH0KIAor
dm9pZCBSZW5kZXJMYXllcjo6cHJvcGFnYXRlRml4ZWRQb3NpdGlvbmVkT2JqZWN0c0NvdW50KGlu
dCBkZWx0YSkKK3sKKyAgICBmb3IgKFJlbmRlckxheWVyKiBsYXllciA9IHRoaXMtPnBhcmVudCgp
OyBsYXllcjsgbGF5ZXIgPSBsYXllci0+cGFyZW50KCkpCisgICAgICAgIGxheWVyLT5tX2ZpeGVk
UG9zaXRpb25lZE9iamVjdHNJblN1YnRyZWUgLT0gZGVsdGE7Cit9CisKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjaWZuZGVmIE5ERUJVRwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgJKHJldmlzaW9uIDk3MDc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyMiw2ICs1MjIsOCBAQCBwdWJs
aWM6CiAgICAgYm9vbCBjb250YWluc0RpcnR5T3ZlcmxheVNjcm9sbGJhcnMoKSBjb25zdCB7IHJl
dHVybiBtX2NvbnRhaW5zRGlydHlPdmVybGF5U2Nyb2xsYmFyczsgfQogICAgIHZvaWQgc2V0Q29u
dGFpbnNEaXJ0eU92ZXJsYXlTY3JvbGxiYXJzKGJvb2wgZGlydHlTY3JvbGxiYXJzKSB7IG1fY29u
dGFpbnNEaXJ0eU92ZXJsYXlTY3JvbGxiYXJzID0gZGlydHlTY3JvbGxiYXJzOyB9CiAKKyAgICBp
bnQgZml4ZWRQb3NpdGlvbmVkT2JqZWN0c0luU3VidHJlZSgpIGNvbnN0IHsgcmV0dXJuIG1fZml4
ZWRQb3NpdGlvbmVkT2JqZWN0c0luU3VidHJlZTsgfQorCiBwcml2YXRlOgogICAgIHZvaWQgY29t
cHV0ZVJlcGFpbnRSZWN0cyhJbnRQb2ludCogb2Zmc2V0RnJvbVJvb3QgPSAwKTsKICAgICB2b2lk
IGNsZWFyUmVwYWludFJlY3RzKCk7CkBAIC02NDgsNiArNjUwLDggQEAgcHJpdmF0ZToKICAgICB2
b2lkIHVwZGF0ZVJlZmxlY3Rpb25TdHlsZSgpOwogICAgIGJvb2wgcGFpbnRpbmdJbnNpZGVSZWZs
ZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9wYWludGluZ0luc2lkZVJlZmxlY3Rpb247IH0KICAg
ICB2b2lkIHNldFBhaW50aW5nSW5zaWRlUmVmbGVjdGlvbihib29sIGIpIHsgbV9wYWludGluZ0lu
c2lkZVJlZmxlY3Rpb24gPSBiOyB9CisKKyAgICB2b2lkIHByb3BhZ2F0ZUZpeGVkUG9zaXRpb25l
ZE9iamVjdHNDb3VudChpbnQgZGVsdGEpOwogICAgIAogICAgIHZvaWQgcGFyZW50Q2xpcFJlY3Rz
KGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiosIENsaXBSZWN0cyYs
IGJvb2wgdGVtcG9yYXJ5Q2xpcFJlY3RzID0gZmFsc2UsIE92ZXJsYXlTY3JvbGxiYXJTaXplUmVs
ZXZhbmN5ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUpIGNvbnN0OwogICAgIENsaXBSZWN0
IGJhY2tncm91bmRDbGlwUmVjdChjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJS
ZWdpb24qLCBib29sIHRlbXBvcmFyeUNsaXBSZWN0cywgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxl
dmFuY3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSkgY29uc3Q7CkBAIC03OTksNiArODAz
LDggQEAgcHJvdGVjdGVkOgogICAgIFJlbmRlclNjcm9sbGJhclBhcnQqIG1fc2Nyb2xsQ29ybmVy
OwogICAgIFJlbmRlclNjcm9sbGJhclBhcnQqIG1fcmVzaXplcjsKIAorICAgIGludCBtX2ZpeGVk
UG9zaXRpb25lZE9iamVjdHNJblN1YnRyZWU7CisKIHByaXZhdGU6CiAgICAgTGF5b3V0UmVjdCBt
X2Jsb2NrU2VsZWN0aW9uR2Fwc0JvdW5kczsKIAo=
</data>
<flag name="review"
          id="108764"
          type_id="1"
          status="-"
          setter="jchaffraix"
    />
    <flag name="commit-queue"
          id="108780"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>