<?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>95360</bug_id>
          
          <creation_ts>2012-08-29 11:02:32 -0700</creation_ts>
          <short_desc>requestAnimationFrame broken with subframes (DisplayRefreshMonitorManager::registerClient fails to register client)</short_desc>
          <delta_ts>2012-09-27 20:15:20 -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>Platform</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Arvid Nilsson">anilsson</reporter>
          <assigned_to name="Andrew Lo">anlo</assigned_to>
          <cc>anilsson</cc>
    
    <cc>anlo</cc>
    
    <cc>cmarrin</cc>
    
    <cc>dino</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>707647</commentid>
    <comment_count>0</comment_count>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2012-08-29 11:02:32 -0700</bug_when>
    <thetext>If there&apos;s already one client registered for a specific display ID, any further clients with that display ID will fail to be added, because registerClient only calls ensureMonitorForClient, which only adds the client to the monitor when creating it. If a monitor already existed, it will fail to add the new client and just return the existing monitor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707655</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-29 11:07:33 -0700</bug_when>
    <thetext>What are the user-visible effects of this bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707700</commentid>
    <comment_count>2</comment_count>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2012-08-29 11:48:24 -0700</bug_when>
    <thetext>It looks to me like it would be a problem if you managed to get two ScriptedAnimationController instances to request animation frames. The second one would fail to register with the monitor.

I&apos;ll see if I can put together something that manages to do that (it may be impossible due to more high level mechanisms, not sure).

The reason I ran into this is not a specific bug, but development on a new feature for the BlackBerry port, perform accelerated compositing sync on a requestAnimationFrame instead of a 0-timeout timer. The idea is to service all the JS animations first, and then perform the AC sync last, to make sure their most recent animation changes become visible immediately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707704</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-29 11:52:56 -0700</bug_when>
    <thetext>So a page with an iframe, and both the parent and iframe doing RAF would see this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707832</commentid>
    <comment_count>4</comment_count>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2012-08-29 13:55:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; So a page with an iframe, and both the parent and iframe doing RAF would see this?

Yes, I&apos;ll try a frameset or iframe testcase as a reduction. So far, this is all in theory :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709082</commentid>
    <comment_count>5</comment_count>
      <attachid>161568</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-30 15:13:17 -0700</bug_when>
    <thetext>Created attachment 161568
RAF test (to be used in a subframe)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709083</commentid>
    <comment_count>6</comment_count>
      <attachid>161569</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-30 15:14:11 -0700</bug_when>
    <thetext>Created attachment 161569
Test with RAF in main document and iframe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709086</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-30 15:14:43 -0700</bug_when>
    <thetext>The attached second testcase certainly shows issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709087</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-30 15:15:29 -0700</bug_when>
    <thetext>Safari also feels sluggish after loading these testcases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709091</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-08-30 15:16:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/12210661&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728978</commentid>
    <comment_count>10</comment_count>
    <who name="Andrew Lo">anlo</who>
    <bug_when>2012-09-26 14:26:20 -0700</bug_when>
    <thetext>taking</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729824</commentid>
    <comment_count>11</comment_count>
      <attachid>166058</attachid>
    <who name="Andrew Lo">anlo</who>
    <bug_when>2012-09-27 13:42:19 -0700</bug_when>
    <thetext>Created attachment 166058
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729833</commentid>
    <comment_count>12</comment_count>
      <attachid>166058</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-09-27 13:58:19 -0700</bug_when>
    <thetext>Comment on attachment 166058
Patch

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

&gt; LayoutTests/fast/animation/request-animation-frame-iframe2.html:23
&gt; +        window.webkitRequestAnimationFrame(function() {
&gt; +            mainFrameCallbackInvoked = true;
&gt; +        }, e);

requestAnimationFrame() does not take an element parameter. That subframe JS should be fixed too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729901</commentid>
    <comment_count>13</comment_count>
      <attachid>166069</attachid>
    <who name="Andrew Lo">anlo</who>
    <bug_when>2012-09-27 15:03:24 -0700</bug_when>
    <thetext>Created attachment 166069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729916</commentid>
    <comment_count>14</comment_count>
      <attachid>166069</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 15:25:20 -0700</bug_when>
    <thetext>Comment on attachment 166069
Patch

Clearing flags on attachment: 166069

Committed r129808: &lt;http://trac.webkit.org/changeset/129808&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729917</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 15:25:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729999</commentid>
    <comment_count>16</comment_count>
      <attachid>166069</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-09-27 16:43:27 -0700</bug_when>
    <thetext>Comment on attachment 166069
Patch

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

&gt; Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp:83
&gt; +    DisplayRefreshMonitorClientSet::iterator it = m_clients.find(client);
&gt; +    if (it != m_clients.end())
&gt; +        return;
&gt; +
&gt;      m_clients.add(client);

This change was not needed. The HashSet::add function already is guaranteed to safely do nothing if the pointer is already in the set.

Please roll this change out, since it all it does is add additional unnecessary code.

&gt; Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp:143
&gt; +    it-&gt;second.get()-&gt;addClient(client);

Should not need to explicitly call get() if we are going to use -&gt; right afterward. Pleas omit the &quot;.get()&quot; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730138</commentid>
    <comment_count>17</comment_count>
    <who name="Andrew Lo">anlo</who>
    <bug_when>2012-09-27 19:26:40 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730139</commentid>
    <comment_count>18</comment_count>
      <attachid>166118</attachid>
    <who name="Andrew Lo">anlo</who>
    <bug_when>2012-09-27 19:26:45 -0700</bug_when>
    <thetext>Created attachment 166118
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730187</commentid>
    <comment_count>19</comment_count>
      <attachid>166118</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 20:15:16 -0700</bug_when>
    <thetext>Comment on attachment 166118
Patch

Clearing flags on attachment: 166118

Committed r129842: &lt;http://trac.webkit.org/changeset/129842&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730188</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 20:15:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>161568</attachid>
            <date>2012-08-30 15:13:17 -0700</date>
            <delta_ts>2012-08-30 15:13:17 -0700</delta_ts>
            <desc>RAF test (to be used in a subframe)</desc>
            <filename>rAF-test.html</filename>
            <type>text/html</type>
            <size>528</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KPGhlYWQ+CiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KICAgIHZhciBjb3VudGVyID0gMDsKICAgIAogICAgZnVu
Y3Rpb24gYXBwZW5kTG9nKHMpCiAgICB7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3V0
cHV0JykuaW5uZXJIVE1MID0gKytjb3VudGVyOwogICAgfQogICAgCiAgICBmdW5jdGlvbiBmaXJl
T25lUkFGKCkKICAgIHsKICAgICAgYXBwZW5kTG9nKCdmaXJpbmcgb25jZScpOwogICAgICAKICAg
ICAgdmFyIGNhbGxiYWNrSUQgPSB3aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1
bmN0aW9uKCkgewogICAgICAgIGFwcGVuZExvZygnZmlyZWQnKTsKICAgICAgICBmaXJlT25lUkFG
KCk7CiAgICAgIH0pOwogICAgICAKICAgIH0KICAgIAogICAgCiAgPC9zY3JpcHQ+CjwvaGVhZD4K
PGJvZHkgb25sb2FkPSJmaXJlT25lUkFGKCkiPgoKICA8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2Pgo8
L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>161569</attachid>
            <date>2012-08-30 15:14:11 -0700</date>
            <delta_ts>2012-08-30 15:14:11 -0700</delta_ts>
            <desc>Test with RAF in main document and iframe</desc>
            <filename>rAF-in-frame.html</filename>
            <type>text/html</type>
            <size>785</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KPGhlYWQ+CiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KICAgIHZhciBjb3VudGVyID0gMDsKICAgIAogICAgZnVu
Y3Rpb24gYXBwZW5kTG9nKHMpCiAgICB7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3V0
cHV0JykuaW5uZXJIVE1MID0gKytjb3VudGVyOwogICAgfQogICAgCiAgICBmdW5jdGlvbiBmaXJl
T25lUkFGKCkKICAgIHsKICAgICAgYXBwZW5kTG9nKCdmaXJpbmcgb25jZScpOwogICAgICAKICAg
ICAgdmFyIGNhbGxiYWNrSUQgPSB3aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1
bmN0aW9uKCkgewogICAgICAgIGFwcGVuZExvZygnZmlyZWQnKTsKICAgICAgICBmaXJlT25lUkFG
KCk7CiAgICAgIH0pOwogICAgICAKICAgIH0KICAgIAogICAgZnVuY3Rpb24gZW50ZXJGdWxsc2Ny
ZWVuKCkKICAgIHsKICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQud2Via2l0UmVxdWVz
dEZ1bGxTY3JlZW4oKTsKICAgIH0KICA8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keSBvbmxvYWQ9ImZp
cmVPbmVSQUYoKSI+CgogIDxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+CiAgCiAgPGlmcmFtZSBzcmM9
Imh0dHBzOi8vYnVnLTk1MzYwLWF0dGFjaG1lbnRzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/
aWQ9MTYxNTY4Ij48L2lmcmFtZT4KICAKICA8YnV0dG9uIG9uY2xpY2s9ImVudGVyRnVsbHNjcmVl
bigpIj5HbyBmdWxsc2NyZWVuPC9idXR0b24+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166058</attachid>
            <date>2012-09-27 13:42:19 -0700</date>
            <delta_ts>2012-09-27 15:03:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95360-20120927164613.patch</filename>
            <type>text/plain</type>
            <size>5379</size>
            <attacher name="Andrew Lo">anlo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjhlMzAxZmFiNDFhOGI0
MmRiMGQyYzEzYWI1Nzg4MTQ0OWNjZmU4Zi4uYWIyOTRiOTFjM2EyODRiNDliYzRlNTMxNmJlYjkx
MmEyOTNkYzExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA5LTI3ICBBbmRy
ZXcgTG8gIDxhbmxvQHJpbS5jb20+CisKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGJy
b2tlbiB3aXRoIHN1YmZyYW1lcyAoRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6cmVnaXN0
ZXJDbGllbnQgZmFpbHMgdG8gcmVnaXN0ZXIgY2xpZW50KQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUzNjAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjpl
bnN1cmVNb25pdG9yRm9yQ2xpZW50IGN1cnJlbnRseSBvbmx5IGFkZHMgdGhlIERpc3BsYXlSZWZy
ZXNoTW9uaXRvckNsaWVudAorICAgICAgICB0byB0aGUgYXBwcm9wcmlhdGUgRGlzcGxheVJlZnJl
c2hNb25pdG9yIHdoZW4gYSBuZXcgbW9uaXRvciBpcyBjcmVhdGVkLgorICAgICAgICBJdCBzaG91
bGQgYWxzbyBkbyBzbyB3aGVuIGl0IGZpbmRzIGFuIGV4aXN0aW5nIG1vbml0b3IuCisKKyAgICAg
ICAgVGVzdDogZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtaWZyYW1lMi5o
dG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yOjphZGRDbGllbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6ZW5zdXJl
TW9uaXRvckZvckNsaWVudCk6CisKIDIwMTItMDktMjUgIExlbyBZYW5nICA8bGVveWFuZ0ByaW0u
Y29tPgogCiAgICAgICAgIEdyYXBoaWNzQ29udGV4dDNEOjpjb21waWxlU2hhZGVyIGlzIHVzaW5n
IGluY29ycmVjdCBzdHJpbmcgbGVuZ3RoIGluIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxh
eVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rp
c3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggMzBkOGQzZDQxZTIyYmRkYTEwNzY0ZDhmNmEx
ZWY0MDMzYTYyOWRhYS4uMTQxZmIxZTI2MjgxZDhhM2Q4ZDEzZjk4N2I1NzU1NDU0ZGQzYTk2YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJl
c2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNw
bGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC03Niw2ICs3NiwxMCBAQCB2b2lkIERpc3BsYXlSZWZy
ZXNoTW9uaXRvcjo6aGFuZGxlRGlzcGxheVJlZnJlc2hlZE5vdGlmaWNhdGlvbk9uTWFpblRocmVh
ZCh2b2lkKgogCiB2b2lkIERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6YWRkQ2xpZW50KERpc3BsYXlS
ZWZyZXNoTW9uaXRvckNsaWVudCogY2xpZW50KQogeworICAgIERpc3BsYXlSZWZyZXNoTW9uaXRv
ckNsaWVudFNldDo6aXRlcmF0b3IgaXQgPSBtX2NsaWVudHMuZmluZChjbGllbnQpOworICAgIGlm
IChpdCAhPSBtX2NsaWVudHMuZW5kKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIG1fY2xpZW50
cy5hZGQoY2xpZW50KTsKIH0KIApAQCAtMTM2LDcgKzE0MCw3IEBAIERpc3BsYXlSZWZyZXNoTW9u
aXRvciogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6ZW5zdXJlTW9uaXRvckZvckNsaWVu
dChEaXNwCiAgICAgICAgIG1fbW9uaXRvcnMuYWRkKGNsaWVudC0+bV9kaXNwbGF5SUQsIG1vbml0
b3IucmVsZWFzZSgpKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0KKyAgICBpdC0+
c2Vjb25kLmdldCgpLT5hZGRDbGllbnQoY2xpZW50KTsKICAgICByZXR1cm4gaXQtPnNlY29uZC5n
ZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDY1NGNkYmY1NmE1N2VjNjJkMDZkMWUyNGNiODg5M2JjMWFiMjQw
ZDcuLjRkODNkOGFmM2RhNDlmNmViN2MyODE4MmJhNTVmMTdjYTA2ZWI4MDUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMi0wOS0yNyAgQW5kcmV3IExvICA8YW5sb0ByaW0uY29tPgorCisgICAg
ICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSBicm9rZW4gd2l0aCBzdWJmcmFtZXMgKERpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hbmFnZXI6OnJlZ2lzdGVyQ2xpZW50IGZhaWxzIHRvIHJlZ2lzdGVyIGNs
aWVudCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1
MzYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgbmV3IHRlc3Qgd2hpY2ggZG9lcyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaW4gYm90aCBhIHN1
Yi1mcmFtZSBhbmQKKyAgICAgICAgbWFpbi1mcmFtZSwgYW5kIGNoZWNrcyB0aGF0IGJvdGggd2Vy
ZSBleGVjdXRlZC4KKworICAgICAgICAqIGZhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9u
LWZyYW1lLWlmcmFtZTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2FuaW1h
dGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1pZnJhbWUyLmh0bWw6IEFkZGVkLgorCiAyMDEy
LTA5LTIwICBPdHRvIERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogQ29va2llIGluZm8gaW4gTmV0d29yayBSZXNvdXJjZXMgQ29va2llcyB0
YWIgYXJlIGluY29ycmVjdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24v
cmVxdWVzdC1hbmltYXRpb24tZnJhbWUtaWZyYW1lMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2FuaW1hdGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1pZnJhbWUyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jOGQ4MWM0ODM2NTc1MTllOWExYzY1ZDE3NjZkZWU3Zjg1MWZkNDhj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vcmVxdWVzdC1h
bmltYXRpb24tZnJhbWUtaWZyYW1lMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVz
dHMgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGluIGJvdGggYW4gaWZyYW1lIGFuZCBtYWluIGZyYW1l
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNhbGxiYWNrSW52b2tlZCBp
cyB0cnVlCitQQVNTIG1haW5GcmFtZUNhbGxiYWNrSW52b2tlZCBpcyB0cnVlCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWlmcmFtZTIu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1l
LWlmcmFtZTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NmNjYmViMTY1MjUwM2ExMDZjM2I1YTFkNTc5Yjhh
ZDA4MTc0OWE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24v
cmVxdWVzdC1hbmltYXRpb24tZnJhbWUtaWZyYW1lMi5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPHNwYW4gaWQ9ImUiPjwvc3Bh
bj4KKzxib2R5PgorICAgIDxpZnJhbWUgc3JjPSJzY3JpcHQtdGVzdHMvcmVxdWVzdC1hbmltYXRp
b24tZnJhbWUtc3ViZnJhbWUuaHRtbCIgd2lkdGg9IjcwMCIgaGVpZ2h0PSI1MDAiPjwvaWZyYW1l
PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+Cisg
ICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaW4gYm90aCBh
biBpZnJhbWUgYW5kIG1haW4gZnJhbWUiKTsKKworICAgICAgICB2YXIgY2FsbGJhY2tJbnZva2Vk
ID0gZmFsc2U7CisgICAgICAgIHZhciBtYWluRnJhbWVDYWxsYmFja0ludm9rZWQgPSBmYWxzZTsK
KworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CisgICAgICAgIH0KKworICAgICAgICB2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
Iik7CisgICAgICAgIHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICBtYWluRnJhbWVDYWxsYmFja0ludm9rZWQgPSB0cnVlOworICAgICAg
ICB9LCBlKTsKKworICAgICAgICAvLyBDYWxsZWQgZnJvbSBzdWJmcmFtZS4KKyAgICAgICAgZnVu
Y3Rpb24gZG9EaXNwbGF5KCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZGlzcGxheSgpOworICAgICAgICB9
CisKKyAgICAgICAgZnVuY3Rpb24gZG9DaGVja1Jlc3VsdCgpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHNob3VsZEJlVHJ1ZSgiY2FsbGJhY2tJbnZva2VkIik7CisgICAgICAgICAgICBzaG91bGRC
ZVRydWUoIm1haW5GcmFtZUNhbGxiYWNrSW52b2tlZCIpOworICAgICAgICB9CisKKyAgICAgICAg
ZnVuY3Rpb24gZG9UZXN0RG9uZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlzU3VjY2Vzc2Z1
bGx5UGFyc2VkKCk7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICA8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166069</attachid>
            <date>2012-09-27 15:03:24 -0700</date>
            <delta_ts>2012-09-27 19:26:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95360-20120927180717.patch</filename>
            <type>text/plain</type>
            <size>6236</size>
            <attacher name="Andrew Lo">anlo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjhlMzAxZmFiNDFhOGI0
MmRiMGQyYzEzYWI1Nzg4MTQ0OWNjZmU4Zi4uYWIyOTRiOTFjM2EyODRiNDliYzRlNTMxNmJlYjkx
MmEyOTNkYzExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA5LTI3ICBBbmRy
ZXcgTG8gIDxhbmxvQHJpbS5jb20+CisKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGJy
b2tlbiB3aXRoIHN1YmZyYW1lcyAoRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6cmVnaXN0
ZXJDbGllbnQgZmFpbHMgdG8gcmVnaXN0ZXIgY2xpZW50KQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUzNjAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjpl
bnN1cmVNb25pdG9yRm9yQ2xpZW50IGN1cnJlbnRseSBvbmx5IGFkZHMgdGhlIERpc3BsYXlSZWZy
ZXNoTW9uaXRvckNsaWVudAorICAgICAgICB0byB0aGUgYXBwcm9wcmlhdGUgRGlzcGxheVJlZnJl
c2hNb25pdG9yIHdoZW4gYSBuZXcgbW9uaXRvciBpcyBjcmVhdGVkLgorICAgICAgICBJdCBzaG91
bGQgYWxzbyBkbyBzbyB3aGVuIGl0IGZpbmRzIGFuIGV4aXN0aW5nIG1vbml0b3IuCisKKyAgICAg
ICAgVGVzdDogZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtaWZyYW1lMi5o
dG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yOjphZGRDbGllbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6ZW5zdXJl
TW9uaXRvckZvckNsaWVudCk6CisKIDIwMTItMDktMjUgIExlbyBZYW5nICA8bGVveWFuZ0ByaW0u
Y29tPgogCiAgICAgICAgIEdyYXBoaWNzQ29udGV4dDNEOjpjb21waWxlU2hhZGVyIGlzIHVzaW5n
IGluY29ycmVjdCBzdHJpbmcgbGVuZ3RoIGluIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxh
eVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rp
c3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggMzBkOGQzZDQxZTIyYmRkYTEwNzY0ZDhmNmEx
ZWY0MDMzYTYyOWRhYS4uMTQxZmIxZTI2MjgxZDhhM2Q4ZDEzZjk4N2I1NzU1NDU0ZGQzYTk2YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJl
c2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNw
bGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC03Niw2ICs3NiwxMCBAQCB2b2lkIERpc3BsYXlSZWZy
ZXNoTW9uaXRvcjo6aGFuZGxlRGlzcGxheVJlZnJlc2hlZE5vdGlmaWNhdGlvbk9uTWFpblRocmVh
ZCh2b2lkKgogCiB2b2lkIERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6YWRkQ2xpZW50KERpc3BsYXlS
ZWZyZXNoTW9uaXRvckNsaWVudCogY2xpZW50KQogeworICAgIERpc3BsYXlSZWZyZXNoTW9uaXRv
ckNsaWVudFNldDo6aXRlcmF0b3IgaXQgPSBtX2NsaWVudHMuZmluZChjbGllbnQpOworICAgIGlm
IChpdCAhPSBtX2NsaWVudHMuZW5kKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIG1fY2xpZW50
cy5hZGQoY2xpZW50KTsKIH0KIApAQCAtMTM2LDcgKzE0MCw3IEBAIERpc3BsYXlSZWZyZXNoTW9u
aXRvciogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6ZW5zdXJlTW9uaXRvckZvckNsaWVu
dChEaXNwCiAgICAgICAgIG1fbW9uaXRvcnMuYWRkKGNsaWVudC0+bV9kaXNwbGF5SUQsIG1vbml0
b3IucmVsZWFzZSgpKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0KKyAgICBpdC0+
c2Vjb25kLmdldCgpLT5hZGRDbGllbnQoY2xpZW50KTsKICAgICByZXR1cm4gaXQtPnNlY29uZC5n
ZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDY1NGNkYmY1NmE1N2VjNjJkMDZkMWUyNGNiODg5M2JjMWFiMjQw
ZDcuLmZiODBjYTkwYmI4NjMzMzc4Y2IyOTkwYzk5OTdmOTUwYjMxMDI5MWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMi0wOS0yNyAgQW5kcmV3IExvICA8YW5sb0ByaW0uY29tPgorCisgICAg
ICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSBicm9rZW4gd2l0aCBzdWJmcmFtZXMgKERpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hbmFnZXI6OnJlZ2lzdGVyQ2xpZW50IGZhaWxzIHRvIHJlZ2lzdGVyIGNs
aWVudCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1
MzYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgbmV3IHRlc3Qgd2hpY2ggZG9lcyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaW4gYm90aCBhIHN1
Yi1mcmFtZSBhbmQKKyAgICAgICAgbWFpbi1mcmFtZSwgYW5kIGNoZWNrcyB0aGF0IGJvdGggd2Vy
ZSBleGVjdXRlZC4KKworICAgICAgICAqIGZhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9u
LWZyYW1lLWlmcmFtZTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2FuaW1h
dGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1pZnJhbWUyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvYW5pbWF0aW9uL3NjcmlwdC10ZXN0cy9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1z
dWJmcmFtZS5odG1sOgorICAgICAgICAgICAgUmVtb3ZlIGVsZW1lbnQgcGFyYW1ldGVyIGZyb20g
d2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZS4KKwogMjAxMi0wOS0yMCAgT3R0byBE
ZXJlayBDaGV1bmcgIDxvdGNoZXVuZ0ByaW0uY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IENvb2tpZSBpbmZvIGluIE5ldHdvcmsgUmVzb3VyY2VzIENvb2tpZXMgdGFiIGFyZSBpbmNvcnJl
Y3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0
aW9uLWZyYW1lLWlmcmFtZTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRp
b24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtaWZyYW1lMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWVhODMxYWUxNjhhYmQ0YzEyMGE5NjRjMThmYzg5ZmE4YjU5N2Q3OAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1l
LWlmcmFtZTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3RzIHJlcXVlc3RBbmlt
YXRpb25GcmFtZSBpbiBib3RoIGFuIGlmcmFtZSBhbmQgbWFpbiBmcmFtZQorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjYWxsYmFja0ludm9rZWQgaXMgdHJ1ZQorUEFTUyBt
YWluRnJhbWVDYWxsYmFja0ludm9rZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
YW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWlmcmFtZTIuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWlmcmFtZTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40ZjYzYmQwNTc2MTMzMDJjYTI1ZmY5MTY2NGFiMjUxNTdhZGY0MGVkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRp
b24tZnJhbWUtaWZyYW1lMi5odG1sCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGlmcmFtZSBzcmM9InNjcmlwdC10
ZXN0cy9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1zdWJmcmFtZS5odG1sIiB3aWR0aD0iNzAwIiBo
ZWlnaHQ9IjUwMCI+PC9pZnJhbWU+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHJlcXVlc3RBbmlt
YXRpb25GcmFtZSBpbiBib3RoIGFuIGlmcmFtZSBhbmQgbWFpbiBmcmFtZSIpOworCisgICAgICAg
IHZhciBjYWxsYmFja0ludm9rZWQgPSBmYWxzZTsKKyAgICAgICAgdmFyIG1haW5GcmFtZUNhbGxi
YWNrSW52b2tlZCA9IGZhbHNlOworCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHdpbmRvdy53ZWJraXRS
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBtYWluRnJhbWVD
YWxsYmFja0ludm9rZWQgPSB0cnVlOworICAgICAgICB9KTsKKworICAgICAgICAvLyBDYWxsZWQg
ZnJvbSBzdWJmcmFtZS4KKyAgICAgICAgZnVuY3Rpb24gZG9EaXNwbGF5KCkKKyAgICAgICAgewor
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZGlzcGxheSgpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gZG9DaGVja1Jl
c3VsdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiY2FsbGJhY2tJbnZv
a2VkIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIm1haW5GcmFtZUNhbGxiYWNrSW52b2tl
ZCIpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gZG9UZXN0RG9uZSgpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7CisgICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3NjcmlwdC10ZXN0cy9yZXF1ZXN0LWFuaW1h
dGlvbi1mcmFtZS1zdWJmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vc2Ny
aXB0LXRlc3RzL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLXN1YmZyYW1lLmh0bWwKaW5kZXggOTZk
YjgyODZhZDYxYjE5MjFlMmYzMTA3OWRmMDVhMzg1ZjVjN2ZlNC4uMzc1MmM4MDg0NTM1ZmQ0NTQ1
MTk3MmUzYTljNDUwNWIwZTI2OWZkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9hbmlt
YXRpb24vc2NyaXB0LXRlc3RzL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLXN1YmZyYW1lLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vc2NyaXB0LXRlc3RzL3JlcXVlc3QtYW5p
bWF0aW9uLWZyYW1lLXN1YmZyYW1lLmh0bWwKQEAgLTQsMTMgKzQsMTAgQEAKIDxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgog
PGJvZHk+Ci08c3BhbiBpZD0iZSI+PC9zcGFuPgotPHNwYW4gaWQ9ImYiPjwvc3Bhbj4KIDxzY3Jp
cHQ+Ci0gICAgdmFyIGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZSIpOwogICAgIHdpbmRv
dy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKSB7CiAgICAgICAgIHBhcmVu
dC5jYWxsYmFja0ludm9rZWQgPSB0cnVlOwotICAgIH0sIGUpOworICAgIH0pOwogCiAgICAgcGFy
ZW50LmRvRGlzcGxheSgpOwogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166118</attachid>
            <date>2012-09-27 19:26:45 -0700</date>
            <delta_ts>2012-09-27 20:15:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95360-20120927223039.patch</filename>
            <type>text/plain</type>
            <size>2225</size>
            <attacher name="Andrew Lo">anlo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWIyOTRiOTFjM2EyODRi
NDliYzRlNTMxNmJlYjkxMmEyOTNkYzExNS4uNjkyMjc3YWE1NmMyMmFhNDFjZWU1ZDM5N2ZiODE3
MThhM2EwYTNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtNSw2ICs1LDIxIEBACiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGNvZGUg
aW50cm9kdWNlZCBpbiBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjk4MDguCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgaXQncyBhbHJlYWR5IGNvdmVyZWQgYnkgZmFz
dC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtaWZyYW1lMi5odG1sLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcjo6YWRkQ2xpZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6OmVuc3VyZU1vbml0b3JGb3JD
bGllbnQpOgorCisyMDEyLTA5LTI3ICBBbmRyZXcgTG8gIDxhbmxvQHJpbS5jb20+CisKKyAgICAg
ICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGJyb2tlbiB3aXRoIHN1YmZyYW1lcyAoRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFuYWdlcjo6cmVnaXN0ZXJDbGllbnQgZmFpbHMgdG8gcmVnaXN0ZXIgY2xp
ZW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUz
NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBEaXNw
bGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjplbnN1cmVNb25pdG9yRm9yQ2xpZW50IGN1cnJlbnRs
eSBvbmx5IGFkZHMgdGhlIERpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudAogICAgICAgICB0byB0
aGUgYXBwcm9wcmlhdGUgRGlzcGxheVJlZnJlc2hNb25pdG9yIHdoZW4gYSBuZXcgbW9uaXRvciBp
cyBjcmVhdGVkLgogICAgICAgICBJdCBzaG91bGQgYWxzbyBkbyBzbyB3aGVuIGl0IGZpbmRzIGFu
IGV4aXN0aW5nIG1vbml0b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAppbmRleCAxNDFmYjFlMjYyODFk
OGEzZDhkMTNmOTg3YjU3NTU0NTRkZDNhOTZhLi5jNjdlN2EwNDgwYTc2NmIyMDA5ZTMwOTU0OTdl
ZjNhMTk0YzQ5NjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKQEAgLTc2LDEwICs3Niw2IEBAIHZv
aWQgRGlzcGxheVJlZnJlc2hNb25pdG9yOjpoYW5kbGVEaXNwbGF5UmVmcmVzaGVkTm90aWZpY2F0
aW9uT25NYWluVGhyZWFkKHZvaWQqCiAKIHZvaWQgRGlzcGxheVJlZnJlc2hNb25pdG9yOjphZGRD
bGllbnQoRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50KiBjbGllbnQpCiB7Ci0gICAgRGlzcGxh
eVJlZnJlc2hNb25pdG9yQ2xpZW50U2V0OjppdGVyYXRvciBpdCA9IG1fY2xpZW50cy5maW5kKGNs
aWVudCk7Ci0gICAgaWYgKGl0ICE9IG1fY2xpZW50cy5lbmQoKSkKLSAgICAgICAgcmV0dXJuOwot
CiAgICAgbV9jbGllbnRzLmFkZChjbGllbnQpOwogfQogCkBAIC0xNDAsNyArMTM2LDcgQEAgRGlz
cGxheVJlZnJlc2hNb25pdG9yKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjplbnN1cmVN
b25pdG9yRm9yQ2xpZW50KERpc3AKICAgICAgICAgbV9tb25pdG9ycy5hZGQoY2xpZW50LT5tX2Rp
c3BsYXlJRCwgbW9uaXRvci5yZWxlYXNlKCkpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KLSAgICBpdC0+c2Vjb25kLmdldCgpLT5hZGRDbGllbnQoY2xpZW50KTsKKyAgICBpdC0+c2Vj
b25kLT5hZGRDbGllbnQoY2xpZW50KTsKICAgICByZXR1cm4gaXQtPnNlY29uZC5nZXQoKTsKIH0K
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>