<?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>62465</bug_id>
          
          <creation_ts>2011-06-10 10:48:06 -0700</creation_ts>
          <short_desc>Overlap test needs to consider children of composited layers</short_desc>
          <delta_ts>2011-06-13 14:33:25 -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>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="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>vangelis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>418778</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-06-10 10:48:06 -0700</bug_when>
    <thetext>Overlap test needs to consider children of composited elements</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418780</commentid>
    <comment_count>1</comment_count>
      <attachid>96759</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-06-10 10:51:19 -0700</bug_when>
    <thetext>Created attachment 96759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418783</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-06-10 10:53:01 -0700</bug_when>
    <thetext>Can you explain more how this is different from bug 62181?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418793</commentid>
    <comment_count>3</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-06-10 11:07:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Can you explain more how this is different from bug 62181?

Sure! Consider this layer tree:

A (empty layer bounds)
-B (layer that should be underneath D)
-C
D (layer that should be on top of B)

If it&apos;s not clear, B and C are children of A.  All layers can be composited.

In bug 62181, A has a webkit-transform (requiring compositing if any descendants are composited) and C is an accelerated canvas.

In this bug, A is composited itself because it has an animation.  C is irrelevant.

In both cases, layer B does not get added to the overlap map, but there are different reasons why this happens.  In both cases, B does not need to be composited.

computeCompositingRequirements visits the parent layer before the children.  The difference between the two cases is whether we know that we are compositing when we process layer B.  In bug 62181, A is not known to be composited until we have processed all of its children.  In this bug, A is already known to be composited when we process B.

In bug 62181, we belatedly find out that A is composited after we have already processed B, which is why we have to go back and rewalk the tree to add them to the overlap map.  In this bug, we know that A is composited already, so we can just add B to the overlap map during the initial traversal.

(This bug could also be fixed by having needsCompositing walk up the parent tree to see if any parent layer needed to be composited.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418797</commentid>
    <comment_count>4</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-06-10 11:12:30 -0700</bug_when>
    <thetext>On a side note, I also think that both of these patches are the correct way to handle what the &quot;extend empty layer bounds to 1x1&quot; hack is trying to do in the RenderLayerCompositor::addToOverlapMap function.  The more I stare at that line of code, the more I think it is unneeded and incorrect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418873</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-06-10 13:48:21 -0700</bug_when>
    <thetext>What real-world site is affected by this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418880</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-06-10 13:57:25 -0700</bug_when>
    <thetext>In Chromium, this causes portions of the maps.google.com interface to vanish when zooming in or out of the map, which triggers an animation of the -webkit-transform: scale() property.

This doesn&apos;t seem to affect Safari, possibly because of differences in how CoreAnimation handles this transition vs handling the intermediate frames from within WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418922</commentid>
    <comment_count>7</comment_count>
      <attachid>96759</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-06-10 14:31:00 -0700</bug_when>
    <thetext>Comment on attachment 96759
Patch

I guess this isn&apos;t an issue in Safari because RenderLayerCompositor::didStartAcceleratedAnimation() does a setCompositingConsultsOverlap(false)

Can you make a testcase that will work for safari too? Try using &lt;video&gt; to cause compositing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418926</commentid>
    <comment_count>8</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-06-10 14:35:59 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 96759 [details])
&gt; I guess this isn&apos;t an issue in Safari because RenderLayerCompositor::didStartAcceleratedAnimation() does a setCompositingConsultsOverlap(false)
&gt; 
&gt; Can you make a testcase that will work for safari too? Try using &lt;video&gt; to cause compositing.

I tried to make a test case triggering compositing not using animation, but couldn&apos;t do it.  This has to be triggered by a composited parent whose bounds don&apos;t contain a non-composited child.

I could be wrong, but when I added child elements to &lt;video&gt; or &lt;canvas&gt; they get ignored.  Transformed layers ignore overlap, so that&apos;s not an option.  All the other compositing triggers (frames, plugins, clipping) all clip to their bounds, so that doesn&apos;t work either.  Animation seems like the only case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418927</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-06-10 14:38:07 -0700</bug_when>
    <thetext>If I fix bug 49857 that will change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418939</commentid>
    <comment_count>10</comment_count>
      <attachid>96759</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-06-10 14:54:27 -0700</bug_when>
    <thetext>Comment on attachment 96759
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Any child layer with a compositing ancestor will be put into a
&gt; +        composited layer even though they themselves don&apos;t need compositing.

Are you describing the symptoms of bug 50192 here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418950</commentid>
    <comment_count>11</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-06-10 15:05:43 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 96759 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=96759&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        Any child layer with a compositing ancestor will be put into a
&gt; &gt; +        composited layer even though they themselves don&apos;t need compositing.
&gt; 
&gt; Are you describing the symptoms of bug 50192 here?

No.  I should have been more precise in my language: s/put/drawn/.  (Is there better language to describe this?)

This bug and bug 62181 are about layers not being made composited when they should be, because the overlap map does not contain enough information about non-composited layers with a composited parent.

Bug 50192 is about layers that don&apos;t need their own composited layer, but get one anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419068</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-06-10 17:27:59 -0700</bug_when>
    <thetext>I have committed the fix for 49857, so you can have a testcase that works in Safari as well now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419071</commentid>
    <comment_count>13</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-06-10 17:36:01 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; I have committed the fix for 49857, so you can have a testcase that works in Safari as well now.

Thanks! Is an updated test case the only thing blocking an R+ from you at this point?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419095</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-06-10 18:07:41 -0700</bug_when>
    <thetext>On this one, yes. I&apos;ll think more about the other one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419730</commentid>
    <comment_count>15</comment_count>
      <attachid>96981</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-06-13 11:39:40 -0700</bug_when>
    <thetext>Created attachment 96981
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419875</commentid>
    <comment_count>16</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-06-13 14:33:25 -0700</bug_when>
    <thetext>Committed r88698: &lt;http://trac.webkit.org/changeset/88698&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96759</attachid>
            <date>2011-06-10 10:51:19 -0700</date>
            <delta_ts>2011-06-13 11:39:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62465-20110610105118.patch</filename>
            <type>text/plain</type>
            <size>5626</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg0NTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NmE5ZWVkMjEyMTQ5OTcxNjQwNjQ1
OThiNTEzODkwYWNmNWU5NzgwLi4xZDk2ZmNiNTM2Yzc5Mzg1YmE2MGE3MmE0ZGZiMzdmYjkzYjJk
ZjgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMTAgIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBPdmVybGFwIHRlc3QgbmVlZHMgdG8gY29uc2lkZXIgY2hpbGRyZW4gb2YgY29t
cG9zaXRlZCBsYXllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYyNDY1CisKKyAgICAgICAgKiBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9vdmVy
bGFwLWFuaW1hdGVkLWxheWVyLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogY29tcG9z
aXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1hbmltYXRlZC1sYXllci1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL292ZXJsYXAtYW5p
bWF0ZWQtbGF5ZXIuaHRtbDogQWRkZWQuCisKIDIwMTEtMDYtMDggIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL292ZXJs
YXAtYW5pbWF0ZWQtbGF5ZXItZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
bGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1hbmltYXRlZC1sYXllci1leHBlY3RlZC5wbmcKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzA0NWY5ZDUxZGI5MTUwNDE2YTFiZDhkNzMzN2JjMzllM2RjOGI0OQpHSVQgYmluYXJ5
IHBhdGNoCmxpdGVyYWwgMjg1MQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkw
KlopPWheaGxBJUBXcyRsSGBvazxtfT9vVCFzYD0KeihgMGl+M3U5d2JsaG5sSVJIR0NOTGtseEFi
N087SzFNe0BScS01YEtGRG5LSHVDMU9manYqQ3UtcmhMS2RCOHdgCnorMG5YSmVReH0kMiFrMGp4
eFUwfnh4VCVqYFB0bWQhVkRkQCVoPyRpP3prbHxHOHx6TVZ7cV5wV3NDO0dYaTZCKAp6MSo1cnU9
djxJPHs+KTJXMjhRc0RxcDQ7eilleE8oTXIrIzk9RWk4NzNwRSRpbkxPWkhYKUlxQDAmTWolYylJ
JHoKSnRhRDBlMHN5cWdObF5kKgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1hbmltYXRlZC1s
YXllci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlv
bi9vdmVybGFwLWFuaW1hdGVkLWxheWVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5
MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1hbmltYXRlZC1sYXll
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9vdmVybGFwLWFuaW1hdGVkLWxheWVyLmh0bWwgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9vdmVybGFwLWFuaW1hdGVkLWxh
eWVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNmExOTYyOWU2ZWFkY2M3ZDhhMGFjZDU1NzYyNzE1MWRiYWYz
MjRjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNy
ZWF0aW9uL292ZXJsYXAtYW5pbWF0ZWQtbGF5ZXIuaHRtbApAQCAtMCwwICsxLDYwIEBACis8aHRt
bD4KKzxoZWFkPgorPHN0eWxlPgorICAgICNjb250YWluZXIgeworICAgICAgICBwb3NpdGlvbjog
YWJzb2x1dGU7CisgICAgICAgIHRvcDogMHB4OworICAgICAgICBsZWZ0OiA0MDBweDsKKyAgICAg
ICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTsKKyAgICAg
ICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxMDAwczsKKyAgICB9CisKKyAgICAuYW5p
bWF0ZWQgeworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMTBweCwgMTBweCk7
CisgICAgfQorCisgICAgLnJlZCB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAg
ICAgdG9wOiAwcHg7CisgICAgICAgIGxlZnQ6IC00MDBweDsKKyAgICAgICAgaGVpZ2h0OiAyNTZw
eDsKKyAgICAgICAgd2lkdGg6IDI1NnB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
CisgICAgfQorCisgICAgLmdyZWVuIHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAg
ICAgICBsZWZ0OiAwcHg7CisgICAgICAgIHRvcDogMHB4OworICAgICAgICB3aWR0aDogMzAwcHg7
CisgICAgICAgIGhlaWdodDogMzAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVu
OworICAgIH0KKworPC9zdHlsZT4KKworPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
dHJ1ZSk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICB9CisgICAgZnVuY3Rpb24gaW5pdENhbnZhc0NvbnRleHQoKSB7CisgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKS5jbGFzc05hbWUgPSAnYW5pbWF0ZWQnOworICAg
ICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9LCAwKTsKKyAgICB9Cis8L3NjcmlwdD4KKwor
PGJvZHkgb25sb2FkPSJpbml0Q2FudmFzQ29udGV4dCgpIj4KKyAgICA8IS0tIGNvbnRhaW5lciBo
YXMgZW1wdHkgYm91bmRzLCBidXQgaXMgY29tcG9zaXRlZCAtLT4KKyAgICA8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgICAgICA8IS0tIHRoaXMgcmVkIHNxdWFyZSBzaG91bGQgbm90IGFwcGVhciBv
dmVyIHRoZSBncmVlbiBzcXVhcmUgLS0+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZCI+PC9kaXY+
CisgICAgPC9kaXY+CisKKyAgICA8IS0tIFRoaXMgZ3JlZW4gc3F1YXJlIHNob3VsZCBjb21wb3Np
dGUgYmVjYXVzZSBpdCBvdmVybGFwcyB0aGUgcmVkIG9uZSAtLT4KKyAgICA8ZGl2IGNsYXNzPSJn
cmVlbiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkMzY5MTUxNjdk
YzBmODQ5MDcyNTE1Y2Y1ZmNhMzllODQ2NjY3NS4uMzA5OGEyOTg0ZTU0ZWU5OTEzNzI3ZTk2MTMx
OGQ3YTJmZDFhNjUwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTA2LTEwICBB
ZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3ZlcmxhcCB0ZXN0IG5lZWRzIHRvIGNvbnNpZGVy
IGNoaWxkcmVuIG9mIGNvbXBvc2l0ZWQgbGF5ZXJzIAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI0NjUKKworICAgICAgICBBbnkgY2hpbGQgbGF5ZXIg
d2l0aCBhIGNvbXBvc2l0aW5nIGFuY2VzdG9yIHdpbGwgYmUgcHV0IGludG8gYQorICAgICAgICBj
b21wb3NpdGVkIGxheWVyIGV2ZW4gdGhvdWdoIHRoZXkgdGhlbXNlbHZlcyBkb24ndCBuZWVkIGNv
bXBvc2l0aW5nLgorICAgICAgICBBcyBsYXllciBib3VuZHMgYXJlbid0IGhpZXJhcmNoaWNhbCwg
dGhlc2UgbGF5ZXIgYm91bmRzIHRoZW1zZWx2ZXMKKyAgICAgICAgbmVlZCB0byBiZSBwdXQgaW50
byB0aGUgb3ZlcmxhcCBtYXAgYmVjYXVzZSB0aGUgY29tcG9zaXRlZCBsYXllcgorICAgICAgICBp
dHNlbGYgaXMgbm90IHN1ZmZpY2llbnQuCisKKyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvbGF5
ZXItY3JlYXRpb24vb3ZlcmxhcC1hbmltYXRlZC1sYXllci5odG1sCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKToKKwogMjAx
MS0wNi0wOCAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBhMTk2MDZhOTI4ODFhOWZkMWUxZDAz
ZDU3YjU0YzJmZTM2YjVjOWFlLi44MTliZjFjM2I5YjFjY2U0YzQ1YjFmYTNiZmY5NzY0ZjY3NTU5
NzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcApAQCAtNjcwLDggKzY3MCwxMCBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBsYXllciwgTwog
ICAgICAgICBjb21wb3NpdGluZ1N0YXRlLm1fc3VidHJlZUlzQ29tcG9zaXRpbmcgPSB0cnVlOwog
ICAgICAgICAvLyBUaGlzIGxheWVyIG5vdyBhY3RzIGFzIHRoZSBhbmNlc3RvciBmb3Iga2lkcy4K
ICAgICAgICAgY2hpbGRTdGF0ZS5tX2NvbXBvc2l0aW5nQW5jZXN0b3IgPSBsYXllcjsKLSAgICAg
ICAgaWYgKG92ZXJsYXBNYXApCi0gICAgICAgICAgICBhZGRUb092ZXJsYXBNYXAoKm92ZXJsYXBN
YXAsIGxheWVyLCBhYnNCb3VuZHMsIGhhdmVDb21wdXRlZEJvdW5kcyk7CisgICAgfQorCisgICAg
aWYgKG92ZXJsYXBNYXAgJiYgY2hpbGRTdGF0ZS5tX2NvbXBvc2l0aW5nQW5jZXN0b3IgJiYgIWNo
aWxkU3RhdGUubV9jb21wb3NpdGluZ0FuY2VzdG9yLT5pc1Jvb3RMYXllcigpKSB7CisgICAgICAg
IGFkZFRvT3ZlcmxhcE1hcCgqb3ZlcmxhcE1hcCwgbGF5ZXIsIGFic0JvdW5kcywgaGF2ZUNvbXB1
dGVkQm91bmRzKTsKICAgICB9CiAKICNpZiBFTkFCTEUoVklERU8pCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96981</attachid>
            <date>2011-06-13 11:39:40 -0700</date>
            <delta_ts>2011-06-13 11:40:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62465-20110613113939.patch</filename>
            <type>text/plain</type>
            <size>5986</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg2NDgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMTI2MDE4OWMyYzRlZmJiN2NlNjEz
YThkMjBmMWYxODVhYjgyZTJjLi5lNDczYmFjOWMyMWFlMWVkNDI3ZDc5YmQ4YWFkZjNjMzQ0YjJj
NGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMTAgIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBPdmVybGFwIHRlc3QgbmVlZHMgdG8gY29uc2lkZXIgY2hpbGRyZW4gb2YgY29t
cG9zaXRlZCBsYXllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYyNDY1CisKKyAgICAgICAgKiBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9vdmVy
bGFwLWNoaWxkLWxheWVyLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRp
bmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1jaGlsZC1sYXllci1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL292ZXJsYXAtY2hpbGQtbGF5
ZXIuaHRtbDogQWRkZWQuCisKIDIwMTEtMDYtMDggIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29v
Z2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL292ZXJsYXAtY2hpbGQt
bGF5ZXItZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRp
b24vb3ZlcmxhcC1jaGlsZC1sYXllci1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzA0NWY5ZDUx
ZGI5MTUwNDE2YTFiZDhkNzMzN2JjMzllM2RjOGI0OQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
Mjg1MQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRs
SGBvazxtfT9vVCFzYD0KeihgMGl+M3U5d2JsaG5sSVJIR0NOTGtseEFiN087SzFNe0BScS01YEtG
RG5LSHVDMU9manYqQ3UtcmhMS2RCOHdgCnorMG5YSmVReH0kMiFrMGp4eFUwfnh4VCVqYFB0bWQh
VkRkQCVoPyRpP3prbHxHOHx6TVZ7cV5wV3NDO0dYaTZCKAp6MSo1cnU9djxJPHs+KTJXMjhRc0Rx
cDQ7eilleE8oTXIrIzk9RWk4NzNwRSRpbkxPWkhYKUlxQDAmTWolYylJJHoKSnRhRDBlMHN5cWdO
bF5kKgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1jaGlsZC1sYXllci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9vdmVybGFwLWNoaWxkLWxh
eWVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjlmY2QwMTgzMDFhODE4YjE4Yzc4YTEwYmQz
MTQzMGU2ZmRkZTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
bGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1jaGlsZC1sYXllci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyMCBAQAorKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hp
bGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDAp
CisgICAgICAoY2hpbGRyZW4gMgorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChh
bmNob3IgMS41NiAwLjAwKQorICAgICAgICAgIChib3VuZHMgMjU2LjAwIDI1Ni4wMCkKKyAgICAg
ICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICkKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgICAgICAoYm91bmRzIDMwMC4wMCAzMDAuMDApCisgICAgICAgICAgKGRyYXdzQ29udGVu
dCAxKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL292ZXJsYXAtY2hpbGQtbGF5ZXIu
aHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL292ZXJsYXAtY2hp
bGQtbGF5ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzA3Y2MwY2FjNTQxZDg3YjE3OTc5MjQ1MWJlYmVj
ZjhhMzVkNDc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5
ZXItY3JlYXRpb24vb3ZlcmxhcC1jaGlsZC1sYXllci5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c3R5bGU+CisgICAgI2NvbnRhaW5lciB7CisgICAgICAgIHBvc2l0aW9u
OiBhYnNvbHV0ZTsKKyAgICAgICAgdG9wOiAwcHg7CisgICAgICAgIGxlZnQ6IDQwMHB4OworICAg
ICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKKyAgICB9CisKKyAgICAjcmVk
IHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB0b3A6IDBweDsKKyAgICAg
ICAgbGVmdDogLTQwMHB4OworICAgICAgICBoZWlnaHQ6IDI1NnB4OworICAgICAgICB3aWR0aDog
MjU2cHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKKyAgICB9CisKKyAgICAjZ3Jl
ZW4geworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICAgICAgdG9wOiAwcHg7CisgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgaGVpZ2h0OiAz
MDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgfQorCisgICAgI2xh
eWVydHJlZSB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgbGVmdDogMTAw
MDBweDsKKyAgICAgICAgdG9wOiAwcHg7CisgICAgfQorCisgICAgYm9keSB7CisgICAgICAgIG92
ZXJmbG93OiBoaWRkZW47CisgICAgfQorCis8L3N0eWxlPgorCis8c2NyaXB0PgorICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywg
ZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllcnRyZWUiKS5pbm5lclRl
eHQgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIH0sIGZh
bHNlKTsKKzwvc2NyaXB0PgorCis8Ym9keT4KKyAgICA8IS0tIGNvbnRhaW5lciBoYXMgZW1wdHkg
Ym91bmRzLCBidXQgaXMgY29tcG9zaXRlZCAtLT4KKyAgICA8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgICAgICA8IS0tIHRoaXMgcmVkIHNxdWFyZSBzaG91bGQgbm90IGFwcGVhciBvdmVyIHRoZSBn
cmVlbiBzcXVhcmUgLS0+CisgICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgPC9kaXY+
CisKKyAgICA8IS0tIFRoaXMgZ3JlZW4gc3F1YXJlIHNob3VsZCBjb21wb3NpdGUgYmVjYXVzZSBp
dCBvdmVybGFwcyB0aGUgcmVkIG9uZSAtLT4KKyAgICA8ZGl2IGlkPSJncmVlbiI+PC9kaXY+CisK
KyAgICA8cHJlIGlkPSJsYXllcnRyZWUiPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IGMxNjk3NzQ0YzhkOWUxYTNjZTA4OGJlZWE5NTk5MTAxYmQ0OTA0YzUuLmNlZTUzZDZh
ODQ4YzliZGI3MzA3ZjVhM2ZiZWUzYTgwMmY0NjNlZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MSBAQAorMjAxMS0wNi0xMCAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE92ZXJsYXAgdGVz
dCBuZWVkcyB0byBjb25zaWRlciBjaGlsZHJlbiBvZiBjb21wb3NpdGVkIGxheWVycworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI0NjUKKworICAgICAg
ICBBbnkgY2hpbGQgbGF5ZXIgd2l0aCBhIGNvbXBvc2l0aW5nIGFuY2VzdG9yIHdpbGwgYmUgcHV0
IGludG8gYQorICAgICAgICBjb21wb3NpdGVkIGxheWVyIGV2ZW4gdGhvdWdoIHRoZXkgdGhlbXNl
bHZlcyBkb24ndCBuZWVkIGNvbXBvc2l0aW5nLgorICAgICAgICBBcyBsYXllciBib3VuZHMgYXJl
bid0IGhpZXJhcmNoaWNhbCwgdGhlc2UgbGF5ZXIgYm91bmRzIHRoZW1zZWx2ZXMKKyAgICAgICAg
bmVlZCB0byBiZSBwdXQgaW50byB0aGUgb3ZlcmxhcCBtYXAgYmVjYXVzZSB0aGUgY29tcG9zaXRl
ZCBsYXllcgorICAgICAgICBpdHNlbGYgaXMgbm90IHN1ZmZpY2llbnQuCisKKyAgICAgICAgVGVz
dDogY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1hbmltYXRlZC1sYXllci5odG1s
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVx
dWlyZW1lbnRzKToKKwogMjAxMS0wNi0wOCAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA3MzBm
OTI3NDVjNDRmN2IyODUwYmRjYzhlY2Q0NDU4ODRmNGM1NjUzLi45NzFjNDQyMzZiODRmMmZiNjVj
MmU4NDY3ZTM4NjM2YTI4YjI3OTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtNjcwLDggKzY3MCwxMCBAQCB2b2lkIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRl
ckxheWVyKiBsYXllciwgTwogICAgICAgICBjb21wb3NpdGluZ1N0YXRlLm1fc3VidHJlZUlzQ29t
cG9zaXRpbmcgPSB0cnVlOwogICAgICAgICAvLyBUaGlzIGxheWVyIG5vdyBhY3RzIGFzIHRoZSBh
bmNlc3RvciBmb3Iga2lkcy4KICAgICAgICAgY2hpbGRTdGF0ZS5tX2NvbXBvc2l0aW5nQW5jZXN0
b3IgPSBsYXllcjsKLSAgICAgICAgaWYgKG92ZXJsYXBNYXApCi0gICAgICAgICAgICBhZGRUb092
ZXJsYXBNYXAoKm92ZXJsYXBNYXAsIGxheWVyLCBhYnNCb3VuZHMsIGhhdmVDb21wdXRlZEJvdW5k
cyk7CisgICAgfQorCisgICAgaWYgKG92ZXJsYXBNYXAgJiYgY2hpbGRTdGF0ZS5tX2NvbXBvc2l0
aW5nQW5jZXN0b3IgJiYgIWNoaWxkU3RhdGUubV9jb21wb3NpdGluZ0FuY2VzdG9yLT5pc1Jvb3RM
YXllcigpKSB7CisgICAgICAgIGFkZFRvT3ZlcmxhcE1hcCgqb3ZlcmxhcE1hcCwgbGF5ZXIsIGFi
c0JvdW5kcywgaGF2ZUNvbXB1dGVkQm91bmRzKTsKICAgICB9CiAKICNpZiBFTkFCTEUoVklERU8p
Cg==
</data>
<flag name="review"
          id="90792"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>