<?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>80978</bug_id>
          
          <creation_ts>2012-03-13 02:22:20 -0700</creation_ts>
          <short_desc>[BlackBerry] MMRPlayer will hang webkit thread when retrieving media metadata</short_desc>
          <delta_ts>2012-04-11 19:10:48 -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>WebKit BlackBerry</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>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jonathan Dong">jonathan.dong.webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bipingm</cc>
    
    <cc>charles.wei</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>leo.yang</cc>
    
    <cc>mfeil</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>staikos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>577179</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-13 02:22:20 -0700</bug_when>
    <thetext>this always happens in bad network environment. When MMRPlayer need a long time
to retrieve metadata, the webkit thread is blocked until user get the metadata
or press cancel.

way to reproduce:
1. load live streaming url: http://multiplatform-f.akamaihd.net/i/multi/seeker/LegendofSeeker_16x9_24fps_H264,_1.4Mbps,_1.8Mbps,_1Mbps,_2.5Mbps,_400K,_650K,.mp4.csmil/master.m3u8
then you can see the chrome stop responding when retrieving metadata before the media can get played.

root cause:
the webkit thread will wait for the metadata retrieving thread in
MMRPlayer::mmrConnect(). we should avoid using pthread_cond_timedwait() here,
instead we can start a timer to check the metadata finished status every time
it get fired.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577191</commentid>
    <comment_count>1</comment_count>
      <attachid>131577</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-13 02:41:27 -0700</bug_when>
    <thetext>Created attachment 131577
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577224</commentid>
    <comment_count>2</comment_count>
      <attachid>131577</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-03-13 04:19:31 -0700</bug_when>
    <thetext>Comment on attachment 131577
Patch

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

&gt; Source/WebCore/ChangeLog:15
&gt; +        No new tests.

It seems like a test is possible?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583048</commentid>
    <comment_count>3</comment_count>
      <attachid>131577</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-03-20 07:24:24 -0700</bug_when>
    <thetext>Comment on attachment 131577
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:15
&gt;&gt; +        No new tests.
&gt; 
&gt; It seems like a test is possible?

Yes definitely. LayoutTests/http/tests/media/video-load-and-stall.cgi will load part of a file and stall forever, and LayoutTests/http/tests/media/video-throttled-load.cgi will load a file at a specified bitrate to simulate a slow network. These are used by several media tests in LayoutTests/http/tests/media.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596838</commentid>
    <comment_count>4</comment_count>
      <attachid>131577</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-05 13:12:17 -0700</bug_when>
    <thetext>Comment on attachment 131577
Patch

Needs investigation whether a test can be made, per Eric&apos;s and my comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598982</commentid>
    <comment_count>5</comment_count>
      <attachid>136391</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-04-09 21:13:11 -0700</bug_when>
    <thetext>Created attachment 136391
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599248</commentid>
    <comment_count>6</comment_count>
      <attachid>136391</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-10 07:19:16 -0700</bug_when>
    <thetext>Comment on attachment 136391
Patch

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

Looks good, nice that a test can be added, please fix the typo&apos;s before landing.

&gt; Source/WebCore/ChangeLog:10
&gt; +        which starts a timer to wait for the metadata retriving

Typo retrieving.

&gt; Source/WebCore/ChangeLog:11
&gt; +        finish, and popup a dialog to notify user what to do

&quot;to finish&quot;, &quot;the user&quot;

&gt; Source/WebCore/ChangeLog:12
&gt; +        if still haven&apos;t get metadata when timer fired. This won&apos;t

&quot;if still haven&apos;t get metadata&quot; -&gt; &quot;if there still is no metadata&quot;

&gt; Source/WebCore/ChangeLog:13
&gt; +        block the webkit thread as what we used to do in platform repo.

please rephrase the last sentence, it is not completely clear to me what you mean.

&gt; LayoutTests/ChangeLog:11
&gt; +        webkit thread is blocked by media retriving thread.

Typo retrieving.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599343</commentid>
    <comment_count>7</comment_count>
      <attachid>136391</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-04-10 09:31:50 -0700</bug_when>
    <thetext>Comment on attachment 136391
Patch

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

Marking r- for the incorrect &apos;type&apos; param in the cgi url.

&gt; LayoutTests/http/tests/media/video-throttle-load-metadata-worker.js:2
&gt; +postMessage(&quot;Message from worker thread&quot;);
&gt;  \ No newline at end of file

Nit: please add a blank line at the end of the file.

&gt; LayoutTests/http/tests/media/video-throttle-load-metadata.html:5
&gt; +    &lt;!--
&gt; +    This test case is for https://bugs.webkit.org/show_bug.cgi?id=80978
&gt; +    --!&gt;

Nit: Personally, I think comments like this are very helpful to have in the markup of the test so someone looking at the test results, or running the test itself, can see it without having to look through the source.

&gt; LayoutTests/http/tests/media/video-throttle-load-metadata.html:13
&gt; +        function loadedmetadata(e) {
&gt; +            logResult(true, &quot;loaded metadata of media file&quot;);
&gt; +            endTest();
&gt; +        }

WebKit style is to have a function&apos;s opening brace on a new line.

&gt; LayoutTests/http/tests/media/video-throttle-load-metadata.html:15
&gt; +        function error(e) {

Ditto.

&gt; LayoutTests/http/tests/media/video-throttle-load-metadata.html:20
&gt; +        function start() {

Ditto.

&gt; LayoutTests/http/tests/media/video-throttle-load-metadata.html:32
&gt; +            video.src = &quot;http://127.0.0.1:8000/media/video-throttled-load.cgi?name=&quot; + movie + &quot;&amp;throttle=400&amp;type=video/mp4&quot;;

&quot;type=video/mp4&quot; isn&apos;t necessarily correct. findMediaFile() will return a file that the current port can load, which may not be MPEG-4. You should use something like &quot;mimeTypeForExtension(movie.split(&apos;.&apos;).pop())&quot; instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599958</commentid>
    <comment_count>8</comment_count>
      <attachid>136391</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-04-10 19:49:23 -0700</bug_when>
    <thetext>Comment on attachment 136391
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:13
&gt;&gt; +        block the webkit thread as what we used to do in platform repo.
&gt; 
&gt; please rephrase the last sentence, it is not completely clear to me what you mean.

Thanks Rob, What I&apos;m trying to say is according to our old implementation in platform repo, we hang the webkit thread to wait for metadata thread to finish, the codes lie inside the class BlackBerry::Platform::MMRPlayer::mmrConnect. This patch is part of the fix for this issue, the other part of fix in platform repo has already get reviewed by Max and will push into the trunk together with this one when done.
As this sentence is kind of confusing, and the former words already described the function of this patch, so I intend to remove it in the next patch.

&gt;&gt; LayoutTests/http/tests/media/video-throttle-load-metadata.html:32
&gt;&gt; +            video.src = &quot;http://127.0.0.1:8000/media/video-throttled-load.cgi?name=&quot; + movie + &quot;&amp;throttle=400&amp;type=video/mp4&quot;;
&gt; 
&gt; &quot;type=video/mp4&quot; isn&apos;t necessarily correct. findMediaFile() will return a file that the current port can load, which may not be MPEG-4. You should use something like &quot;mimeTypeForExtension(movie.split(&apos;.&apos;).pop())&quot; instead.

Thanks Eric, will fix it with the next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599992</commentid>
    <comment_count>9</comment_count>
      <attachid>136617</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-04-10 20:40:17 -0700</bug_when>
    <thetext>Created attachment 136617
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600236</commentid>
    <comment_count>10</comment_count>
      <attachid>136617</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-11 07:04:06 -0700</bug_when>
    <thetext>Comment on attachment 136617
Patch

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

LGTM. Let&apos;s wait a bit with cq+, maybe Eric has some more comments.

&gt; Source/WebCore/ChangeLog:11
&gt; +        finish, and popup a dialog to notify the user what to do

and popup -&gt; and pops up

&gt; Source/WebCore/ChangeLog:12
&gt; +        if there still is no metadata when the timer fired.

fired -&gt; fires</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600405</commentid>
    <comment_count>11</comment_count>
      <attachid>136617</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-04-11 10:46:58 -0700</bug_when>
    <thetext>Comment on attachment 136617
Patch

Looks good to me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600411</commentid>
    <comment_count>12</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-11 10:49:19 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 136617 [details])
&gt; Looks good to me!

Thanks Eric!
Jonathan, please fix the typo&apos;s tomorrow and get Charles or Leo to help with landing this :)
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600763</commentid>
    <comment_count>13</comment_count>
      <attachid>136801</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-04-11 17:46:29 -0700</bug_when>
    <thetext>Created attachment 136801
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600807</commentid>
    <comment_count>14</comment_count>
      <attachid>136801</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-11 19:10:42 -0700</bug_when>
    <thetext>Comment on attachment 136801
Patch

Clearing flags on attachment: 136801

Committed r113937: &lt;http://trac.webkit.org/changeset/113937&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600808</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-11 19:10:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131577</attachid>
            <date>2012-03-13 02:41:27 -0700</date>
            <delta_ts>2012-04-09 21:12:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80978-20120313174125.patch</filename>
            <type>text/plain</type>
            <size>4064</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA3YjFkNWJiMTM4MDdk
YWU0MTE0N2I1Yzk0MGQyNTU4ODZmYWJmZS4uMWU0NzE4NGZjMzljMzVjYzc1ZDRmZDVmYTQ3OGM3
NjMyMWNiMjkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAzLTEzICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIE1NUlBsYXllciB3aWxsIGhhbmcgd2Via2l0IHRocmVhZCB3aGVuIHJldHJp
ZXZpbmcgbWVkaWEgbWV0YWRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwOTc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wbGVtZW50ZWQgdGhlIGludGVyZmFjZSBmdW5jdGlvbjogdm9pZCBvbldh
aXRNZXRhZGF0YU5vdGlmaWVkKGJvb2wpCisgICAgICAgIHdoaWNoIHN0YXJ0cyBhIHRpbWVyIHRv
IHdhaXQgZm9yIHRoZSBtZXRhZGF0YSByZXRyaWV2aW5nCisgICAgICAgIGZpbmlzaCwgYW5kIHBv
cHVwIGEgZGlhbG9nIHRvIG5vdGlmeSB1c2VyIHdoYXQgdG8gZG8gaWYKKyAgICAgICAgc3RpbGwg
aGF2ZW4ndCBnZXQgbWV0YWRhdGEgd2hlbiB0aW1lciBmaXJlZC4KKyAgICAgICAgVGhpcyB3b24n
dCBibG9jayB0aGUgd2Via2l0IHRocmVhZCBhcyB3aGF0IHdlIGRpZCBpbiBwbGF0Zm9ybQorICAg
ICAgICByZXBvc2l0b3J5IG5vdy4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVy
cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpNZWRpYVBsYXll
clByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGU6Om9uV2FpdE1ldGFkYXRhTm90aWZpZWQpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlOjp3YWl0TWV0YWRhdGFUaW1lckZpcmVkKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnku
aDoKKyAgICAgICAgKE1lZGlhUGxheWVyUHJpdmF0ZSk6CisKIDIwMTItMDMtMTIgIFBhdmVsIFBv
ZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogbW92ZSBSZXNvdXJjZVNjcmlwdE1hcHBpbmcgdG8gYSBzZXBhcmF0ZSBmaWxlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBs
YXllclByaXZhdGVCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5jcHAKaW5kZXggMWQ4
YmQzYWY1ZDM0YjEzYzMyNTVkZWM1YzliZjJkN2Q1NDhlOTA5Ny4uNjZkMThiMGY0OTJjMWRjNzg0
NjU5YWU4ZDUxM2Q0NjJjMjZkMDZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxh
eWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwCkBAIC0xMTIsNiArMTEyLDcgQEAgTWVkaWFQbGF5ZXJQ
cml2YXRlOjpNZWRpYVBsYXllclByaXZhdGUoTWVkaWFQbGF5ZXIqIHBsYXllcikKICNlbmRpZgog
ICAgICwgbV91c2VyRHJpdmVuU2Vla1RpbWVyKHRoaXMsICZNZWRpYVBsYXllclByaXZhdGU6OnVz
ZXJEcml2ZW5TZWVrVGltZXJGaXJlZCkKICAgICAsIG1fbGFzdFNlZWtUaW1lKDApCisgICAgLCBt
X3dhaXRNZXRhZGF0YVRpbWVyKHRoaXMsICZNZWRpYVBsYXllclByaXZhdGU6OndhaXRNZXRhZGF0
YVRpbWVyRmlyZWQpCiB7CiB9CiAKQEAgLTYwMSw2ICs2MDIsMjkgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGU6Om9uUGF1c2VOb3RpZmllZCgpCiAgICAgICAgIGVsZW1lbnQtPnBhdXNlKCk7CiB9
CiAKK3N0YXRpYyBjb25zdCBpbnQgd2FpdE1ldGFkYXRhRGVsYXkgPSAxMDsKK3ZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlOjpvbldhaXRNZXRhZGF0YU5vdGlmaWVkKGJvb2wgaGFzRmluaXNoZWQpCit7
CisgICAgaWYgKCFoYXNGaW5pc2hlZCAmJiAhbV93YWl0TWV0YWRhdGFUaW1lci5pc0FjdGl2ZSgp
KQorICAgICAgICBtX3dhaXRNZXRhZGF0YVRpbWVyLnN0YXJ0T25lU2hvdCh3YWl0TWV0YWRhdGFE
ZWxheSk7CisgICAgZWxzZSBpZiAoaGFzRmluaXNoZWQgJiYgbV93YWl0TWV0YWRhdGFUaW1lci5p
c0FjdGl2ZSgpKQorICAgICAgICBtX3dhaXRNZXRhZGF0YVRpbWVyLnN0b3AoKTsKK30KKwordm9p
ZCBNZWRpYVBsYXllclByaXZhdGU6OndhaXRNZXRhZGF0YVRpbWVyRmlyZWQoVGltZXI8TWVkaWFQ
bGF5ZXJQcml2YXRlPiopCit7CisgICAgaWYgKG1fcGxhdGZvcm1QbGF5ZXItPmlzTWV0YWRhdGFS
ZWFkeSgpKSB7CisgICAgICAgIG1fcGxhdGZvcm1QbGF5ZXItPnBsYXlXaXRoTWV0YWRhdGFSZWFk
eSgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaW50IHdhaXQgPSBzaG93RXJyb3JE
aWFsb2coTU1SUGxheWVyOjpNZWRpYU1ldGFEYXRhVGltZW91dEVycm9yKTsKKyAgICBpZiAoIXdh
aXQpCisgICAgICAgIG9uUGF1c2VOb3RpZmllZCgpOworICAgIGVsc2UgaWYgKHdhaXQgPT0gMSkK
KyAgICAgICAgbV93YWl0TWV0YWRhdGFUaW1lci5zdGFydE9uZVNob3Qod2FpdE1ldGFkYXRhRGVs
YXkpOworfQorCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogdm9pZCBNZWRpYVBs
YXllclByaXZhdGU6Om9uQnVmZmVyaW5nKGJvb2wgZmxhZykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRl
QmxhY2tCZXJyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJy
eS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmgKaW5kZXggNWI3ZjQzMjk5Mjg2ZWU1OWU1
ZDA2MTQ1YTFkN2ZmYjk2ZmFhNDhhZi4uZTI0ZThkM2E1MTNkMDdiOGYyYzk0ZTEwZGU5YTliZmM5
NTcyNGQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxh
Y2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0Jl
cnJ5LmgKQEAgLTEyNiw2ICsxMjYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG9uU2l6
ZUNoYW5nZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgb25QbGF5Tm90aWZpZWQoKTsKICAgICB2aXJ0
dWFsIHZvaWQgb25QYXVzZU5vdGlmaWVkKCk7CisgICAgdmlydHVhbCB2b2lkIG9uV2FpdE1ldGFk
YXRhTm90aWZpZWQoYm9vbCk7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAg
IHZpcnR1YWwgdm9pZCBvbkJ1ZmZlcmluZyhib29sKTsKICNlbmRpZgpAQCAtMTYxLDYgKzE2Miw4
IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1c2VyRHJpdmVuU2Vla1RpbWVyRmlyZWQoVGltZXI8TWVk
aWFQbGF5ZXJQcml2YXRlPiopOwogICAgIFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZT4gbV91c2Vy
RHJpdmVuU2Vla1RpbWVyOwogICAgIGZsb2F0IG1fbGFzdFNlZWtUaW1lOworICAgIHZvaWQgd2Fp
dE1ldGFkYXRhVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGU+Kik7CisgICAgVGlt
ZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiBtX3dhaXRNZXRhZGF0YVRpbWVyOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136391</attachid>
            <date>2012-04-09 21:13:11 -0700</date>
            <delta_ts>2012-04-10 20:39:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80978-20120410121308.patch</filename>
            <type>text/plain</type>
            <size>9232</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmJiYWY4MDk2ZjljOWE4
N2E5NjhkYzRhM2ZlYWQxNDc5OWZhMGJmZi4uZThhODE0NjhmNTMwODA3MmM1NjRjNjBjNDVkOTk0
Y2Q5YzQwYzUwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA0LTA5ICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIE1NUlBsYXllciB3aWxsIGhhbmcgd2Via2l0IHRocmVhZCB3aGVuIHJldHJp
ZXZpbmcgbWVkaWEgbWV0YWRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwOTc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUklNIFBSOiAxNDM0NzEKKyAgICAgICAgSW1wbGVtZW50ZWQgdGhlIGludGVy
ZmFjZSBmdW5jdGlvbiBvbldhaXRNZXRhZGF0YU5vdGlmaWVkKCkKKyAgICAgICAgd2hpY2ggc3Rh
cnRzIGEgdGltZXIgdG8gd2FpdCBmb3IgdGhlIG1ldGFkYXRhIHJldHJpdmluZworICAgICAgICBm
aW5pc2gsIGFuZCBwb3B1cCBhIGRpYWxvZyB0byBub3RpZnkgdXNlciB3aGF0IHRvIGRvCisgICAg
ICAgIGlmIHN0aWxsIGhhdmVuJ3QgZ2V0IG1ldGFkYXRhIHdoZW4gdGltZXIgZmlyZWQuIFRoaXMg
d29uJ3QKKyAgICAgICAgYmxvY2sgdGhlIHdlYmtpdCB0aHJlYWQgYXMgd2hhdCB3ZSB1c2VkIHRv
IGRvIGluIHBsYXRmb3JtIHJlcG8uCisKKyAgICAgICAgVGhpcyBwYXRjaCBhbHNvIGNvbnRyaWJ1
dGVkIGJ5IE1heCBGZWlsIDxtZmVpbEByaW0uY29tPi4KKyAgICAgICAgSW50ZXJuYWxseSByZXZp
ZXdlZCBieSBNYXggRmVpbC4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL21lZGlhL3ZpZGVv
LXRocm90dGxlLWxvYWQtbWV0YWRhdGEuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6TWVkaWFQbGF5ZXJQcml2YXRlKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpvbldh
aXRNZXRhZGF0YU5vdGlmaWVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZTo6d2FpdE1ldGFkYXRhVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5Lmg6CisgICAgICAgIChNZWRp
YVBsYXllclByaXZhdGUpOgorCiAyMDEyLTA0LTA5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTEz
NjU2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2ti
ZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5j
cHAKaW5kZXggMGFiOTg3OGE0ZDk1YzIzZDFlZTJlODdjNjY1ODE4YTY2MmRmMGIxZi4uMjVhNzQw
ZTM0YmMwNGQ5ZjljODYxY2ZkMDM2NzRjZDk1MzIzNmZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFj
a0JlcnJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2Jl
cnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBA
IC0xMTIsNiArMTEyLDggQEAgTWVkaWFQbGF5ZXJQcml2YXRlOjpNZWRpYVBsYXllclByaXZhdGUo
TWVkaWFQbGF5ZXIqIHBsYXllcikKICNlbmRpZgogICAgICwgbV91c2VyRHJpdmVuU2Vla1RpbWVy
KHRoaXMsICZNZWRpYVBsYXllclByaXZhdGU6OnVzZXJEcml2ZW5TZWVrVGltZXJGaXJlZCkKICAg
ICAsIG1fbGFzdFNlZWtUaW1lKDApCisgICAgLCBtX3dhaXRNZXRhZGF0YVRpbWVyKHRoaXMsICZN
ZWRpYVBsYXllclByaXZhdGU6OndhaXRNZXRhZGF0YVRpbWVyRmlyZWQpCisgICAgLCBtX3dhaXRN
ZXRhZGF0YVBvcERpYWxvZ0NvdW50ZXIoMCkKIHsKIH0KIApAQCAtNjAxLDYgKzYwMyw1MCBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6b25QYXVzZU5vdGlmaWVkKCkKICAgICAgICAgZWxlbWVu
dC0+cGF1c2UoKTsKIH0KIAorc3RhdGljIGNvbnN0IGludCBwb3B1cERpYWxvZ0ludGVydmFsID0g
MTA7CitzdGF0aWMgY29uc3QgZG91YmxlIGNoZWNrTWV0YWRhdGFSZWFkeUludGVydmFsID0gMC41
Owordm9pZCBNZWRpYVBsYXllclByaXZhdGU6Om9uV2FpdE1ldGFkYXRhTm90aWZpZWQoYm9vbCBo
YXNGaW5pc2hlZCwgaW50IHRpbWVXYWl0ZWQpCit7CisgICAgaWYgKCFoYXNGaW5pc2hlZCkgewor
ICAgICAgICBpZiAoIW1fd2FpdE1ldGFkYXRhVGltZXIuaXNBY3RpdmUoKSkgeworICAgICAgICAg
ICAgLy8gTWFrZSBzdXJlIHRvIHBvcHVwIGRpYWxvZyBldmVyeSAxMCBzZWNvbmRzIGFmdGVyIG1l
dGFkYXRhIHN0YXJ0IHRvIGxvYWQuCisgICAgICAgICAgICAvLyBUaGlzIHNob3VsZCBiZSBzZXQg
b25seSBvbmNlIGF0IHRoZSBmaXJzdCB0aW1lIHdoZW4gdXNlciBwcmVzcyB0aGUgcGxheSBidXR0
b24uCisgICAgICAgICAgICBtX3dhaXRNZXRhZGF0YVBvcERpYWxvZ0NvdW50ZXIgPSBzdGF0aWNf
Y2FzdDxpbnQ+KHRpbWVXYWl0ZWQgLyBjaGVja01ldGFkYXRhUmVhZHlJbnRlcnZhbCk7CisgICAg
ICAgICAgICBtX3dhaXRNZXRhZGF0YVRpbWVyLnN0YXJ0T25lU2hvdChjaGVja01ldGFkYXRhUmVh
ZHlJbnRlcnZhbCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKG1fd2FpdE1ldGFkYXRhVGlt
ZXIuaXNBY3RpdmUoKSkgeworICAgICAgICBtX3dhaXRNZXRhZGF0YVRpbWVyLnN0b3AoKTsKKyAg
ICAgICAgbV93YWl0TWV0YWRhdGFQb3BEaWFsb2dDb3VudGVyID0gMDsKKyAgICB9Cit9CisKK3Zv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlOjp3YWl0TWV0YWRhdGFUaW1lckZpcmVkKFRpbWVyPE1lZGlh
UGxheWVyUHJpdmF0ZT4qKQoreworICAgIGlmIChtX3BsYXRmb3JtUGxheWVyLT5pc01ldGFkYXRh
UmVhZHkoKSkgeworICAgICAgICBtX3BsYXRmb3JtUGxheWVyLT5wbGF5V2l0aE1ldGFkYXRhUmVh
ZHkoKTsKKyAgICAgICAgbV93YWl0TWV0YWRhdGFQb3BEaWFsb2dDb3VudGVyID0gMDsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIHN0YXRpYyBjb25zdCBpbnQgaGl0VGltZVRvUG9wdXBE
aWFsb2cgPSBzdGF0aWNfY2FzdDxpbnQ+KHBvcHVwRGlhbG9nSW50ZXJ2YWwgLyBjaGVja01ldGFk
YXRhUmVhZHlJbnRlcnZhbCk7CisgICAgbV93YWl0TWV0YWRhdGFQb3BEaWFsb2dDb3VudGVyKys7
CisgICAgaWYgKG1fd2FpdE1ldGFkYXRhUG9wRGlhbG9nQ291bnRlciA8IGhpdFRpbWVUb1BvcHVw
RGlhbG9nKSB7CisgICAgICAgIG1fd2FpdE1ldGFkYXRhVGltZXIuc3RhcnRPbmVTaG90KGNoZWNr
TWV0YWRhdGFSZWFkeUludGVydmFsKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX3dh
aXRNZXRhZGF0YVBvcERpYWxvZ0NvdW50ZXIgPSAwOworCisgICAgaW50IHdhaXQgPSBzaG93RXJy
b3JEaWFsb2coTU1SUGxheWVyOjpNZWRpYU1ldGFEYXRhVGltZW91dEVycm9yKTsKKyAgICBpZiAo
IXdhaXQpCisgICAgICAgIG9uUGF1c2VOb3RpZmllZCgpOworICAgIGVsc2UgeworICAgICAgICBp
ZiAobV9wbGF0Zm9ybVBsYXllci0+aXNNZXRhZGF0YVJlYWR5KCkpCisgICAgICAgICAgICBtX3Bs
YXRmb3JtUGxheWVyLT5wbGF5V2l0aE1ldGFkYXRhUmVhZHkoKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgbV93YWl0TWV0YWRhdGFUaW1lci5zdGFydE9uZVNob3QoY2hlY2tNZXRhZGF0YVJl
YWR5SW50ZXJ2YWwpOworICAgIH0KK30KKwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpvbkJ1ZmZlcmluZyhib29sIGZsYWcpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01l
ZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5oCmluZGV4IDVi
N2Y0MzI5OTI4NmVlNTllNWQwNjE0NWExZDdmZmI5NmZhYTQ4YWYuLjU2MTM3MTk3Zjc1OTBmYjM2
ZDM1MDcyZTk3YzA4NjhlYWM5ZjcwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5
ZXJQcml2YXRlQmxhY2tCZXJyeS5oCkBAIC0xMjYsNiArMTI2LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBvblNpemVDaGFuZ2VkKCk7CiAgICAgdmlydHVhbCB2b2lkIG9uUGxheU5vdGlm
aWVkKCk7CiAgICAgdmlydHVhbCB2b2lkIG9uUGF1c2VOb3RpZmllZCgpOworICAgIHZpcnR1YWwg
dm9pZCBvbldhaXRNZXRhZGF0YU5vdGlmaWVkKGJvb2wgaGFzRmluaXNoZWQsIGludCB0aW1lV2Fp
dGVkKTsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCB2b2lk
IG9uQnVmZmVyaW5nKGJvb2wpOwogI2VuZGlmCkBAIC0xNjEsNiArMTYyLDkgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHVzZXJEcml2ZW5TZWVrVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZh
dGU+Kik7CiAgICAgVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiBtX3VzZXJEcml2ZW5TZWVrVGlt
ZXI7CiAgICAgZmxvYXQgbV9sYXN0U2Vla1RpbWU7CisgICAgdm9pZCB3YWl0TWV0YWRhdGFUaW1l
ckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZT4qKTsKKyAgICBUaW1lcjxNZWRpYVBsYXll
clByaXZhdGU+IG1fd2FpdE1ldGFkYXRhVGltZXI7CisgICAgaW50IG1fd2FpdE1ldGFkYXRhUG9w
RGlhbG9nQ291bnRlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3Mzdm
OTA1ZDU0ZDRiY2FiMDFkNDIwM2Q1M2E2ZTZjMGJiOWU3MDAzLi5mMDFkYTk4OGU1M2Q4MGQwNjFm
M2M2OGI2MzkwYzNkMWI2NDA0OTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDQtMDkg
IEpvbmF0aGFuIERvbmcgIDxqb25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAg
ICAgICBbQmxhY2tCZXJyeV0gTU1SUGxheWVyIHdpbGwgaGFuZyB3ZWJraXQgdGhyZWFkIHdoZW4g
cmV0cmlldmluZyBtZWRpYSBtZXRhZGF0YQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODA5NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSSU0gUFI6IDE0MzQ3MQorICAgICAgICBBZGRlZCBhIGxheW91dCB0
ZXN0IHdoaWNoIHNpbXVsYXRlcyBhIHNsb3cgbmV0d29yaywgYW5kIHN0YXJ0cyBhIHdlYiB3b3Jr
ZXIKKyAgICAgICAgdGhyZWFkIHRvIHdyaXRlIGEgbG9nIG1lc3NhZ2Ugd2hlbiByZXRyaXZpbmcg
bWVkaWEgbWV0YWRhdGEgdG8gc2VlIGlmIHRoZQorICAgICAgICB3ZWJraXQgdGhyZWFkIGlzIGJs
b2NrZWQgYnkgbWVkaWEgcmV0cml2aW5nIHRocmVhZC4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
bWVkaWEvdmlkZW8tdGhyb3R0bGUtbG9hZC1tZXRhZGF0YS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdGhyb3R0bGUtbG9hZC1tZXRhZGF0YS13
b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdGhyb3R0
bGUtbG9hZC1tZXRhZGF0YS5odG1sOiBBZGRlZC4KKwogMjAxMi0wNC0wOSAgU2hlcmlmZiBCb3Qg
IDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjExMzY1Ni4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvdmlkZW8tdGhyb3R0bGUtbG9hZC1tZXRhZGF0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXRocm90dGxlLWxvYWQtbWV0YWRhdGEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY3ZDM5MjE3ZmViOGMzNDA4YjRlYmNmOGI5OTBmMzE3OGIwYjk5MDYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXRo
cm90dGxlLWxvYWQtbWV0YWRhdGEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorRVhQRUNU
RUQgKHZpZGVvLmVycm9yID09ICdudWxsJykgT0sKK01lc3NhZ2UgZnJvbSB3b3JrZXIgdGhyZWFk
IE9LCitFVkVOVChsb2FkZWRtZXRhZGF0YSkKK2xvYWRlZCBtZXRhZGF0YSBvZiBtZWRpYSBmaWxl
IE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL3ZpZGVvLXRocm90dGxlLWxvYWQtbWV0YWRhdGEtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS92aWRlby10aHJvdHRsZS1sb2FkLW1ldGFkYXRhLXdvcmtlci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iYzNjYWU2MzQxNWZmZTY0NjU2Y2Q3OGQzYmUyYjQyZmYxMTRiOTkyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS92aWRlby10aHJvdHRs
ZS1sb2FkLW1ldGFkYXRhLXdvcmtlci5qcwpAQCAtMCwwICsxIEBACitwb3N0TWVzc2FnZSgiTWVz
c2FnZSBmcm9tIHdvcmtlciB0aHJlYWQiKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXRocm90dGxlLWxv
YWQtbWV0YWRhdGEuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdGhy
b3R0bGUtbG9hZC1tZXRhZGF0YS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0ZjFhM2VhZGQ0NzA1MmE5MTIx
MWJlYTZjZThhMDBiZDEzZTBlZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL3ZpZGVvLXRocm90dGxlLWxvYWQtbWV0YWRhdGEuaHRtbApAQCAtMCwwICsx
LDQwIEBACis8aHRtbD4KKzxoZWFkPgorICAgIDwhLS0KKyAgICBUaGlzIHRlc3QgY2FzZSBpcyBm
b3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTc4CisgICAgLS0h
PgorICAgIDx0aXRsZT50aHJvdHRsZSBsb2FkaW5nIG1ldGFkYXRhPC90aXRsZT4KKyAgICA8c2Ny
aXB0IHNyYz0uLi8uLi8uLi9tZWRpYS1yZXNvdXJjZXMvbWVkaWEtZmlsZS5qcz48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHNyYz0uLi8uLi8uLi9tZWRpYS1yZXNvdXJjZXMvdmlkZW8tdGVzdC5qcz48
L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiBsb2FkZWRtZXRhZGF0YShl
KSB7CisgICAgICAgICAgICBsb2dSZXN1bHQodHJ1ZSwgImxvYWRlZCBtZXRhZGF0YSBvZiBtZWRp
YSBmaWxlIik7CisgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICBm
dW5jdGlvbiBlcnJvcihlKSB7CisgICAgICAgICAgICBsb2dSZXN1bHQoZmFsc2UsICJmYWlsZWQg
dG8gbG9hZCBtZWRpYSBmaWxlIik7CisgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgIH0K
KworICAgICAgICBmdW5jdGlvbiBzdGFydCgpIHsKKyAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1l
bnQoKTsKKworICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2FkZWRtZXRhZGF0YScsIGxvYWRl
ZG1ldGFkYXRhKTsKKyAgICAgICAgICAgIHdhaXRGb3JFdmVudCgiZXJyb3IiLCBlcnJvcik7Cisg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmVycm9yIiwgbnVsbCk7CisKKyAgICAgICAg
ICAgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCJ2aWRlby10aHJvdHRsZS1sb2FkLW1ldGFkYXRh
LXdvcmtlci5qcyIpOworICAgICAgICAgICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChl
dmVudCkgeworICAgICAgICAgICAgICAgIGxvZ1Jlc3VsdCh0cnVlLCBldmVudC5kYXRhKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciBtb3ZpZSA9IGZpbmRNZWRpYUZpbGUoInZpZGVv
IiwgInJlc291cmNlcy90ZXN0Iik7CisgICAgICAgICAgICB2aWRlby5zcmMgPSAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL21lZGlhL3ZpZGVvLXRocm90dGxlZC1sb2FkLmNnaT9uYW1lPSIgKyBtb3Zp
ZSArICImdGhyb3R0bGU9NDAwJnR5cGU9dmlkZW8vbXA0IjsKKyAgICAgICAgICAgIHZpZGVvLmxv
YWQoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJz
dGFydCgpIj4KKzx2aWRlbyBpZD0idmlkZW8iPjwvdmlkZW8+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136617</attachid>
            <date>2012-04-10 20:40:17 -0700</date>
            <delta_ts>2012-04-11 17:46:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80978-20120411114015.patch</filename>
            <type>text/plain</type>
            <size>9806</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTA4ZDQwZjA5NjJiNTQ2
YmMzZGJjNmYwNzEzZWVjYWQyZWRhMjBmOC4uYTY5MDUxMzQxZDk5Nzk5MmJjM2U5OWQ4MmE4ZGFk
NjA0Y2ViYzk5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA0LTEwICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIE1NUlBsYXllciB3aWxsIGhhbmcgd2Via2l0IHRocmVhZCB3aGVuIHJldHJp
ZXZpbmcgbWVkaWEgbWV0YWRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwOTc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUklNIFBSOiAxNDM0NzEKKyAgICAgICAgSW1wbGVtZW50ZWQgdGhlIGludGVy
ZmFjZSBmdW5jdGlvbiBvbldhaXRNZXRhZGF0YU5vdGlmaWVkKCkKKyAgICAgICAgd2hpY2ggc3Rh
cnRzIGEgdGltZXIgdG8gd2FpdCBmb3IgdGhlIG1ldGFkYXRhIHJldHJpZXZpbmcgdG8KKyAgICAg
ICAgZmluaXNoLCBhbmQgcG9wdXAgYSBkaWFsb2cgdG8gbm90aWZ5IHRoZSB1c2VyIHdoYXQgdG8g
ZG8KKyAgICAgICAgaWYgdGhlcmUgc3RpbGwgaXMgbm8gbWV0YWRhdGEgd2hlbiB0aGUgdGltZXIg
ZmlyZWQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhbHNvIGNvbnRyaWJ1dGVkIGJ5IE1heCBGZWls
IDxtZmVpbEByaW0uY29tPi4KKyAgICAgICAgSW50ZXJuYWxseSByZXZpZXdlZCBieSBNYXggRmVp
bC4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXRocm90dGxlZC1sb2Fk
LW1ldGFkYXRhLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkv
TWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZSk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6b25XYWl0TWV0YWRhdGFOb3Rp
ZmllZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OndhaXRNZXRhZGF0
YVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVk
aWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5oOgorICAgICAgICAoTWVkaWFQbGF5ZXJQcml2YXRl
KToKKwogMjAxMi0wNC0xMCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gRm9sZCBMYXllckNocm9taXVtOjp1cGRhdGVDb21wb3NpdG9y
UmVzb3VyY2VzIGludG8gbWFpbiB1cGRhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxh
eWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwCmluZGV4IDBhYjk4NzhhNGQ5NWMyM2QxZWUyZTg3YzY2
NTgxOGE2NjJkZjBiMWYuLjI1YTc0MGUzNGJjMDRkOWY5Yzg2MWNmZDAzNjc0Y2Q5NTMyMzZmZjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkv
TWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNw
cApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgUmVzZWFyY2ggSW4g
TW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEsIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMTEyLDYgKzExMiw4IEBAIE1lZGlhUGxheWVyUHJpdmF0
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAjZW5kaWYKICAgICAs
IG1fdXNlckRyaXZlblNlZWtUaW1lcih0aGlzLCAmTWVkaWFQbGF5ZXJQcml2YXRlOjp1c2VyRHJp
dmVuU2Vla1RpbWVyRmlyZWQpCiAgICAgLCBtX2xhc3RTZWVrVGltZSgwKQorICAgICwgbV93YWl0
TWV0YWRhdGFUaW1lcih0aGlzLCAmTWVkaWFQbGF5ZXJQcml2YXRlOjp3YWl0TWV0YWRhdGFUaW1l
ckZpcmVkKQorICAgICwgbV93YWl0TWV0YWRhdGFQb3BEaWFsb2dDb3VudGVyKDApCiB7CiB9CiAK
QEAgLTYwMSw2ICs2MDMsNTAgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGU6Om9uUGF1c2VOb3Rp
ZmllZCgpCiAgICAgICAgIGVsZW1lbnQtPnBhdXNlKCk7CiB9CiAKK3N0YXRpYyBjb25zdCBpbnQg
cG9wdXBEaWFsb2dJbnRlcnZhbCA9IDEwOworc3RhdGljIGNvbnN0IGRvdWJsZSBjaGVja01ldGFk
YXRhUmVhZHlJbnRlcnZhbCA9IDAuNTsKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpvbldhaXRN
ZXRhZGF0YU5vdGlmaWVkKGJvb2wgaGFzRmluaXNoZWQsIGludCB0aW1lV2FpdGVkKQoreworICAg
IGlmICghaGFzRmluaXNoZWQpIHsKKyAgICAgICAgaWYgKCFtX3dhaXRNZXRhZGF0YVRpbWVyLmlz
QWN0aXZlKCkpIHsKKyAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0byBwb3B1cCBkaWFsb2cgZXZl
cnkgMTAgc2Vjb25kcyBhZnRlciBtZXRhZGF0YSBzdGFydCB0byBsb2FkLgorICAgICAgICAgICAg
Ly8gVGhpcyBzaG91bGQgYmUgc2V0IG9ubHkgb25jZSBhdCB0aGUgZmlyc3QgdGltZSB3aGVuIHVz
ZXIgcHJlc3MgdGhlIHBsYXkgYnV0dG9uLgorICAgICAgICAgICAgbV93YWl0TWV0YWRhdGFQb3BE
aWFsb2dDb3VudGVyID0gc3RhdGljX2Nhc3Q8aW50Pih0aW1lV2FpdGVkIC8gY2hlY2tNZXRhZGF0
YVJlYWR5SW50ZXJ2YWwpOworICAgICAgICAgICAgbV93YWl0TWV0YWRhdGFUaW1lci5zdGFydE9u
ZVNob3QoY2hlY2tNZXRhZGF0YVJlYWR5SW50ZXJ2YWwpOworICAgICAgICB9CisgICAgfSBlbHNl
IGlmIChtX3dhaXRNZXRhZGF0YVRpbWVyLmlzQWN0aXZlKCkpIHsKKyAgICAgICAgbV93YWl0TWV0
YWRhdGFUaW1lci5zdG9wKCk7CisgICAgICAgIG1fd2FpdE1ldGFkYXRhUG9wRGlhbG9nQ291bnRl
ciA9IDA7CisgICAgfQorfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6d2FpdE1ldGFkYXRh
VGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGU+KikKK3sKKyAgICBpZiAobV9wbGF0
Zm9ybVBsYXllci0+aXNNZXRhZGF0YVJlYWR5KCkpIHsKKyAgICAgICAgbV9wbGF0Zm9ybVBsYXll
ci0+cGxheVdpdGhNZXRhZGF0YVJlYWR5KCk7CisgICAgICAgIG1fd2FpdE1ldGFkYXRhUG9wRGlh
bG9nQ291bnRlciA9IDA7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzdGF0aWMgY29u
c3QgaW50IGhpdFRpbWVUb1BvcHVwRGlhbG9nID0gc3RhdGljX2Nhc3Q8aW50Pihwb3B1cERpYWxv
Z0ludGVydmFsIC8gY2hlY2tNZXRhZGF0YVJlYWR5SW50ZXJ2YWwpOworICAgIG1fd2FpdE1ldGFk
YXRhUG9wRGlhbG9nQ291bnRlcisrOworICAgIGlmIChtX3dhaXRNZXRhZGF0YVBvcERpYWxvZ0Nv
dW50ZXIgPCBoaXRUaW1lVG9Qb3B1cERpYWxvZykgeworICAgICAgICBtX3dhaXRNZXRhZGF0YVRp
bWVyLnN0YXJ0T25lU2hvdChjaGVja01ldGFkYXRhUmVhZHlJbnRlcnZhbCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisgICAgbV93YWl0TWV0YWRhdGFQb3BEaWFsb2dDb3VudGVyID0gMDsKKwor
ICAgIGludCB3YWl0ID0gc2hvd0Vycm9yRGlhbG9nKE1NUlBsYXllcjo6TWVkaWFNZXRhRGF0YVRp
bWVvdXRFcnJvcik7CisgICAgaWYgKCF3YWl0KQorICAgICAgICBvblBhdXNlTm90aWZpZWQoKTsK
KyAgICBlbHNlIHsKKyAgICAgICAgaWYgKG1fcGxhdGZvcm1QbGF5ZXItPmlzTWV0YWRhdGFSZWFk
eSgpKQorICAgICAgICAgICAgbV9wbGF0Zm9ybVBsYXllci0+cGxheVdpdGhNZXRhZGF0YVJlYWR5
KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fd2FpdE1ldGFkYXRhVGltZXIuc3RhcnRP
bmVTaG90KGNoZWNrTWV0YWRhdGFSZWFkeUludGVydmFsKTsKKyAgICB9Cit9CisKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6b25CdWZm
ZXJpbmcoYm9vbCBmbGFnKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0
ZUJsYWNrQmVycnkuaAppbmRleCA1YjdmNDMyOTkyODZlZTU5ZTVkMDYxNDVhMWQ3ZmZiOTZmYWE0
OGFmLi41NjEzNzE5N2Y3NTkwZmIzNmQzNTA3MmU5N2MwODY4ZWFjOWY3MDhlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVy
UHJpdmF0ZUJsYWNrQmVycnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuaApAQCAtMTI2LDYgKzEy
Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgb25TaXplQ2hhbmdlZCgpOwogICAgIHZp
cnR1YWwgdm9pZCBvblBsYXlOb3RpZmllZCgpOwogICAgIHZpcnR1YWwgdm9pZCBvblBhdXNlTm90
aWZpZWQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgb25XYWl0TWV0YWRhdGFOb3RpZmllZChib29sIGhh
c0ZpbmlzaGVkLCBpbnQgdGltZVdhaXRlZCk7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogICAgIHZpcnR1YWwgdm9pZCBvbkJ1ZmZlcmluZyhib29sKTsKICNlbmRpZgpAQCAtMTYx
LDYgKzE2Miw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1c2VyRHJpdmVuU2Vla1RpbWVyRmlyZWQo
VGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiopOwogICAgIFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0
ZT4gbV91c2VyRHJpdmVuU2Vla1RpbWVyOwogICAgIGZsb2F0IG1fbGFzdFNlZWtUaW1lOworICAg
IHZvaWQgd2FpdE1ldGFkYXRhVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGU+Kik7
CisgICAgVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiBtX3dhaXRNZXRhZGF0YVRpbWVyOworICAg
IGludCBtX3dhaXRNZXRhZGF0YVBvcERpYWxvZ0NvdW50ZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggYmJhNGU5ZDQ5OGI5Zjk4OWNiMWQ3ZjFlODJmNTY5MzNjMzlhY2My
Yi4uOGZjNzExN2M3OGUwNjU5Y2NkMDJkMWMwY2YyMzM2YjJmOWIxZjEwNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE5IEBACisyMDEyLTA0LTEwICBKb25hdGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3Jj
aG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIE1NUlBsYXllciB3aWxsIGhh
bmcgd2Via2l0IHRocmVhZCB3aGVuIHJldHJpZXZpbmcgbWVkaWEgbWV0YWRhdGEKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTc4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUklNIFBSOiAxNDM0NzEKKyAg
ICAgICAgQWRkZWQgYSBsYXlvdXQgdGVzdCB3aGljaCBzaW11bGF0ZXMgYSBzbG93IG5ldHdvcmss
IGFuZCBzdGFydHMgYSB3ZWIgd29ya2VyCisgICAgICAgIHRocmVhZCB0byB3cml0ZSBhIGxvZyBt
ZXNzYWdlIHdoZW4gcmV0cmlldmluZyBtZWRpYSBtZXRhZGF0YSB0byBzZWUgaWYgdGhlCisgICAg
ICAgIHdlYmtpdCB0aHJlYWQgaXMgYmxvY2tlZCBieSBtZWRpYSByZXRyaWV2aW5nIHRocmVhZC4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdGhyb3R0bGVkLWxvYWQtbWV0YWRh
dGEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL3ZpZGVv
LXRocm90dGxlZC1sb2FkLW1ldGFkYXRhLXdvcmtlci5qczogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9tZWRpYS92aWRlby10aHJvdHRsZWQtbG9hZC1tZXRhZGF0YS5odG1sOiBBZGRlZC4K
KwogMjAxMi0wNC0xMCAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIGZhc3QvZm9ybXMvaW1wbGljaXQtc3VibWlzc2lvbi5odG1sIGlzIGZsYWtleQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS92aWRlby10aHJvdHRsZWQt
bG9hZC1tZXRhZGF0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L3ZpZGVvLXRocm90dGxlZC1sb2FkLW1ldGFkYXRhLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
OTMyODQzNzAxY2EyYzc4ZGRhNmExMTI4ZDNkMTMyNzM4OTU2ZWFhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS92aWRlby10aHJvdHRsZWQtbG9hZC1tZXRh
ZGF0YS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUaGlzIHRlc3QgY2FzZSBzaW11bGF0
ZXMgYSBzbG93IG5ldHdvcmssIGFuZCBzdGFydHMgYSB3ZWIgd29ya2VyIHRocmVhZCB0byB3cml0
ZSBhIGxvZyBtZXNzYWdlIHdoZW4gcmV0cmlldmluZyBtZWRpYSBtZXRhZGF0YSB0byBzZWUgaWYg
dGhlIHdlYmtpdCB0aHJlYWQgaXMgYmxvY2tlZCBieSBtZWRpYSByZXRyaWV2aW5nIHRocmVhZC4K
K1RoaXMgdGVzdCBjYXNlIGlzIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODA5NzgKKworRVhQRUNURUQgKHZpZGVvLmVycm9yID09ICdudWxsJykgT0sKK01lc3Nh
Z2UgZnJvbSB3b3JrZXIgdGhyZWFkIE9LCitFVkVOVChsb2FkZWRtZXRhZGF0YSkKK2xvYWRlZCBt
ZXRhZGF0YSBvZiBtZWRpYSBmaWxlIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXRocm90dGxlZC1sb2FkLW1ldGFkYXRhLXdv
cmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdGhyb3R0bGVkLWxv
YWQtbWV0YWRhdGEtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkMDgxN2M0OTdmZWUxODc2MjI3MDU0
YWIwMzQ4OTFjZmFiOGMyMWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL3ZpZGVvLXRocm90dGxlZC1sb2FkLW1ldGFkYXRhLXdvcmtlci5qcwpAQCAtMCww
ICsxLDIgQEAKK3Bvc3RNZXNzYWdlKCJNZXNzYWdlIGZyb20gd29ya2VyIHRocmVhZCIpOworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXRocm90dGxlZC1s
b2FkLW1ldGFkYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXRo
cm90dGxlZC1sb2FkLW1ldGFkYXRhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM4MDQ3M2NmYjcxMGQyMDRh
MDIzZGE3Njc4NWZjN2Y1NDk1ZmVjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvdmlkZW8tdGhyb3R0bGVkLWxvYWQtbWV0YWRhdGEuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT50aHJvdHRsZWQgbG9hZGluZyBt
ZXRhZGF0YTwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Li4vLi4vLi4vbWVkaWEtcmVzb3VyY2Vz
L21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Li4vLi4vLi4vbWVkaWEt
cmVzb3VyY2VzL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
ZnVuY3Rpb24gbG9hZGVkbWV0YWRhdGEoZSkKKyAgICAgICAgeworICAgICAgICAgICAgbG9nUmVz
dWx0KHRydWUsICJsb2FkZWQgbWV0YWRhdGEgb2YgbWVkaWEgZmlsZSIpOworICAgICAgICAgICAg
ZW5kVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gZXJyb3IoZSkKKyAgICAg
ICAgeworICAgICAgICAgICAgbG9nUmVzdWx0KGZhbHNlLCAiZmFpbGVkIHRvIGxvYWQgbWVkaWEg
ZmlsZSIpOworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgZnVu
Y3Rpb24gc3RhcnQoKQorICAgICAgICB7CisgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7
CisKKyAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZGVkbWV0YWRhdGEnLCBsb2FkZWRtZXRh
ZGF0YSk7CisgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoImVycm9yIiwgZXJyb3IpOworICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5lcnJvciIsIG51bGwpOworCisgICAgICAgICAgICB2
YXIgd29ya2VyID0gbmV3IFdvcmtlcigidmlkZW8tdGhyb3R0bGVkLWxvYWQtbWV0YWRhdGEtd29y
a2VyLmpzIik7CisgICAgICAgICAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2ZW50
KSB7CisgICAgICAgICAgICAgICAgbG9nUmVzdWx0KHRydWUsIGV2ZW50LmRhdGEpOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgdmFyIG1vdmllID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAi
cmVzb3VyY2VzL3Rlc3QiKTsKKyAgICAgICAgICAgIHZhciB0eXBlID0gbWltZVR5cGVGb3JFeHRl
bnNpb24obW92aWUuc3BsaXQoJy4nKS5wb3AoKSk7CisgICAgICAgICAgICB2aWRlby5zcmMgPSAi
aHR0cDovLzEyNy4wLjAuMTo4MDAwL21lZGlhL3ZpZGVvLXRocm90dGxlZC1sb2FkLmNnaT9uYW1l
PSIgKyBtb3ZpZSArICImdGhyb3R0bGU9NDAwJnR5cGU9IiArIHR5cGU7CisgICAgICAgICAgICB2
aWRlby5sb2FkKCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0ic3RhcnQoKSI+Cis8dmlkZW8gaWQ9InZpZGVvIj48L3ZpZGVvPgorPHA+CitUaGlzIHRl
c3QgY2FzZSBzaW11bGF0ZXMgYSBzbG93IG5ldHdvcmssIGFuZCBzdGFydHMgYSB3ZWIgd29ya2Vy
IHRocmVhZCB0byB3cml0ZSBhIGxvZyBtZXNzYWdlCit3aGVuIHJldHJpZXZpbmcgbWVkaWEgbWV0
YWRhdGEgdG8gc2VlIGlmIHRoZSB3ZWJraXQgdGhyZWFkIGlzIGJsb2NrZWQgYnkgbWVkaWEgcmV0
cmlldmluZyB0aHJlYWQuPGJyPgorVGhpcyB0ZXN0IGNhc2UgaXMgZm9yIDxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDk3OCI+aHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTc4PC9hPgorPC9wPgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136801</attachid>
            <date>2012-04-11 17:46:29 -0700</date>
            <delta_ts>2012-04-11 19:10:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80978-20120412084626.patch</filename>
            <type>text/plain</type>
            <size>9764</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzOTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNkOGYyZGI1YzBhYzhl
ZjM1MmZmZGUxMTA5NmE0ZGRmNDExZTlmZC4uZDQ5YmFkY2E3ODdjZjdjNTk3NTAwODlmZDEzOTEx
NTc2YWJhZTBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA0LTExICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIE1NUlBsYXllciB3aWxsIGhhbmcgd2Via2l0IHRocmVhZCB3aGVuIHJldHJp
ZXZpbmcgbWVkaWEgbWV0YWRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwOTc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUm9iIEJ1aXMuCisKKyAg
ICAgICAgUklNIFBSOiAxNDM0NzEKKyAgICAgICAgSW1wbGVtZW50ZWQgdGhlIGludGVyZmFjZSBm
dW5jdGlvbiBvbldhaXRNZXRhZGF0YU5vdGlmaWVkKCkKKyAgICAgICAgd2hpY2ggc3RhcnRzIGEg
dGltZXIgdG8gd2FpdCBmb3IgdGhlIG1ldGFkYXRhIHJldHJpZXZpbmcgdG8KKyAgICAgICAgZmlu
aXNoLCBhbmQgcG9wcyB1cCBhIGRpYWxvZyB0byBub3RpZnkgdGhlIHVzZXIgd2hhdCB0byBkbwor
ICAgICAgICBpZiB0aGVyZSBzdGlsbCBpcyBubyBtZXRhZGF0YSB3aGVuIHRoZSB0aW1lciBmaXJl
cy4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gY29udHJpYnV0ZWQgYnkgTWF4IEZlaWwgPG1m
ZWlsQHJpbS5jb20+LgorICAgICAgICBJbnRlcm5hbGx5IHJldmlld2VkIGJ5IE1heCBGZWlsLgor
CisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdGhyb3R0bGVkLWxvYWQtbWV0
YWRhdGEuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRp
YVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyUHJpdmF0ZTo6TWVkaWFQbGF5ZXJQcml2YXRlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpvbldhaXRNZXRhZGF0YU5vdGlmaWVk
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6d2FpdE1ldGFkYXRhVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBs
YXllclByaXZhdGVCbGFja0JlcnJ5Lmg6CisgICAgICAgIChNZWRpYVBsYXllclByaXZhdGUpOgor
CiAyMDEyLTA0LTExICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBUcnkgdG8gZml4IGJ1aWxkIHdpdGggWFNMVCBkaXNhYmxlZC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRl
QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2Jl
cnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwCmluZGV4IGQ2NzM0NzQ4M2E0OTJj
ZDhhNDY0ZjYyNTc5M2EwYzhlZjRkNDFiOGIuLmQ2ZTg4NTQ4NTAzZmQyNTUyOTE4ZDA5YTNkMGZk
MDllZGIyYjNlZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVC
bGFja0JlcnJ5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEg
UmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEsIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMTEyLDYgKzExMiw4IEBAIE1lZGlh
UGxheWVyUHJpdmF0ZTo6TWVkaWFQbGF5ZXJQcml2YXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAj
ZW5kaWYKICAgICAsIG1fdXNlckRyaXZlblNlZWtUaW1lcih0aGlzLCAmTWVkaWFQbGF5ZXJQcml2
YXRlOjp1c2VyRHJpdmVuU2Vla1RpbWVyRmlyZWQpCiAgICAgLCBtX2xhc3RTZWVrVGltZSgwKQor
ICAgICwgbV93YWl0TWV0YWRhdGFUaW1lcih0aGlzLCAmTWVkaWFQbGF5ZXJQcml2YXRlOjp3YWl0
TWV0YWRhdGFUaW1lckZpcmVkKQorICAgICwgbV93YWl0TWV0YWRhdGFQb3BEaWFsb2dDb3VudGVy
KDApCiB7CiB9CiAKQEAgLTYwMSw2ICs2MDMsNTAgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGU6
Om9uUGF1c2VOb3RpZmllZCgpCiAgICAgICAgIGVsZW1lbnQtPnBhdXNlKCk7CiB9CiAKK3N0YXRp
YyBjb25zdCBpbnQgcG9wdXBEaWFsb2dJbnRlcnZhbCA9IDEwOworc3RhdGljIGNvbnN0IGRvdWJs
ZSBjaGVja01ldGFkYXRhUmVhZHlJbnRlcnZhbCA9IDAuNTsKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlOjpvbldhaXRNZXRhZGF0YU5vdGlmaWVkKGJvb2wgaGFzRmluaXNoZWQsIGludCB0aW1lV2Fp
dGVkKQoreworICAgIGlmICghaGFzRmluaXNoZWQpIHsKKyAgICAgICAgaWYgKCFtX3dhaXRNZXRh
ZGF0YVRpbWVyLmlzQWN0aXZlKCkpIHsKKyAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0byBwb3B1
cCBkaWFsb2cgZXZlcnkgMTAgc2Vjb25kcyBhZnRlciBtZXRhZGF0YSBzdGFydCB0byBsb2FkLgor
ICAgICAgICAgICAgLy8gVGhpcyBzaG91bGQgYmUgc2V0IG9ubHkgb25jZSBhdCB0aGUgZmlyc3Qg
dGltZSB3aGVuIHVzZXIgcHJlc3MgdGhlIHBsYXkgYnV0dG9uLgorICAgICAgICAgICAgbV93YWl0
TWV0YWRhdGFQb3BEaWFsb2dDb3VudGVyID0gc3RhdGljX2Nhc3Q8aW50Pih0aW1lV2FpdGVkIC8g
Y2hlY2tNZXRhZGF0YVJlYWR5SW50ZXJ2YWwpOworICAgICAgICAgICAgbV93YWl0TWV0YWRhdGFU
aW1lci5zdGFydE9uZVNob3QoY2hlY2tNZXRhZGF0YVJlYWR5SW50ZXJ2YWwpOworICAgICAgICB9
CisgICAgfSBlbHNlIGlmIChtX3dhaXRNZXRhZGF0YVRpbWVyLmlzQWN0aXZlKCkpIHsKKyAgICAg
ICAgbV93YWl0TWV0YWRhdGFUaW1lci5zdG9wKCk7CisgICAgICAgIG1fd2FpdE1ldGFkYXRhUG9w
RGlhbG9nQ291bnRlciA9IDA7CisgICAgfQorfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6
d2FpdE1ldGFkYXRhVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGU+KikKK3sKKyAg
ICBpZiAobV9wbGF0Zm9ybVBsYXllci0+aXNNZXRhZGF0YVJlYWR5KCkpIHsKKyAgICAgICAgbV9w
bGF0Zm9ybVBsYXllci0+cGxheVdpdGhNZXRhZGF0YVJlYWR5KCk7CisgICAgICAgIG1fd2FpdE1l
dGFkYXRhUG9wRGlhbG9nQ291bnRlciA9IDA7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBzdGF0aWMgY29uc3QgaW50IGhpdFRpbWVUb1BvcHVwRGlhbG9nID0gc3RhdGljX2Nhc3Q8aW50
Pihwb3B1cERpYWxvZ0ludGVydmFsIC8gY2hlY2tNZXRhZGF0YVJlYWR5SW50ZXJ2YWwpOworICAg
IG1fd2FpdE1ldGFkYXRhUG9wRGlhbG9nQ291bnRlcisrOworICAgIGlmIChtX3dhaXRNZXRhZGF0
YVBvcERpYWxvZ0NvdW50ZXIgPCBoaXRUaW1lVG9Qb3B1cERpYWxvZykgeworICAgICAgICBtX3dh
aXRNZXRhZGF0YVRpbWVyLnN0YXJ0T25lU2hvdChjaGVja01ldGFkYXRhUmVhZHlJbnRlcnZhbCk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgbV93YWl0TWV0YWRhdGFQb3BEaWFsb2dDb3Vu
dGVyID0gMDsKKworICAgIGludCB3YWl0ID0gc2hvd0Vycm9yRGlhbG9nKE1NUlBsYXllcjo6TWVk
aWFNZXRhRGF0YVRpbWVvdXRFcnJvcik7CisgICAgaWYgKCF3YWl0KQorICAgICAgICBvblBhdXNl
Tm90aWZpZWQoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKG1fcGxhdGZvcm1QbGF5ZXItPmlz
TWV0YWRhdGFSZWFkeSgpKQorICAgICAgICAgICAgbV9wbGF0Zm9ybVBsYXllci0+cGxheVdpdGhN
ZXRhZGF0YVJlYWR5KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fd2FpdE1ldGFkYXRh
VGltZXIuc3RhcnRPbmVTaG90KGNoZWNrTWV0YWRhdGFSZWFkeUludGVydmFsKTsKKyAgICB9Cit9
CisKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZTo6b25CdWZmZXJpbmcoYm9vbCBmbGFnKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0Jl
cnJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlh
UGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuaAppbmRleCA1YjdmNDMyOTkyODZlZTU5ZTVkMDYxNDVh
MWQ3ZmZiOTZmYWE0OGFmLi41NjEzNzE5N2Y3NTkwZmIzNmQzNTA3MmU5N2MwODY4ZWFjOWY3MDhl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5
L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuaApA
QCAtMTI2LDYgKzEyNiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgb25TaXplQ2hhbmdl
ZCgpOwogICAgIHZpcnR1YWwgdm9pZCBvblBsYXlOb3RpZmllZCgpOwogICAgIHZpcnR1YWwgdm9p
ZCBvblBhdXNlTm90aWZpZWQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgb25XYWl0TWV0YWRhdGFOb3Rp
ZmllZChib29sIGhhc0ZpbmlzaGVkLCBpbnQgdGltZVdhaXRlZCk7CiAjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBvbkJ1ZmZlcmluZyhib29sKTsKICNl
bmRpZgpAQCAtMTYxLDYgKzE2Miw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1c2VyRHJpdmVuU2Vl
a1RpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiopOwogICAgIFRpbWVyPE1lZGlh
UGxheWVyUHJpdmF0ZT4gbV91c2VyRHJpdmVuU2Vla1RpbWVyOwogICAgIGZsb2F0IG1fbGFzdFNl
ZWtUaW1lOworICAgIHZvaWQgd2FpdE1ldGFkYXRhVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXll
clByaXZhdGU+Kik7CisgICAgVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiBtX3dhaXRNZXRhZGF0
YVRpbWVyOworICAgIGludCBtX3dhaXRNZXRhZGF0YVBvcERpYWxvZ0NvdW50ZXI7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODU1ZWVhOTg4MzkzZjUwN2I1NmYyYTk3ODk2
NjJlNTk3NTE0NTgzMC4uMWJhNDE4NmIwMGFkYmU1ZTUyNWU3N2ZlOWE5ZGEzNTJmMjE2OThlNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA0LTExICBKb25hdGhhbiBEb25nICA8am9uYXRo
YW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIE1NUlBs
YXllciB3aWxsIGhhbmcgd2Via2l0IHRocmVhZCB3aGVuIHJldHJpZXZpbmcgbWVkaWEgbWV0YWRh
dGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTc4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUm9iIEJ1aXMuCisKKyAgICAgICAgUklNIFBSOiAxNDM0
NzEKKyAgICAgICAgQWRkZWQgYSBsYXlvdXQgdGVzdCB3aGljaCBzaW11bGF0ZXMgYSBzbG93IG5l
dHdvcmssIGFuZCBzdGFydHMgYSB3ZWIgd29ya2VyCisgICAgICAgIHRocmVhZCB0byB3cml0ZSBh
IGxvZyBtZXNzYWdlIHdoZW4gcmV0cmlldmluZyBtZWRpYSBtZXRhZGF0YSB0byBzZWUgaWYgdGhl
CisgICAgICAgIHdlYmtpdCB0aHJlYWQgaXMgYmxvY2tlZCBieSBtZWRpYSByZXRyaWV2aW5nIHRo
cmVhZC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdGhyb3R0bGVkLWxvYWQt
bWV0YWRhdGEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlh
L3ZpZGVvLXRocm90dGxlZC1sb2FkLW1ldGFkYXRhLXdvcmtlci5qczogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9tZWRpYS92aWRlby10aHJvdHRsZWQtbG9hZC1tZXRhZGF0YS5odG1sOiBB
ZGRlZC4KKwogMjAxMi0wNC0xMSAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIEZpbGUgQVBJIGRvZXMgbm90IHN1cHBvcnQgRE9NIGV2ZW50cyAobGlrZSBhZGRF
dmVudExpc3RlbmVyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS92
aWRlby10aHJvdHRsZWQtbG9hZC1tZXRhZGF0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXRocm90dGxlZC1sb2FkLW1ldGFkYXRhLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mOTMyODQzNzAxY2EyYzc4ZGRhNmExMTI4ZDNkMTMyNzM4OTU2ZWFhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS92aWRlby10aHJv
dHRsZWQtbG9hZC1tZXRhZGF0YS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUaGlzIHRl
c3QgY2FzZSBzaW11bGF0ZXMgYSBzbG93IG5ldHdvcmssIGFuZCBzdGFydHMgYSB3ZWIgd29ya2Vy
IHRocmVhZCB0byB3cml0ZSBhIGxvZyBtZXNzYWdlIHdoZW4gcmV0cmlldmluZyBtZWRpYSBtZXRh
ZGF0YSB0byBzZWUgaWYgdGhlIHdlYmtpdCB0aHJlYWQgaXMgYmxvY2tlZCBieSBtZWRpYSByZXRy
aWV2aW5nIHRocmVhZC4KK1RoaXMgdGVzdCBjYXNlIGlzIGZvciBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5NzgKKworRVhQRUNURUQgKHZpZGVvLmVycm9yID09ICdu
dWxsJykgT0sKK01lc3NhZ2UgZnJvbSB3b3JrZXIgdGhyZWFkIE9LCitFVkVOVChsb2FkZWRtZXRh
ZGF0YSkKK2xvYWRlZCBtZXRhZGF0YSBvZiBtZWRpYSBmaWxlIE9LCitFTkQgT0YgVEVTVAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXRocm90dGxlZC1s
b2FkLW1ldGFkYXRhLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvdmlk
ZW8tdGhyb3R0bGVkLWxvYWQtbWV0YWRhdGEtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkMDgxN2M0
OTdmZWUxODc2MjI3MDU0YWIwMzQ4OTFjZmFiOGMyMWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXRocm90dGxlZC1sb2FkLW1ldGFkYXRhLXdv
cmtlci5qcwpAQCAtMCwwICsxLDIgQEAKK3Bvc3RNZXNzYWdlKCJNZXNzYWdlIGZyb20gd29ya2Vy
IHRocmVhZCIpOworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3Zp
ZGVvLXRocm90dGxlZC1sb2FkLW1ldGFkYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL3ZpZGVvLXRocm90dGxlZC1sb2FkLW1ldGFkYXRhLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM4
MDQ3M2NmYjcxMGQyMDRhMDIzZGE3Njc4NWZjN2Y1NDk1ZmVjMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdGhyb3R0bGVkLWxvYWQtbWV0YWRh
dGEuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT50aHJv
dHRsZWQgbG9hZGluZyBtZXRhZGF0YTwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Li4vLi4vLi4v
bWVkaWEtcmVzb3VyY2VzL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Li4vLi4vLi4vbWVkaWEtcmVzb3VyY2VzL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAgZnVuY3Rpb24gbG9hZGVkbWV0YWRhdGEoZSkKKyAgICAgICAgeworICAg
ICAgICAgICAgbG9nUmVzdWx0KHRydWUsICJsb2FkZWQgbWV0YWRhdGEgb2YgbWVkaWEgZmlsZSIp
OworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24g
ZXJyb3IoZSkKKyAgICAgICAgeworICAgICAgICAgICAgbG9nUmVzdWx0KGZhbHNlLCAiZmFpbGVk
IHRvIGxvYWQgbWVkaWEgZmlsZSIpOworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9
CisKKyAgICAgICAgZnVuY3Rpb24gc3RhcnQoKQorICAgICAgICB7CisgICAgICAgICAgICBmaW5k
TWVkaWFFbGVtZW50KCk7CisKKyAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZGVkbWV0YWRh
dGEnLCBsb2FkZWRtZXRhZGF0YSk7CisgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoImVycm9yIiwg
ZXJyb3IpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5lcnJvciIsIG51bGwpOwor
CisgICAgICAgICAgICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcigidmlkZW8tdGhyb3R0bGVkLWxv
YWQtbWV0YWRhdGEtd29ya2VyLmpzIik7CisgICAgICAgICAgICB3b3JrZXIub25tZXNzYWdlID0g
ZnVuY3Rpb24gKGV2ZW50KSB7CisgICAgICAgICAgICAgICAgbG9nUmVzdWx0KHRydWUsIGV2ZW50
LmRhdGEpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdmFyIG1vdmllID0gZmluZE1lZGlh
RmlsZSgidmlkZW8iLCAicmVzb3VyY2VzL3Rlc3QiKTsKKyAgICAgICAgICAgIHZhciB0eXBlID0g
bWltZVR5cGVGb3JFeHRlbnNpb24obW92aWUuc3BsaXQoJy4nKS5wb3AoKSk7CisgICAgICAgICAg
ICB2aWRlby5zcmMgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL21lZGlhL3ZpZGVvLXRocm90dGxl
ZC1sb2FkLmNnaT9uYW1lPSIgKyBtb3ZpZSArICImdGhyb3R0bGU9NDAwJnR5cGU9IiArIHR5cGU7
CisgICAgICAgICAgICB2aWRlby5sb2FkKCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0ic3RhcnQoKSI+Cis8dmlkZW8gaWQ9InZpZGVvIj48L3ZpZGVv
PgorPHA+CitUaGlzIHRlc3QgY2FzZSBzaW11bGF0ZXMgYSBzbG93IG5ldHdvcmssIGFuZCBzdGFy
dHMgYSB3ZWIgd29ya2VyIHRocmVhZCB0byB3cml0ZSBhIGxvZyBtZXNzYWdlCit3aGVuIHJldHJp
ZXZpbmcgbWVkaWEgbWV0YWRhdGEgdG8gc2VlIGlmIHRoZSB3ZWJraXQgdGhyZWFkIGlzIGJsb2Nr
ZWQgYnkgbWVkaWEgcmV0cmlldmluZyB0aHJlYWQuPGJyPgorVGhpcyB0ZXN0IGNhc2UgaXMgZm9y
IDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDk3OCI+
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTc4PC9hPgorPC9wPgor
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>