<?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>122142</bug_id>
          
          <creation_ts>2013-09-30 23:54:14 -0700</creation_ts>
          <short_desc>Release expired pages in the page cache more often</short_desc>
          <delta_ts>2026-03-05 14:05:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>History</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Performance</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Iago Toral">itoral</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>beidson</cc>
    
    <cc>buildbot</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>nham</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>934919</commentid>
    <comment_count>0</comment_count>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-09-30 23:54:14 -0700</bug_when>
    <thetext>Expired pages in the page cache can stay there for quite some time even though they will not be reused again. Currently, as far as I understand the code, these pages will stay in the cache until the page is requested again through the get() method (at which point it will be removed if it has expired) or until the cache is pruned due to the addition of new pages (which will only happen if new pages are loaded that meet the criteria to be stored in the page cache). This creates situations where an expired page can stay in memory for quite some time.

Even though the page cache is typically small in size, cached pages hold references to objects stored in the memory cache, so it probably makes sense to get rid of them early if possible, specially in environments where memory efficiency is particularly relevant and/or the memory cache is small.

If the rationale above makes sense, I can provide a patch to release expired pages more often. Considering that the number of pages in the cache is very small I think it should not have a significant performance penalty to check for expired pages on frequently used methods. I&apos;d suggest doing it when calling canCache() since I think this would make sure that we release expired pages at least every time we load a new page, but it is currently a const method so maybe you have other preferences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937826</commentid>
    <comment_count>1</comment_count>
      <attachid>213757</attachid>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-10-09 00:36:30 -0700</bug_when>
    <thetext>Created attachment 213757
Patch

Suggested patch, prunes expired pages every time we check if a new page can be cached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937931</commentid>
    <comment_count>2</comment_count>
      <attachid>213757</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-10-09 08:49:58 -0700</bug_when>
    <thetext>Comment on attachment 213757
Patch

This is a good idea.

I think relying on canCachePage() is kind of a crutch.  If we want to free pages when they expire, we should set a timer for when they expire.

This change can be tested with a WK2 API test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938219</commentid>
    <comment_count>3</comment_count>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-10-09 23:04:36 -0700</bug_when>
    <thetext>Thanks for the feedback Brady, using a timer makes sense, I&apos;ll update the patch accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938257</commentid>
    <comment_count>4</comment_count>
      <attachid>213862</attachid>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-10-10 03:00:24 -0700</bug_when>
    <thetext>Created attachment 213862
Patch using timers

Use a timer to remove expired pages.

I have not done any API tests before so I still need to find how to do that. Looks like Tools/TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp also deals with the page cache so hopefully I can find there all I need to write the test for this. I&apos;ll update the patch when I have a working test for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938383</commentid>
    <comment_count>5</comment_count>
      <attachid>213862</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-10-10 09:30:53 -0700</bug_when>
    <thetext>Comment on attachment 213862
Patch using timers

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

&gt; Source/WebCore/history/HistoryItem.cpp:254
&gt; +    if (!m_expirationTimer-&gt;isActive())

Wouldn&apos;t be better to assert this? Calling startExpirationTimer() multiple times without calling stop() could indicate defective behaviour. The patch in current form would ignore that and probably release the history item sooner than it is intended (because in PageCache::add(), we recreate CachedPage object so item-&gt;m_cachedPage has a new expiration time now, and when we try to (re)start the timer (item-&gt;startExpirationTimer()), it sees it as active and fails to reset it to the new expiration timestamp.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938389</commentid>
    <comment_count>6</comment_count>
      <attachid>213862</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-10-10 09:46:56 -0700</bug_when>
    <thetext>Comment on attachment 213862
Patch using timers

I don&apos;t think history items should have the timers.  HistoryItem being so intertwined with page cache and cached pages is a mistake we&apos;d like to try to reverse.  Also we don&apos;t need multiple timers for this (increasing the size of history item for something that&apos;s used somewhat infrequently)

The page cache itself should have the timer.  When the first CachedPage goes in, the timer is started.  Additional CachedPages don&apos;t change the timer.  And when the timer fires and one page is purged out, we set it to the expiration of the next page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938750</commentid>
    <comment_count>7</comment_count>
      <attachid>213977</attachid>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-10-11 02:35:43 -0700</bug_when>
    <thetext>Created attachment 213977
Patch using a timer in PageCache

Updated patch according to review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938755</commentid>
    <comment_count>8</comment_count>
      <attachid>213977</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-11 03:02:55 -0700</bug_when>
    <thetext>Comment on attachment 213977
Patch using a timer in PageCache

Attachment 213977 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/3776114</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938756</commentid>
    <comment_count>9</comment_count>
      <attachid>213977</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-11 03:16:56 -0700</bug_when>
    <thetext>Comment on attachment 213977
Patch using a timer in PageCache

Attachment 213977 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/3954058</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939882</commentid>
    <comment_count>10</comment_count>
      <attachid>214238</attachid>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-10-15 00:13:13 -0700</bug_when>
    <thetext>Created attachment 214238
Patch using a timer in PageCache, avoids changing public method signature

I don&apos;t know why the Mac build fails with the previous patch but I guess it is related with the fact that the patch changes the signature of the public remove method to add a parameter with a default value. This new patch keeps the original method and adds a private version that takes the additional argument. Hopefully this will fix the build problem on Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941739</commentid>
    <comment_count>11</comment_count>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-10-20 23:34:03 -0700</bug_when>
    <thetext>Any thoughts on my last patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941888</commentid>
    <comment_count>12</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-10-21 10:08:32 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Any thoughts on my last patch?

My thoughts are that it looks good but - reiterating my Comment #2 - this changes WebKit2 API behavior, and therefore it&apos;d be great to write a WebKit2 API test with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942205</commentid>
    <comment_count>13</comment_count>
      <attachid>214829</attachid>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-10-22 02:51:29 -0700</bug_when>
    <thetext>Created attachment 214829
Updated patch

Updated patch: while working on the API test for this I realized that HistoryItem::hasCachedPageExpired and HistoryItem::isInPageCache are now equivalent since an expired item will no longer be in the page cache with this patch. Probably one of these should be deprecated in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942206</commentid>
    <comment_count>14</comment_count>
      <attachid>214830</attachid>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-10-22 02:55:46 -0700</bug_when>
    <thetext>Created attachment 214830
WK2 API test

WK2 API test for the new page cache behavior. The test loads two pages, then goes back to the first one after the page expiration time and checks that the page was not loaded from the page cache.

This test has an obvious problem: the default page expiration time is set to 1800 seconds but I have not found a way to alter this setting from the test, so it will timeout in its current form. Do we need new API in the injected bundle to do this or am I missing something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942595</commentid>
    <comment_count>15</comment_count>
      <attachid>214932</attachid>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-10-22 23:27:26 -0700</bug_when>
    <thetext>Created attachment 214932
Updated patch

Previous patch was not generated from the root directory. This one should apply fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942596</commentid>
    <comment_count>16</comment_count>
      <attachid>214933</attachid>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-10-22 23:28:24 -0700</bug_when>
    <thetext>Created attachment 214933
WK2 API test

Previous patch was not generated from the root directory. This one should apply fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944340</commentid>
    <comment_count>17</comment_count>
    <who name="Iago Toral">itoral</who>
    <bug_when>2013-10-29 00:35:12 -0700</bug_when>
    <thetext>Any comments on the WK2 API patch?
Any pointers to address the issue with the default expiration time setting?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151970</commentid>
    <comment_count>18</comment_count>
      <attachid>214932</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-02 08:52:14 -0800</bug_when>
    <thetext>Comment on attachment 214932
Updated patch

(In reply to comment #14)
&gt; Do we need new API in the injected bundle to do this

Yes, I think so!

r- since the test should be included in the same patch, and it should work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2187512</commentid>
    <comment_count>19</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-03-05 14:05:46 -0800</bug_when>
    <thetext>&lt;rdar://problem/171843260&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213757</attachid>
            <date>2013-10-09 00:36:30 -0700</date>
            <delta_ts>2013-10-10 03:00:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>webkit.pagecache.bug122142.patch</filename>
            <type>text/plain</type>
            <size>2644</size>
            <attacher name="Iago Toral">itoral</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzE1OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEzLTEwLTA5ICBJYWdvIFRv
cmFsIFF1aXJvZ2EgIDxpdG9yYWxAaWdhbGlhLmNvbT4KKworICAgICAgICBSZW1vdmUgZXhwaXJl
ZCBwYWdlcyByZWd1bGFybHksIGV2ZW4gaWYgdGhlIGNhY2hlIGNhcGFjaXR5IGhhcyBub3QgYmVl
biBleGNlZWRlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyMjE0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hl
OjpjYW5DYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6OnJlbW92ZUV4cGlyZWRQ
YWdlcyk6CisgICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuaDoKKyAgICAgICAgUHJ1bmUgZXhw
aXJlZCBwYWdlcyBldmVyeSB0aW1lIHdlIGNoZWNrIGlmIGEgbmV3IHBhZ2UgY2FuIGJlIGNhY2hl
ZC4KKwogMjAxMy0xMC0wOCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeCBFRkwgYnVpbGRicmVhayBzaW5jZSByMTU3MTUy
LgpJbmRleDogU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAkocmV2aXNpb24gMTU3MTU3
KQorKysgU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMzYsMTIgKzMzNiwxNCBAQAogICAgICAgICAmJiBkb2N1bWVudExvYWRlci0+YXBwbGlj
YXRpb25DYWNoZUhvc3QoKS0+Y2FuQ2FjaGVJblBhZ2VDYWNoZSgpCiAgICAgICAgICYmIGZyYW1l
TG9hZGVyLmNsaWVudCgpLmNhbkNhY2hlUGFnZSgpOwogfQotICAgIAotYm9vbCBQYWdlQ2FjaGU6
OmNhbkNhY2hlKFBhZ2UqIHBhZ2UpIGNvbnN0CisKK2Jvb2wgUGFnZUNhY2hlOjpjYW5DYWNoZShQ
YWdlKiBwYWdlKQogewogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IAorCisgICAgcmVtb3ZlRXhwaXJlZFBhZ2VzKCk7CisKICNpZiAhZGVmaW5lZChOREVCVUcpCiAg
ICAgbG9nQ2FuQ2FjaGVQYWdlRGVjaXNpb24ocGFnZSk7CiAjZW5kaWYKQEAgLTQ4MSw2ICs0ODMs
MTcgQEAKICAgICByZXR1cm4gMDsKIH0KIAordm9pZCBQYWdlQ2FjaGU6OnJlbW92ZUV4cGlyZWRQ
YWdlcygpCit7CisgICAgd2hpbGUgKG1fdGFpbCkgeworICAgICAgICBDYWNoZWRQYWdlKiBjYWNo
ZWRQYWdlID0gbV90YWlsLT5tX2NhY2hlZFBhZ2UuZ2V0KCk7CisgICAgICAgIGlmIChjYWNoZWRQ
YWdlLT5oYXNFeHBpcmVkKCkpCisgICAgICAgICAgICByZW1vdmUobV90YWlsKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorfQorCiB2b2lkIFBhZ2VDYWNoZTo6cmVt
b3ZlKEhpc3RvcnlJdGVtKiBpdGVtKQogewogICAgIC8vIFNhZmVseSBpZ25vcmUgYXR0ZW1wdHMg
dG8gcmVtb3ZlIGl0ZW1zIG5vdCBpbiB0aGUgY2FjaGUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
aXN0b3J5L1BhZ2VDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
UGFnZUNhY2hlLmgJKHJldmlzaW9uIDE1NzE1NykKKysrIFNvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
UGFnZUNhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDE0ICs0MiwxNSBAQAogICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUqIHBhZ2VDYWNoZSgpOwotICAg
ICAgICAKLSAgICAgICAgYm9vbCBjYW5DYWNoZShQYWdlKikgY29uc3Q7CiAKKyAgICAgICAgYm9v
bCBjYW5DYWNoZShQYWdlKik7IC8vIFBydW5lcyBleHBpcmVkIHBhZ2VzCisKICAgICAgICAgdm9p
ZCBzZXRDYXBhY2l0eShpbnQpOyAvLyBudW1iZXIgb2YgcGFnZXMgdG8gY2FjaGUKICAgICAgICAg
aW50IGNhcGFjaXR5KCkgeyByZXR1cm4gbV9jYXBhY2l0eTsgfQogICAgICAgICAKICAgICAgICAg
dm9pZCBhZGQoUGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4sIFBhZ2UmKTsgLy8gUHJ1bmVzIGlmIGNh
cGFjaXR5KCkgaXMgZXhjZWVkZWQuCiAgICAgICAgIHZvaWQgcmVtb3ZlKEhpc3RvcnlJdGVtKik7
CisgICAgICAgIHZvaWQgcmVtb3ZlRXhwaXJlZFBhZ2VzKCk7CiAgICAgICAgIENhY2hlZFBhZ2Uq
IGdldChIaXN0b3J5SXRlbSogaXRlbSk7CiAgICAgICAgIFBhc3NPd25QdHI8Q2FjaGVkUGFnZT4g
dGFrZShIaXN0b3J5SXRlbSopOwogCg==
</data>
<flag name="review"
          id="236159"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213862</attachid>
            <date>2013-10-10 03:00:24 -0700</date>
            <delta_ts>2013-10-11 02:35:43 -0700</delta_ts>
            <desc>Patch using timers</desc>
            <filename>webkit.pagecache.bug122142.v2.patch</filename>
            <type>text/plain</type>
            <size>5804</size>
            <attacher name="Iago Toral">itoral</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzIxMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEzLTEwLTEwICBJYWdvIFRv
cmFsIFF1aXJvZ2EgPGl0b3JhbEBpZ2FsaWEuY29tPgorCisgICAgICAgIFJlbW92ZSBleHBpcmVk
IHBhZ2VzIHJlZ3VsYXJseSwgZXZlbiBpZiB0aGUgY2FjaGUgY2FwYWNpdHkgaGFzIG5vdCBiZWVu
IGV4Y2VlZGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTIyMTQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBoaXN0b3J5L0NhY2hlZFBhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUGFn
ZTo6bGlmZVRpbWUpOgorICAgICAgICAqIGhpc3RvcnkvQ2FjaGVkUGFnZS5oOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUGFnZTo6aGFzRXhwaXJlZCk6CisgICAgICAgICogaGlzdG9yeS9IaXN0
b3J5SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5SXRlbTo6fkhpc3RvcnlJdGVt
KToKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpoYXNDYWNoZWRQYWdlRXhwaXJlZCk6
CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5SXRlbTo6c3RhcnRFeHBpcmF0aW9uVGltZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUl0ZW06OnN0b3BFeHBpcmF0aW9uVGltZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6SGlzdG9yeUl0ZW06OmV4cGlyYXRpb25UaW1lckZpcmVkKToKKyAgICAg
ICAgKiBoaXN0b3J5L0hpc3RvcnlJdGVtLmg6CisgICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjphZGQpOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZUNhY2hlOjp0YWtlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6cmVtb3Zl
KToKKyAgICAgICAgUmVtb3ZlIGV4cGlyZWQgcGFnZXMgZnJvbSB0aGUgcGFnZSBjYWNoZS4KKwog
MjAxMy0xMC0wOCAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgZ3JpZC10ZW1w
bGF0ZQpJbmRleDogU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAkocmV2aXNpb24gMTU3
MjExKQorKysgU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MzksNyArNDM5LDkgQEAKICAgICBpdGVtLT5tX2NhY2hlZFBhZ2UgPSBDYWNoZWRQ
YWdlOjpjcmVhdGUocGFnZSk7CiAgICAgYWRkVG9MUlVMaXN0KGl0ZW0pOwogICAgICsrbV9zaXpl
OwotICAgIAorCisgICAgaXRlbS0+c3RhcnRFeHBpcmF0aW9uVGltZXIoKTsKKwogICAgIHBydW5l
KCk7CiB9CiAKQEAgLTQ0OCw2ICs0NTAsNyBAQAogICAgIGlmICghaXRlbSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAKKyAgICBpdGVtLT5zdG9wRXhwaXJhdGlvblRpbWVyKCk7CiAgICAgT3du
UHRyPENhY2hlZFBhZ2U+IGNhY2hlZFBhZ2UgPSBpdGVtLT5tX2NhY2hlZFBhZ2UucmVsZWFzZSgp
OwogCiAgICAgcmVtb3ZlRnJvbUxSVUxpc3QoaXRlbSk7CkBAIC00ODcsNiArNDkwLDcgQEAKICAg
ICBpZiAoIWl0ZW0gfHwgIWl0ZW0tPm1fY2FjaGVkUGFnZSkKICAgICAgICAgcmV0dXJuOwogCisg
ICAgaXRlbS0+c3RvcEV4cGlyYXRpb25UaW1lcigpOwogICAgIGl0ZW0tPm1fY2FjaGVkUGFnZS5j
bGVhcigpOwogICAgIHJlbW92ZUZyb21MUlVMaXN0KGl0ZW0pOwogICAgIC0tbV9zaXplOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuY3BwCShyZXZpc2lvbiAxNTcyMTEpCisr
KyBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjcsOSArMTI3LDkgQEAKICAgICBtX2NhY2hlZE1haW5GcmFtZSA9IDA7CiB9CiAKLWJvb2wg
Q2FjaGVkUGFnZTo6aGFzRXhwaXJlZCgpIGNvbnN0Citkb3VibGUgQ2FjaGVkUGFnZTo6bGlmZVRp
bWUoKSBjb25zdAogewotICAgIHJldHVybiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSA+
IG1fZXhwaXJhdGlvblRpbWU7CisgICAgcmV0dXJuIG1fZXhwaXJhdGlvblRpbWUgLSBtb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uaAkocmV2aXNpb24gMTU3MjExKQorKysg
U291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2luY2x1ZGUgIlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KQEAgLTk2LDcgKzk3LDkgQEAKICAgICAKICAgICBib29sIGlzSW5QYWdlQ2FjaGUoKSBj
b25zdCB7IHJldHVybiBtX2NhY2hlZFBhZ2U7IH0KICAgICBib29sIGhhc0NhY2hlZFBhZ2VFeHBp
cmVkKCkgY29uc3Q7Ci0gICAgCisgICAgdm9pZCBzdGFydEV4cGlyYXRpb25UaW1lcigpOworICAg
IHZvaWQgc3RvcEV4cGlyYXRpb25UaW1lcigpOworCiAgICAgZG91YmxlIGxhc3RWaXNpdGVkVGlt
ZSgpIGNvbnN0OwogICAgIAogICAgIHZvaWQgc2V0QWx0ZXJuYXRlVGl0bGUoY29uc3QgU3RyaW5n
JiBhbHRlcm5hdGVUaXRsZSk7CkBAIC0yMjIsNiArMjI1LDggQEAKIAogICAgIHZvaWQgZW5jb2Rl
QmFja0ZvcndhcmRUcmVlTm9kZShFbmNvZGVyJikgY29uc3Q7CiAKKyAgICB2b2lkIGV4cGlyYXRp
b25UaW1lckZpcmVkKFRpbWVyPEhpc3RvcnlJdGVtPiopOworCiAgICAgLyogV2hlbiBhZGRpbmcg
bmV3IG1lbWJlciB2YXJpYWJsZXMgdG8gdGhpcyBjbGFzcywgcGxlYXNlIG5vdGlmeSB0aGUgUXQg
dGVhbS4KICAgICAgKiBxdC9IaXN0b3J5SXRlbVF0LmNwcCBjb250YWlucyBjb2RlIHRvIHNlcmlh
bGl6ZSBoaXN0b3J5IGl0ZW1zLgogICAgICAqLwpAQCAtMjczLDYgKzI3OCw3IEBACiAgICAgSGlz
dG9yeUl0ZW0qIG1fbmV4dDsKICAgICBIaXN0b3J5SXRlbSogbV9wcmV2OwogICAgIE93blB0cjxD
YWNoZWRQYWdlPiBtX2NhY2hlZFBhZ2U7CisgICAgT3duUHRyPFRpbWVyPEhpc3RvcnlJdGVtPj4g
bV9leHBpcmF0aW9uVGltZXI7CiAgICAgCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFJldGFpblB0
cjxpZD4gbV92aWV3U3RhdGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBh
Z2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuaAko
cmV2aXNpb24gMTU3MjExKQorKysgU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ2LDggKzQ2LDkgQEAKICAgICBEb2N1bWVudExvYWRlciogZG9j
dW1lbnRMb2FkZXIoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZE1haW5GcmFtZS0+ZG9jdW1lbnRM
b2FkZXIoKTsgfQogCiAgICAgZG91YmxlIHRpbWVTdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGlt
ZVN0YW1wOyB9Ci0gICAgYm9vbCBoYXNFeHBpcmVkKCkgY29uc3Q7Ci0gICAgCisgICAgYm9vbCBo
YXNFeHBpcmVkKCkgY29uc3QgeyByZXR1cm4gbGlmZVRpbWUoKSA8PSAwOyB9CisgICAgZG91Ymxl
IGxpZmVUaW1lKCkgY29uc3Q7CisKICAgICBDYWNoZWRGcmFtZSogY2FjaGVkTWFpbkZyYW1lKCkg
eyByZXR1cm4gbV9jYWNoZWRNYWluRnJhbWUuZ2V0KCk7IH0KIAogICAgIHZvaWQgbWFya0ZvclZp
c3RlZExpbmtTdHlsZVJlY2FsYygpIHsgbV9uZWVkU3R5bGVSZWNhbGNGb3JWaXNpdGVkTGlua3Mg
PSB0cnVlOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcAkocmV2
aXNpb24gMTU3MjExKQorKysgU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEzMyw2ICsxMzMsNyBAQAogewogICAgIEFTU0VSVCghbV9jYWNo
ZWRQYWdlKTsKICAgICBpY29uRGF0YWJhc2UoKS5yZWxlYXNlSWNvbkZvclBhZ2VVUkwobV91cmxT
dHJpbmcpOworICAgIHN0b3BFeHBpcmF0aW9uVGltZXIoKTsKIH0KIAogaW5saW5lIEhpc3RvcnlJ
dGVtOjpIaXN0b3J5SXRlbShjb25zdCBIaXN0b3J5SXRlbSYgaXRlbSkKQEAgLTIzNSw2ICsyMzYs
MzYgQEAKICAgICByZXR1cm4gbV9jYWNoZWRQYWdlID8gbV9jYWNoZWRQYWdlLT5oYXNFeHBpcmVk
KCkgOiBmYWxzZTsKIH0KIAordm9pZCBIaXN0b3J5SXRlbTo6c3RhcnRFeHBpcmF0aW9uVGltZXIo
KQoreworICAgIGlmICghbV9jYWNoZWRQYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBD
b21wdXRlIHRpbWUgdW50aWwgZXhwaXJhdGlvbiBhbmQgcmVtb3ZlIHJpZ2h0IGF3YXkgaWYgYWxy
ZWFkeSBleHBpcmVkCisgICAgZG91YmxlIHNlY29uZHMgPSBtX2NhY2hlZFBhZ2UtPmxpZmVUaW1l
KCk7CisgICAgaWYgKHNlY29uZHMgPD0gMCkgeworICAgICAgICBwYWdlQ2FjaGUoKS0+cmVtb3Zl
KHRoaXMpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFtX2V4cGlyYXRpb25U
aW1lcikKKyAgICAgICAgbV9leHBpcmF0aW9uVGltZXIgPSBhZG9wdFB0cihuZXcgVGltZXI8SGlz
dG9yeUl0ZW0+KHRoaXMsICZIaXN0b3J5SXRlbTo6ZXhwaXJhdGlvblRpbWVyRmlyZWQpKTsKKwor
ICAgIGlmICghbV9leHBpcmF0aW9uVGltZXItPmlzQWN0aXZlKCkpCisgICAgICAgIG1fZXhwaXJh
dGlvblRpbWVyLT5zdGFydE9uZVNob3Qoc2Vjb25kcyk7Cit9CisKK3ZvaWQgSGlzdG9yeUl0ZW06
OnN0b3BFeHBpcmF0aW9uVGltZXIoKQoreworICAgIGlmIChtX2V4cGlyYXRpb25UaW1lcikKKyAg
ICAgICAgbV9leHBpcmF0aW9uVGltZXItPnN0b3AoKTsKK30KKwordm9pZCBIaXN0b3J5SXRlbTo6
ZXhwaXJhdGlvblRpbWVyRmlyZWQoVGltZXI8SGlzdG9yeUl0ZW0+KikKK3sKKyAgICBwYWdlQ2Fj
aGUoKS0+cmVtb3ZlKHRoaXMpOworfQorCiBkb3VibGUgSGlzdG9yeUl0ZW06Omxhc3RWaXNpdGVk
VGltZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fbGFzdFZpc2l0ZWRUaW1lOwo=
</data>
<flag name="review"
          id="236294"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213977</attachid>
            <date>2013-10-11 02:35:43 -0700</date>
            <delta_ts>2013-10-22 02:51:29 -0700</delta_ts>
            <desc>Patch using a timer in PageCache</desc>
            <filename>webkit.pagecache.bug122142.v3.patch</filename>
            <type>text/plain</type>
            <size>6239</size>
            <attacher name="Iago Toral">itoral</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzI5NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEzLTEwLTExICBJYWdvIFRv
cmFsIFF1aXJvZ2EgIDxpdG9yYWxAaWdhbGlhLmNvbT4KKworICAgICAgICBSZW1vdmUgZXhwaXJl
ZCBwYWdlcyByZWd1bGFybHksIGV2ZW4gaWYgdGhlIGNhY2hlIGNhcGFjaXR5IGhhcyBub3QgYmVl
biBleGNlZWRlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyMjE0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlbW92ZSBleHBpcmVkIHBhZ2VzIGZyb20gdGhlIHBhZ2UgY2FjaGUgYnkga2VlcGluZyBh
IHRpbWVyIHNldCB0byB0aGUgZXhwaXJhdGlvbgorICAgICAgICB0aW1lIG9mIHRoZSBvbGRlc3Qg
Y2FjaGVkIHBhZ2UuCisKKyAgICAgICAgKiBoaXN0b3J5L0NhY2hlZFBhZ2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUGFnZTo6bGlmZVRpbWUpOgorICAgICAgICAqIGhpc3RvcnkvQ2Fj
aGVkUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUGFnZTo6aGFzRXhwaXJlZCk6Cisg
ICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNh
Y2hlOjpQYWdlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjphZGQpOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjp0YWtlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VD
YWNoZTo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6ZXhwaXJhdGlvblRp
bWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpyZXNldEV4cGlyYXRpb25U
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6OnBydW5lKToKKyAgICAgICAgKiBo
aXN0b3J5L1BhZ2VDYWNoZS5oOgorCiAyMDEzLTEwLTExICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE1NTYwNyk6IEphdmFzY3JpcHQgc2l0
ZSBkb2VzIG5vdCBsb2FkIHZpc3VhbGx5IG9uIHBhbmVyYWJyZWFkLmNvbQpJbmRleDogU291cmNl
L1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAkocmV2aXNpb24gMTU3Mjk0KQorKysgU291cmNlL1dl
YkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTYsNiArMjk2
LDcgQEAKICAgICAsIG1fc2l6ZSgwKQogICAgICwgbV9oZWFkKDApCiAgICAgLCBtX3RhaWwoMCkK
KyAgICAsIG1fZXhwaXJhdGlvblRpbWVyKHRoaXMsICZQYWdlQ2FjaGU6OmV4cGlyYXRpb25UaW1l
ckZpcmVkKQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICAsIG1fc2hvdWxk
Q2xlYXJCYWNraW5nU3RvcmVzKGZhbHNlKQogI2VuZGlmCkBAIC00MzksNyArNDQwLDEwIEBACiAg
ICAgaXRlbS0+bV9jYWNoZWRQYWdlID0gQ2FjaGVkUGFnZTo6Y3JlYXRlKHBhZ2UpOwogICAgIGFk
ZFRvTFJVTGlzdChpdGVtKTsKICAgICArK21fc2l6ZTsKLSAgICAKKworICAgIGlmIChtX3NpemUg
PT0gMSkKKyAgICAgICAgcmVzZXRFeHBpcmF0aW9uVGltZXIoKTsKKwogICAgIHBydW5lKCk7CiB9
CiAKQEAgLTQ1MCw5ICs0NTQsMTQgQEAKIAogICAgIE93blB0cjxDYWNoZWRQYWdlPiBjYWNoZWRQ
YWdlID0gaXRlbS0+bV9jYWNoZWRQYWdlLnJlbGVhc2UoKTsKIAorICAgIGJvb2wgcmVtb3ZlZE9s
ZGVzdCA9IG1fdGFpbCA9PSBpdGVtOwogICAgIHJlbW92ZUZyb21MUlVMaXN0KGl0ZW0pOwogICAg
IC0tbV9zaXplOwogCisgICAgLy8gUmVzZXQgZXhwaXJhdGlvbiB0aW1lciB3aGVuIHRha2luZyB0
aGUgb2xkZXN0IHBhZ2UgZnJvbSB0aGUgY2FjaGUKKyAgICBpZiAocmVtb3ZlZE9sZGVzdCkKKyAg
ICAgICAgcmVzZXRFeHBpcmF0aW9uVGltZXIoKTsKKwogICAgIGl0ZW0tPmRlcmVmKCk7IC8vIEJh
bGFuY2VkIGluIGFkZCgpLgogCiAgICAgaWYgKCFjYWNoZWRQYWdlKQpAQCAtNDgxLDI1ICs0OTAs
NjUgQEAKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBQYWdlQ2FjaGU6OnJlbW92ZShIaXN0b3J5
SXRlbSogaXRlbSkKK3ZvaWQgUGFnZUNhY2hlOjpyZW1vdmUoSGlzdG9yeUl0ZW0qIGl0ZW0sIGJv
b2wgY2hlY2tFeHBpcmF0aW9uVGltZXIpCiB7CiAgICAgLy8gU2FmZWx5IGlnbm9yZSBhdHRlbXB0
cyB0byByZW1vdmUgaXRlbXMgbm90IGluIHRoZSBjYWNoZS4KICAgICBpZiAoIWl0ZW0gfHwgIWl0
ZW0tPm1fY2FjaGVkUGFnZSkKICAgICAgICAgcmV0dXJuOwogCisgICAgYm9vbCByZW1vdmVkT2xk
ZXN0ID0gbV90YWlsID09IGl0ZW07CiAgICAgaXRlbS0+bV9jYWNoZWRQYWdlLmNsZWFyKCk7CiAg
ICAgcmVtb3ZlRnJvbUxSVUxpc3QoaXRlbSk7CiAgICAgLS1tX3NpemU7CiAKKyAgICAvLyBSZXNl
dCBleHBpcmF0aW9uIHRpbWVyIHdoZW4gcmVtb3ZpbmcgdGhlIG9sZGVzdCBwYWdlIGluIHRoZSBj
YWNoZQorICAgIC8vIHVubGVzcyB3ZSBhcmUgdG9sZCBub3QgdG8gKGNoZWNrRXhwaXJhdGlvblRp
bWVyID09IGZhbHNlKQorICAgIGlmIChyZW1vdmVkT2xkZXN0ICYmIGNoZWNrRXhwaXJhdGlvblRp
bWVyKQorICAgICAgICByZXNldEV4cGlyYXRpb25UaW1lcigpOworCiAgICAgaXRlbS0+ZGVyZWYo
KTsgLy8gQmFsYW5jZWQgaW4gYWRkKCkuCiB9CiAKK3ZvaWQgUGFnZUNhY2hlOjpleHBpcmF0aW9u
VGltZXJGaXJlZChUaW1lcjxQYWdlQ2FjaGU+KikKK3sKKyAgICBkb3VibGUgbGlmZVRpbWUgPSAw
OworICAgIHdoaWxlIChtX3RhaWwgJiYgbGlmZVRpbWUgPD0gMCkgeworICAgICAgICBBU1NFUlQo
bV90YWlsLT5tX2NhY2hlZFBhZ2UpOworICAgICAgICBsaWZlVGltZSA9IG1fdGFpbC0+bV9jYWNo
ZWRQYWdlLT5saWZlVGltZSgpOworICAgICAgICBpZiAobGlmZVRpbWUgPD0gMCkKKyAgICAgICAg
ICAgIHJlbW92ZShtX3RhaWwsIGZhbHNlKTsKKyAgICB9IAorCisgICAgLy8gU2V0IHRoZSBleHBp
cmF0aW9uIHRpbWVyIGZvciB0aGUgbmV3IG9sZGVzdCBwYWdlIGluIHRoZSBjYWNoZQorICAgIGlm
IChtX3RhaWwpCisgICAgICAgIG1fZXhwaXJhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChsaWZlVGlt
ZSk7Cit9CisKK3ZvaWQgUGFnZUNhY2hlOjpyZXNldEV4cGlyYXRpb25UaW1lcigpCit7CisgICAg
aWYgKG1fZXhwaXJhdGlvblRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fZXhwaXJhdGlvblRp
bWVyLnN0b3AoKTsKKworICAgIGlmICghbV90YWlsKQorICAgICAgICByZXR1cm47CisKKyAgICBB
U1NFUlQobV90YWlsLT5tX2NhY2hlZFBhZ2UpOworCisgICAgZG91YmxlIGxpZmVUaW1lID0gbV90
YWlsLT5tX2NhY2hlZFBhZ2UtPmxpZmVUaW1lKCk7CisgICAgQVNTRVJUKGxpZmVUaW1lID4gMCk7
CisKKyAgICBtX2V4cGlyYXRpb25UaW1lci5zdGFydE9uZVNob3QobGlmZVRpbWUpOworfQorCiB2
b2lkIFBhZ2VDYWNoZTo6cHJ1bmUoKQogeworICAgIGJvb2wgZGlkUmVtb3ZlID0gbV9zaXplID4g
bV9jYXBhY2l0eTsKICAgICB3aGlsZSAobV9zaXplID4gbV9jYXBhY2l0eSkgewogICAgICAgICBB
U1NFUlQobV90YWlsICYmIG1fdGFpbC0+bV9jYWNoZWRQYWdlKTsKLSAgICAgICAgcmVtb3ZlKG1f
dGFpbCk7CisgICAgICAgIHJlbW92ZShtX3RhaWwsIGZhbHNlKTsKICAgICB9CisgICAgaWYgKGRp
ZFJlbW92ZSkKKyAgICAgICAgcmVzZXRFeHBpcmF0aW9uVGltZXIoKTsKIH0KIAogdm9pZCBQYWdl
Q2FjaGU6OmFkZFRvTFJVTGlzdChIaXN0b3J5SXRlbSogaXRlbSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9DYWNoZWRQYWdlLmNwcAkocmV2aXNpb24gMTU3Mjk0KQorKysgU291cmNlL1dlYkNv
cmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDkgKzEyNyw5
IEBACiAgICAgbV9jYWNoZWRNYWluRnJhbWUgPSAwOwogfQogCi1ib29sIENhY2hlZFBhZ2U6Omhh
c0V4cGlyZWQoKSBjb25zdAorZG91YmxlIENhY2hlZFBhZ2U6OmxpZmVUaW1lKCkgY29uc3QKIHsK
LSAgICByZXR1cm4gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgPiBtX2V4cGlyYXRpb25U
aW1lOworICAgIHJldHVybiBtX2V4cGlyYXRpb25UaW1lIC0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaGlz
dG9yeS9QYWdlQ2FjaGUuaAkocmV2aXNpb24gMTU3Mjk0KQorKysgU291cmNlL1dlYkNvcmUvaGlz
dG9yeS9QYWdlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksOCBAQAogICAgICAg
ICBpbnQgY2FwYWNpdHkoKSB7IHJldHVybiBtX2NhcGFjaXR5OyB9CiAgICAgICAgIAogICAgICAg
ICB2b2lkIGFkZChQYXNzUmVmUHRyPEhpc3RvcnlJdGVtPiwgUGFnZSYpOyAvLyBQcnVuZXMgaWYg
Y2FwYWNpdHkoKSBpcyBleGNlZWRlZC4KLSAgICAgICAgdm9pZCByZW1vdmUoSGlzdG9yeUl0ZW0q
KTsKKyAgICAgICAgdm9pZCByZW1vdmUoSGlzdG9yeUl0ZW0qLCBib29sIGNoZWNrRXhwaXJhdGlv
blRpbWVyID0gdHJ1ZSk7CisKICAgICAgICAgQ2FjaGVkUGFnZSogZ2V0KEhpc3RvcnlJdGVtKiBp
dGVtKTsKICAgICAgICAgUGFzc093blB0cjxDYWNoZWRQYWdlPiB0YWtlKEhpc3RvcnlJdGVtKik7
CiAKQEAgLTgwLDYgKzgxLDkgQEAKICAgICAgICAgdm9pZCBhZGRUb0xSVUxpc3QoSGlzdG9yeUl0
ZW0qKTsgLy8gQWRkcyB0byB0aGUgaGVhZCBvZiB0aGUgbGlzdC4KICAgICAgICAgdm9pZCByZW1v
dmVGcm9tTFJVTGlzdChIaXN0b3J5SXRlbSopOwogCisgICAgICAgIHZvaWQgZXhwaXJhdGlvblRp
bWVyRmlyZWQoVGltZXI8UGFnZUNhY2hlPiopOworICAgICAgICB2b2lkIHJlc2V0RXhwaXJhdGlv
blRpbWVyKCk7CisKICAgICAgICAgdm9pZCBwcnVuZSgpOwogCiAgICAgICAgIGludCBtX2NhcGFj
aXR5OwpAQCAtODgsNiArOTIsOCBAQAogICAgICAgICAvLyBMUlUgTGlzdAogICAgICAgICBIaXN0
b3J5SXRlbSogbV9oZWFkOwogICAgICAgICBIaXN0b3J5SXRlbSogbV90YWlsOworCisgICAgICAg
IFRpbWVyPFBhZ2VDYWNoZT4gbV9leHBpcmF0aW9uVGltZXI7CiAgICAgICAgIAogI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICAgICAgYm9vbCBtX3Nob3VsZENsZWFyQmFja2lu
Z1N0b3JlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5oCShyZXZpc2lvbiAx
NTcyOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuaAkod29ya2luZyBj
b3B5KQpAQCAtNDYsNyArNDYsOCBAQAogICAgIERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRl
cigpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkTWFpbkZyYW1lLT5kb2N1bWVudExvYWRlcigpOyB9
CiAKICAgICBkb3VibGUgdGltZVN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lU3RhbXA7IH0K
LSAgICBib29sIGhhc0V4cGlyZWQoKSBjb25zdDsKKyAgICBib29sIGhhc0V4cGlyZWQoKSBjb25z
dCB7IHJldHVybiBsaWZlVGltZSgpIDw9IDA7IH0KKyAgICBkb3VibGUgbGlmZVRpbWUoKSBjb25z
dDsKICAgICAKICAgICBDYWNoZWRGcmFtZSogY2FjaGVkTWFpbkZyYW1lKCkgeyByZXR1cm4gbV9j
YWNoZWRNYWluRnJhbWUuZ2V0KCk7IH0KIAo=
</data>
<flag name="commit-queue"
          id="236449"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214238</attachid>
            <date>2013-10-15 00:13:13 -0700</date>
            <delta_ts>2013-10-22 02:51:29 -0700</delta_ts>
            <desc>Patch using a timer in PageCache, avoids changing public method signature</desc>
            <filename>webkit.pagecache.bug122142.v4.patch</filename>
            <type>text/plain</type>
            <size>6456</size>
            <attacher name="Iago Toral">itoral</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzQ0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEzLTEwLTE1ICBJYWdvIFRv
cmFsIFF1aXJvZ2EgIDxpdG9yYWxAaWdhbGlhLmNvbT4KKworICAgICAgICBSZW1vdmUgZXhwaXJl
ZCBwYWdlcyByZWd1bGFybHksIGV2ZW4gaWYgdGhlIGNhY2hlIGNhcGFjaXR5IGhhcyBub3QgYmVl
biBleGNlZWRlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyMjE0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlbW92ZSBleHBpcmVkIHBhZ2VzIGZyb20gdGhlIHBhZ2UgY2FjaGUgYnkga2VlcGluZyBh
IHRpbWVyIHNldCB0byB0aGUgZXhwaXJhdGlvbgorICAgICAgICB0aW1lIG9mIHRoZSBvbGRlc3Qg
Y2FjaGVkIHBhZ2UuCisKKyAgICAgICAgKiBoaXN0b3J5L0NhY2hlZFBhZ2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUGFnZTo6bGlmZVRpbWUpOgorICAgICAgICAqIGhpc3RvcnkvQ2Fj
aGVkUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUGFnZTo6aGFzRXhwaXJlZCk6Cisg
ICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNh
Y2hlOjpQYWdlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjphZGQpOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjp0YWtlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VD
YWNoZTo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6cmVtb3ZlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6cmVtb3ZlSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZUNhY2hlOjpleHBpcmF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlQ2FjaGU6OnJlc2V0RXhwaXJhdGlvblRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VD
YWNoZTo6cHJ1bmUpOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hlLmg6CisKIDIwMTMtMTAt
MTUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHJl
ZHVuZGFudCBEb2N1bWVudDo6Z2V0RWxlbWVudEJ5SWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvQ2FjaGVkUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9DYWNoZWRQYWdlLmNwcAkocmV2aXNpb24gMTU3NDQzKQorKysgU291cmNlL1dlYkNvcmUvaGlz
dG9yeS9DYWNoZWRQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDkgKzEyNyw5IEBACiAg
ICAgbV9jYWNoZWRNYWluRnJhbWUgPSAwOwogfQogCi1ib29sIENhY2hlZFBhZ2U6Omhhc0V4cGly
ZWQoKSBjb25zdAorZG91YmxlIENhY2hlZFBhZ2U6OmxpZmVUaW1lKCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgPiBtX2V4cGlyYXRpb25UaW1lOwor
ICAgIHJldHVybiBtX2V4cGlyYXRpb25UaW1lIC0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaGlzdG9yeS9Q
YWdlQ2FjaGUuaAkocmV2aXNpb24gMTU3NDQzKQorKysgU291cmNlL1dlYkNvcmUvaGlzdG9yeS9Q
YWdlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksMTEgQEAKIAogICAgICAgICB2
b2lkIGFkZFRvTFJVTGlzdChIaXN0b3J5SXRlbSopOyAvLyBBZGRzIHRvIHRoZSBoZWFkIG9mIHRo
ZSBsaXN0LgogICAgICAgICB2b2lkIHJlbW92ZUZyb21MUlVMaXN0KEhpc3RvcnlJdGVtKik7Cisg
ICAgICAgIHZvaWQgcmVtb3ZlSW50ZXJuYWwoSGlzdG9yeUl0ZW0qLCBib29sKTsKIAorICAgICAg
ICB2b2lkIGV4cGlyYXRpb25UaW1lckZpcmVkKFRpbWVyPFBhZ2VDYWNoZT4qKTsKKyAgICAgICAg
dm9pZCByZXNldEV4cGlyYXRpb25UaW1lcigpOworCiAgICAgICAgIHZvaWQgcHJ1bmUoKTsKIAog
ICAgICAgICBpbnQgbV9jYXBhY2l0eTsKQEAgLTg4LDYgKzkyLDggQEAKICAgICAgICAgLy8gTFJV
IExpc3QKICAgICAgICAgSGlzdG9yeUl0ZW0qIG1faGVhZDsKICAgICAgICAgSGlzdG9yeUl0ZW0q
IG1fdGFpbDsKKworICAgICAgICBUaW1lcjxQYWdlQ2FjaGU+IG1fZXhwaXJhdGlvblRpbWVyOwog
ICAgICAgICAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgIGJvb2wg
bV9zaG91bGRDbGVhckJhY2tpbmdTdG9yZXM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5
L1BhZ2VDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdl
Q2FjaGUuY3BwCShyZXZpc2lvbiAxNTc0NDMpCisrKyBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1Bh
Z2VDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5Niw2ICsyOTYsNyBAQAogICAgICwgbV9z
aXplKDApCiAgICAgLCBtX2hlYWQoMCkKICAgICAsIG1fdGFpbCgwKQorICAgICwgbV9leHBpcmF0
aW9uVGltZXIodGhpcywgJlBhZ2VDYWNoZTo6ZXhwaXJhdGlvblRpbWVyRmlyZWQpCiAjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICwgbV9zaG91bGRDbGVhckJhY2tpbmdTdG9y
ZXMoZmFsc2UpCiAjZW5kaWYKQEAgLTQzNCwxMiArNDM1LDE1IEBACiAKICAgICAvLyBSZW1vdmUg
c3RhbGUgY2FjaGUgZW50cnkgaWYgbmVjZXNzYXJ5LgogICAgIGlmIChpdGVtLT5tX2NhY2hlZFBh
Z2UpCi0gICAgICAgIHJlbW92ZShpdGVtKTsKKyAgICAgICAgcmVtb3ZlSW50ZXJuYWwoaXRlbSwg
dHJ1ZSk7CiAKICAgICBpdGVtLT5tX2NhY2hlZFBhZ2UgPSBDYWNoZWRQYWdlOjpjcmVhdGUocGFn
ZSk7CiAgICAgYWRkVG9MUlVMaXN0KGl0ZW0pOwogICAgICsrbV9zaXplOwotICAgIAorCisgICAg
aWYgKG1fc2l6ZSA9PSAxKQorICAgICAgICByZXNldEV4cGlyYXRpb25UaW1lcigpOworCiAgICAg
cHJ1bmUoKTsKIH0KIApAQCAtNDUwLDkgKzQ1NCwxNCBAQAogCiAgICAgT3duUHRyPENhY2hlZFBh
Z2U+IGNhY2hlZFBhZ2UgPSBpdGVtLT5tX2NhY2hlZFBhZ2UucmVsZWFzZSgpOwogCisgICAgYm9v
bCByZW1vdmVkT2xkZXN0ID0gbV90YWlsID09IGl0ZW07CiAgICAgcmVtb3ZlRnJvbUxSVUxpc3Qo
aXRlbSk7CiAgICAgLS1tX3NpemU7CiAKKyAgICAvLyBSZXNldCBleHBpcmF0aW9uIHRpbWVyIHdo
ZW4gdGFraW5nIHRoZSBvbGRlc3QgcGFnZSBmcm9tIHRoZSBjYWNoZQorICAgIGlmIChyZW1vdmVk
T2xkZXN0KQorICAgICAgICByZXNldEV4cGlyYXRpb25UaW1lcigpOworCiAgICAgaXRlbS0+ZGVy
ZWYoKTsgLy8gQmFsYW5jZWQgaW4gYWRkKCkuCiAKICAgICBpZiAoIWNhY2hlZFBhZ2UpCkBAIC00
NzYsMzAgKzQ4NSw3NSBAQAogICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFBhZ2U7CiAgICAgICAg
IAogICAgICAgICBMT0coUGFnZUNhY2hlLCAiTm90IHJlc3RvcmluZyBwYWdlIGZvciAlcyBmcm9t
IGJhY2svZm9yd2FyZCBjYWNoZSBiZWNhdXNlIGNhY2hlIGVudHJ5IGhhcyBleHBpcmVkIiwgaXRl
bS0+dXJsKCkuc3RyaW5nKCkuYXNjaWkoKS5kYXRhKCkpOwotICAgICAgICBwYWdlQ2FjaGUoKS0+
cmVtb3ZlKGl0ZW0pOworICAgICAgICBwYWdlQ2FjaGUoKS0+cmVtb3ZlSW50ZXJuYWwoaXRlbSwg
dHJ1ZSk7CiAgICAgfQogICAgIHJldHVybiAwOwogfQogCiB2b2lkIFBhZ2VDYWNoZTo6cmVtb3Zl
KEhpc3RvcnlJdGVtKiBpdGVtKQogeworICAgIHJlbW92ZUludGVybmFsKGl0ZW0sIHRydWUpOwor
fQorCit2b2lkIFBhZ2VDYWNoZTo6cmVtb3ZlSW50ZXJuYWwoSGlzdG9yeUl0ZW0qIGl0ZW0sIGJv
b2wgY2hlY2tFeHBpcmF0aW9uVGltZXIpCit7CiAgICAgLy8gU2FmZWx5IGlnbm9yZSBhdHRlbXB0
cyB0byByZW1vdmUgaXRlbXMgbm90IGluIHRoZSBjYWNoZS4KICAgICBpZiAoIWl0ZW0gfHwgIWl0
ZW0tPm1fY2FjaGVkUGFnZSkKICAgICAgICAgcmV0dXJuOwogCisgICAgYm9vbCByZW1vdmVkT2xk
ZXN0ID0gbV90YWlsID09IGl0ZW07CiAgICAgaXRlbS0+bV9jYWNoZWRQYWdlLmNsZWFyKCk7CiAg
ICAgcmVtb3ZlRnJvbUxSVUxpc3QoaXRlbSk7CiAgICAgLS1tX3NpemU7CiAKKyAgICAvLyBSZXNl
dCBleHBpcmF0aW9uIHRpbWVyIHdoZW4gcmVtb3ZpbmcgdGhlIG9sZGVzdCBwYWdlIGluIHRoZSBj
YWNoZQorICAgIC8vIHVubGVzcyB3ZSBhcmUgdG9sZCBub3QgdG8gKGNoZWNrRXhwaXJhdGlvblRp
bWVyID09IGZhbHNlKQorICAgIGlmIChyZW1vdmVkT2xkZXN0ICYmIGNoZWNrRXhwaXJhdGlvblRp
bWVyKQorICAgICAgICByZXNldEV4cGlyYXRpb25UaW1lcigpOworCiAgICAgaXRlbS0+ZGVyZWYo
KTsgLy8gQmFsYW5jZWQgaW4gYWRkKCkuCiB9CiAKK3ZvaWQgUGFnZUNhY2hlOjpleHBpcmF0aW9u
VGltZXJGaXJlZChUaW1lcjxQYWdlQ2FjaGU+KikKK3sKKyAgICBkb3VibGUgbGlmZVRpbWUgPSAw
OworICAgIHdoaWxlIChtX3RhaWwgJiYgbGlmZVRpbWUgPD0gMCkgeworICAgICAgICBBU1NFUlQo
bV90YWlsLT5tX2NhY2hlZFBhZ2UpOworICAgICAgICBsaWZlVGltZSA9IG1fdGFpbC0+bV9jYWNo
ZWRQYWdlLT5saWZlVGltZSgpOworICAgICAgICBpZiAobGlmZVRpbWUgPD0gMCkKKyAgICAgICAg
ICAgIHJlbW92ZUludGVybmFsKG1fdGFpbCwgZmFsc2UpOworICAgIH0gCisKKyAgICAvLyBTZXQg
dGhlIGV4cGlyYXRpb24gdGltZXIgZm9yIHRoZSBuZXcgb2xkZXN0IHBhZ2UgaW4gdGhlIGNhY2hl
CisgICAgaWYgKG1fdGFpbCkKKyAgICAgICAgbV9leHBpcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KGxpZmVUaW1lKTsKK30KKwordm9pZCBQYWdlQ2FjaGU6OnJlc2V0RXhwaXJhdGlvblRpbWVyKCkK
K3sKKyAgICBpZiAobV9leHBpcmF0aW9uVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbV9leHBp
cmF0aW9uVGltZXIuc3RvcCgpOworCisgICAgaWYgKCFtX3RhaWwpCisgICAgICAgIHJldHVybjsK
KworICAgIEFTU0VSVChtX3RhaWwtPm1fY2FjaGVkUGFnZSk7CisKKyAgICBkb3VibGUgbGlmZVRp
bWUgPSBtX3RhaWwtPm1fY2FjaGVkUGFnZS0+bGlmZVRpbWUoKTsKKyAgICBBU1NFUlQobGlmZVRp
bWUgPiAwKTsKKworICAgIG1fZXhwaXJhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChsaWZlVGltZSk7
Cit9CisKIHZvaWQgUGFnZUNhY2hlOjpwcnVuZSgpCiB7CisgICAgYm9vbCBkaWRSZW1vdmUgPSBt
X3NpemUgPiBtX2NhcGFjaXR5OwogICAgIHdoaWxlIChtX3NpemUgPiBtX2NhcGFjaXR5KSB7CiAg
ICAgICAgIEFTU0VSVChtX3RhaWwgJiYgbV90YWlsLT5tX2NhY2hlZFBhZ2UpOwotICAgICAgICBy
ZW1vdmUobV90YWlsKTsKKyAgICAgICAgcmVtb3ZlSW50ZXJuYWwobV90YWlsLCBmYWxzZSk7CiAg
ICAgfQorICAgIGlmIChkaWRSZW1vdmUpCisgICAgICAgIHJlc2V0RXhwaXJhdGlvblRpbWVyKCk7
CiB9CiAKIHZvaWQgUGFnZUNhY2hlOjphZGRUb0xSVUxpc3QoSGlzdG9yeUl0ZW0qIGl0ZW0pCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuaAkocmV2aXNpb24gMTU3NDQzKQorKysg
U291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2
LDcgKzQ2LDggQEAKICAgICBEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIoKSBjb25zdCB7
IHJldHVybiBtX2NhY2hlZE1haW5GcmFtZS0+ZG9jdW1lbnRMb2FkZXIoKTsgfQogCiAgICAgZG91
YmxlIHRpbWVTdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVN0YW1wOyB9Ci0gICAgYm9vbCBo
YXNFeHBpcmVkKCkgY29uc3Q7CisgICAgYm9vbCBoYXNFeHBpcmVkKCkgY29uc3QgeyByZXR1cm4g
bGlmZVRpbWUoKSA8PSAwOyB9CisgICAgZG91YmxlIGxpZmVUaW1lKCkgY29uc3Q7CiAgICAgCiAg
ICAgQ2FjaGVkRnJhbWUqIGNhY2hlZE1haW5GcmFtZSgpIHsgcmV0dXJuIG1fY2FjaGVkTWFpbkZy
YW1lLmdldCgpOyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214829</attachid>
            <date>2013-10-22 02:51:29 -0700</date>
            <delta_ts>2013-10-22 23:27:26 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>webkit.pagecache.bug122142.v5.patch</filename>
            <type>text/plain</type>
            <size>7071</size>
            <attacher name="Iago Toral">itoral</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcAkocmV2aXNpb24gMTU3Nzc4KQorKysgV2ViQ29y
ZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMyLDcgKzIzMiw5
IEBACiAKIGJvb2wgSGlzdG9yeUl0ZW06Omhhc0NhY2hlZFBhZ2VFeHBpcmVkKCkgY29uc3QKIHsK
LSAgICByZXR1cm4gbV9jYWNoZWRQYWdlID8gbV9jYWNoZWRQYWdlLT5oYXNFeHBpcmVkKCkgOiBm
YWxzZTsKKyAgICAvLyBUaGUgcGFnZSBjYWNoZSByZW1vdmVzIGV4cGlyZWQgcGFnZXMgYXV0b21h
dGljYWxseSB3aXRoIGEgdGltZXIgc28KKyAgICAvLyBhbnkgaGlzdG9yeSBpdGVtIHRoYXQgaXMg
bm90IGluIHRoZSBwYWdlIGNhY2hlIGhhcyBleHBpcmVkCisgICAgcmV0dXJuICFpc0luUGFnZUNh
Y2hlKCk7CiB9CiAKIGRvdWJsZSBIaXN0b3J5SXRlbTo6bGFzdFZpc2l0ZWRUaW1lKCkgY29uc3QK
SW5kZXg6IFdlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCShyZXZpc2lvbiAxNTc3NzgpCisrKyBXZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk2LDYgKzI5Niw3IEBACiAg
ICAgLCBtX3NpemUoMCkKICAgICAsIG1faGVhZCgwKQogICAgICwgbV90YWlsKDApCisgICAgLCBt
X2V4cGlyYXRpb25UaW1lcih0aGlzLCAmUGFnZUNhY2hlOjpleHBpcmF0aW9uVGltZXJGaXJlZCkK
ICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgLCBtX3Nob3VsZENsZWFyQmFj
a2luZ1N0b3JlcyhmYWxzZSkKICNlbmRpZgpAQCAtNDM0LDEyICs0MzUsMTUgQEAKIAogICAgIC8v
IFJlbW92ZSBzdGFsZSBjYWNoZSBlbnRyeSBpZiBuZWNlc3NhcnkuCiAgICAgaWYgKGl0ZW0tPm1f
Y2FjaGVkUGFnZSkKLSAgICAgICAgcmVtb3ZlKGl0ZW0pOworICAgICAgICByZW1vdmVJbnRlcm5h
bChpdGVtLCB0cnVlKTsKIAogICAgIGl0ZW0tPm1fY2FjaGVkUGFnZSA9IENhY2hlZFBhZ2U6OmNy
ZWF0ZShwYWdlKTsKICAgICBhZGRUb0xSVUxpc3QoaXRlbSk7CiAgICAgKyttX3NpemU7Ci0gICAg
CisKKyAgICBpZiAobV9zaXplID09IDEpCisgICAgICAgIHJlc2V0RXhwaXJhdGlvblRpbWVyKCk7
CisKICAgICBwcnVuZSgpOwogfQogCkBAIC00NTAsOSArNDU0LDE0IEBACiAKICAgICBPd25QdHI8
Q2FjaGVkUGFnZT4gY2FjaGVkUGFnZSA9IGl0ZW0tPm1fY2FjaGVkUGFnZS5yZWxlYXNlKCk7CiAK
KyAgICBib29sIHJlbW92ZWRPbGRlc3QgPSBtX3RhaWwgPT0gaXRlbTsKICAgICByZW1vdmVGcm9t
TFJVTGlzdChpdGVtKTsKICAgICAtLW1fc2l6ZTsKIAorICAgIC8vIFJlc2V0IGV4cGlyYXRpb24g
dGltZXIgd2hlbiB0YWtpbmcgdGhlIG9sZGVzdCBwYWdlIGZyb20gdGhlIGNhY2hlCisgICAgaWYg
KHJlbW92ZWRPbGRlc3QpCisgICAgICAgIHJlc2V0RXhwaXJhdGlvblRpbWVyKCk7CisKICAgICBp
dGVtLT5kZXJlZigpOyAvLyBCYWxhbmNlZCBpbiBhZGQoKS4KIAogICAgIGlmICghY2FjaGVkUGFn
ZSkKQEAgLTQ3NiwzMCArNDg1LDc1IEBACiAgICAgICAgICAgICByZXR1cm4gY2FjaGVkUGFnZTsK
ICAgICAgICAgCiAgICAgICAgIExPRyhQYWdlQ2FjaGUsICJOb3QgcmVzdG9yaW5nIHBhZ2UgZm9y
ICVzIGZyb20gYmFjay9mb3J3YXJkIGNhY2hlIGJlY2F1c2UgY2FjaGUgZW50cnkgaGFzIGV4cGly
ZWQiLCBpdGVtLT51cmwoKS5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSk7Ci0gICAgICAgIHBhZ2VD
YWNoZSgpLT5yZW1vdmUoaXRlbSk7CisgICAgICAgIHBhZ2VDYWNoZSgpLT5yZW1vdmVJbnRlcm5h
bChpdGVtLCB0cnVlKTsKICAgICB9CiAgICAgcmV0dXJuIDA7CiB9CiAKIHZvaWQgUGFnZUNhY2hl
OjpyZW1vdmUoSGlzdG9yeUl0ZW0qIGl0ZW0pCiB7CisgICAgcmVtb3ZlSW50ZXJuYWwoaXRlbSwg
dHJ1ZSk7Cit9CisKK3ZvaWQgUGFnZUNhY2hlOjpyZW1vdmVJbnRlcm5hbChIaXN0b3J5SXRlbSog
aXRlbSwgYm9vbCBjaGVja0V4cGlyYXRpb25UaW1lcikKK3sKICAgICAvLyBTYWZlbHkgaWdub3Jl
IGF0dGVtcHRzIHRvIHJlbW92ZSBpdGVtcyBub3QgaW4gdGhlIGNhY2hlLgogICAgIGlmICghaXRl
bSB8fCAhaXRlbS0+bV9jYWNoZWRQYWdlKQogICAgICAgICByZXR1cm47CiAKKyAgICBib29sIHJl
bW92ZWRPbGRlc3QgPSBtX3RhaWwgPT0gaXRlbTsKICAgICBpdGVtLT5tX2NhY2hlZFBhZ2UuY2xl
YXIoKTsKICAgICByZW1vdmVGcm9tTFJVTGlzdChpdGVtKTsKICAgICAtLW1fc2l6ZTsKIAorICAg
IC8vIFJlc2V0IGV4cGlyYXRpb24gdGltZXIgd2hlbiByZW1vdmluZyB0aGUgb2xkZXN0IHBhZ2Ug
aW4gdGhlIGNhY2hlCisgICAgLy8gdW5sZXNzIHdlIGFyZSB0b2xkIG5vdCB0byAoY2hlY2tFeHBp
cmF0aW9uVGltZXIgPT0gZmFsc2UpCisgICAgaWYgKHJlbW92ZWRPbGRlc3QgJiYgY2hlY2tFeHBp
cmF0aW9uVGltZXIpCisgICAgICAgIHJlc2V0RXhwaXJhdGlvblRpbWVyKCk7CisKICAgICBpdGVt
LT5kZXJlZigpOyAvLyBCYWxhbmNlZCBpbiBhZGQoKS4KIH0KIAordm9pZCBQYWdlQ2FjaGU6OmV4
cGlyYXRpb25UaW1lckZpcmVkKFRpbWVyPFBhZ2VDYWNoZT4qKQoreworICAgIGRvdWJsZSBsaWZl
VGltZSA9IDA7CisgICAgd2hpbGUgKG1fdGFpbCAmJiBsaWZlVGltZSA8PSAwKSB7CisgICAgICAg
IEFTU0VSVChtX3RhaWwtPm1fY2FjaGVkUGFnZSk7CisgICAgICAgIGxpZmVUaW1lID0gbV90YWls
LT5tX2NhY2hlZFBhZ2UtPmxpZmVUaW1lKCk7CisgICAgICAgIGlmIChsaWZlVGltZSA8PSAwKQor
ICAgICAgICAgICAgcmVtb3ZlSW50ZXJuYWwobV90YWlsLCBmYWxzZSk7CisgICAgfSAKKworICAg
IC8vIFNldCB0aGUgZXhwaXJhdGlvbiB0aW1lciBmb3IgdGhlIG5ldyBvbGRlc3QgcGFnZSBpbiB0
aGUgY2FjaGUKKyAgICBpZiAobV90YWlsKQorICAgICAgICBtX2V4cGlyYXRpb25UaW1lci5zdGFy
dE9uZVNob3QobGlmZVRpbWUpOworfQorCit2b2lkIFBhZ2VDYWNoZTo6cmVzZXRFeHBpcmF0aW9u
VGltZXIoKQoreworICAgIGlmIChtX2V4cGlyYXRpb25UaW1lci5pc0FjdGl2ZSgpKQorICAgICAg
ICBtX2V4cGlyYXRpb25UaW1lci5zdG9wKCk7CisKKyAgICBpZiAoIW1fdGFpbCkKKyAgICAgICAg
cmV0dXJuOworCisgICAgQVNTRVJUKG1fdGFpbC0+bV9jYWNoZWRQYWdlKTsKKworICAgIGRvdWJs
ZSBsaWZlVGltZSA9IG1fdGFpbC0+bV9jYWNoZWRQYWdlLT5saWZlVGltZSgpOworICAgIEFTU0VS
VChsaWZlVGltZSA+IDApOworCisgICAgbV9leHBpcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90KGxp
ZmVUaW1lKTsKK30KKwogdm9pZCBQYWdlQ2FjaGU6OnBydW5lKCkKIHsKKyAgICBib29sIGRpZFJl
bW92ZSA9IG1fc2l6ZSA+IG1fY2FwYWNpdHk7CiAgICAgd2hpbGUgKG1fc2l6ZSA+IG1fY2FwYWNp
dHkpIHsKICAgICAgICAgQVNTRVJUKG1fdGFpbCAmJiBtX3RhaWwtPm1fY2FjaGVkUGFnZSk7Ci0g
ICAgICAgIHJlbW92ZShtX3RhaWwpOworICAgICAgICByZW1vdmVJbnRlcm5hbChtX3RhaWwsIGZh
bHNlKTsKICAgICB9CisgICAgaWYgKGRpZFJlbW92ZSkKKyAgICAgICAgcmVzZXRFeHBpcmF0aW9u
VGltZXIoKTsKIH0KIAogdm9pZCBQYWdlQ2FjaGU6OmFkZFRvTFJVTGlzdChIaXN0b3J5SXRlbSog
aXRlbSkKSW5kZXg6IFdlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5jcHAJKHJldmlzaW9uIDE1Nzc3OCkKKysrIFdl
YkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDkgKzEy
Nyw5IEBACiAgICAgbV9jYWNoZWRNYWluRnJhbWUgPSAwOwogfQogCi1ib29sIENhY2hlZFBhZ2U6
Omhhc0V4cGlyZWQoKSBjb25zdAorZG91YmxlIENhY2hlZFBhZ2U6OmxpZmVUaW1lKCkgY29uc3QK
IHsKLSAgICByZXR1cm4gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgPiBtX2V4cGlyYXRp
b25UaW1lOworICAgIHJldHVybiBtX2V4cGlyYXRpb25UaW1lIC0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2hpc3RvcnkvUGFnZUNh
Y2hlLmgJKHJldmlzaW9uIDE1Nzc3OCkKKysrIFdlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksMTEgQEAKIAogICAgICAgICB2b2lkIGFkZFRvTFJV
TGlzdChIaXN0b3J5SXRlbSopOyAvLyBBZGRzIHRvIHRoZSBoZWFkIG9mIHRoZSBsaXN0LgogICAg
ICAgICB2b2lkIHJlbW92ZUZyb21MUlVMaXN0KEhpc3RvcnlJdGVtKik7CisgICAgICAgIHZvaWQg
cmVtb3ZlSW50ZXJuYWwoSGlzdG9yeUl0ZW0qLCBib29sKTsKIAorICAgICAgICB2b2lkIGV4cGly
YXRpb25UaW1lckZpcmVkKFRpbWVyPFBhZ2VDYWNoZT4qKTsKKyAgICAgICAgdm9pZCByZXNldEV4
cGlyYXRpb25UaW1lcigpOworCiAgICAgICAgIHZvaWQgcHJ1bmUoKTsKIAogICAgICAgICBpbnQg
bV9jYXBhY2l0eTsKQEAgLTg4LDYgKzkyLDggQEAKICAgICAgICAgLy8gTFJVIExpc3QKICAgICAg
ICAgSGlzdG9yeUl0ZW0qIG1faGVhZDsKICAgICAgICAgSGlzdG9yeUl0ZW0qIG1fdGFpbDsKKwor
ICAgICAgICBUaW1lcjxQYWdlQ2FjaGU+IG1fZXhwaXJhdGlvblRpbWVyOwogICAgICAgICAKICNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgIGJvb2wgbV9zaG91bGRDbGVh
ckJhY2tpbmdTdG9yZXM7CkluZGV4OiBXZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmgJKHJldmlzaW9uIDE1Nzc3OCkK
KysrIFdlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcg
KzQ2LDggQEAKICAgICBEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIoKSBjb25zdCB7IHJl
dHVybiBtX2NhY2hlZE1haW5GcmFtZS0+ZG9jdW1lbnRMb2FkZXIoKTsgfQogCiAgICAgZG91Ymxl
IHRpbWVTdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVN0YW1wOyB9Ci0gICAgYm9vbCBoYXNF
eHBpcmVkKCkgY29uc3Q7CisgICAgYm9vbCBoYXNFeHBpcmVkKCkgY29uc3QgeyByZXR1cm4gbGlm
ZVRpbWUoKSA8PSAwOyB9CisgICAgZG91YmxlIGxpZmVUaW1lKCkgY29uc3Q7CiAgICAgCiAgICAg
Q2FjaGVkRnJhbWUqIGNhY2hlZE1haW5GcmFtZSgpIHsgcmV0dXJuIG1fY2FjaGVkTWFpbkZyYW1l
LmdldCgpOyB9CiAKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTc3ODEpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTEwLTIyICBJYWdvIFRvcmFsIFF1aXJv
Z2EgPGl0b3JhbEBpZ2FsaWEuY29tPgorCisgICAgICAgIFJlbW92ZSBleHBpcmVkIHBhZ2VzIHJl
Z3VsYXJseSwgZXZlbiBpZiB0aGUgY2FjaGUgY2FwYWNpdHkgaGFzIG5vdCBiZWVuIGV4Y2VlZGVk
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyMTQy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
IGV4cGlyZWQgcGFnZXMgZnJvbSB0aGUgcGFnZSBjYWNoZSBieSBrZWVwaW5nIGEgdGltZXIgc2V0
IHRvIHRoZSBleHBpcmF0aW9uCisgICAgICAgIHRpbWUgb2YgdGhlIG9sZGVzdCBjYWNoZWQgcGFn
ZS4KKworICAgICAgICBUZXN0ZWQgd2l0aCBXZWJLaXQyIEFQSSB0ZXN0IFBhZ2VDYWNoZUV4cGly
YXRpb24uCisKKyAgICAgICAgKiBoaXN0b3J5L0NhY2hlZFBhZ2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUGFnZTo6bGlmZVRpbWUpOgorICAgICAgICAqIGhpc3RvcnkvQ2FjaGVkUGFn
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUGFnZTo6aGFzRXhwaXJlZCk6CisgICAgICAg
ICogaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5SXRl
bTo6aGFzQ2FjaGVkUGFnZUV4cGlyZWQpOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6UGFnZUNhY2hlKToKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2VDYWNoZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6dGFr
ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6OmdldCk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlQ2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6OnJlbW92
ZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6ZXhwaXJhdGlvblRpbWVy
RmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpyZXNldEV4cGlyYXRpb25UaW1l
cik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6OnBydW5lKToKKyAgICAgICAgKiBoaXN0
b3J5L1BhZ2VDYWNoZS5oOgorCiAyMDEzLTEwLTIyICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBz
YW1zdW5nLmNvbT4KIAogICAgICAgICBbR1RLXSBBZGQgV2ViS2l0MiBBUEkgZm9yIFRMUyBlcnJv
cnMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214830</attachid>
            <date>2013-10-22 02:55:46 -0700</date>
            <delta_ts>2013-10-22 23:28:24 -0700</delta_ts>
            <desc>WK2 API test</desc>
            <filename>webkit.pagecache.bug122142.v5.apitest.patch</filename>
            <type>text/plain</type>
            <size>11276</size>
            <attacher name="Iago Toral">itoral</attacher>
            
              <data encoding="base64">SW5kZXg6IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdlQ2FjaGVFeHBpcmF0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUGFnZUNhY2hlRXhw
aXJhdGlvbi5jcHAJKHJldmlzaW9uIDApCisrKyBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
UGFnZUNhY2hlRXhwaXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtVXRp
bGl0aWVzLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCisjaW5jbHVkZSAiVGVzdC5o
IgorCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZVBhZ2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQy
L1dLQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVGltZXIu
aD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitjbGFzcyBQcml2YXRlVGltZXIgOiBw
dWJsaWMgV2ViQ29yZTo6VGltZXJCYXNlIHsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIHZvaWQgKCpQ
cml2YXRlVGltZXJGaXJlZEZ1bmN0aW9uKSh2b2lkKik7CisgICAgUHJpdmF0ZVRpbWVyKFByaXZh
dGVUaW1lckZpcmVkRnVuY3Rpb24gZiwgdm9pZCogZGF0YSkKKyAgICAgICAgOiBtX2Z1bmN0aW9u
KGYpLCBtX2RhdGEoZGF0YSkgeyB9CisKK3ByaXZhdGU6CisgICAgdmlydHVhbCB2b2lkIGZpcmVk
KCkgT1ZFUlJJREUgeyAoKm1fZnVuY3Rpb24pKG1fZGF0YSk7IH0KKworICAgIFByaXZhdGVUaW1l
ckZpcmVkRnVuY3Rpb24gbV9mdW5jdGlvbjsKKyAgICB2b2lkKiBtX2RhdGE7Cit9OworCitzdGF0
aWMgYm9vbCBkb25lOworc3RhdGljIGJvb2wgbG9hZGVkRnJvbVBhZ2VDYWNoZTsKKworc3RhdGlj
IHZvaWQgZ29CYWNrVGltZXJGaXJlZCh2b2lkICpkYXRhKQoreworICAgIFBsYXRmb3JtV2ViVmll
dyogd2ViVmlldyA9IChQbGF0Zm9ybVdlYlZpZXcqKWRhdGE7CisgICAgV0tQYWdlR29CYWNrKHdl
YlZpZXctPnBhZ2UoKSk7Cit9CisKK3N0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZShX
S1BhZ2VSZWYsIFdLRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCopCit7Cisg
ICAgLy8gT25seSBtYXJrIGZpbmlzaGVkIHdoZW4gdGhlIG1haW4gZnJhbWUgbG9hZHMKKyAgICBp
ZiAoIVdLRnJhbWVJc01haW5GcmFtZShmcmFtZSkpCisgICAgICAgIHJldHVybjsKKworICAgIGRv
bmUgPSB0cnVlOworfQorCitzdGF0aWMgdm9pZCB3aWxsR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0o
V0tQYWdlUmVmLCBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1SZWYsIFdLVHlwZVJlZiB1c2VyRGF0YSwg
Y29uc3Qgdm9pZCopCit7CisgICAgaWYgKHVzZXJEYXRhICYmIFdLR2V0VHlwZUlEKHVzZXJEYXRh
KSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpCisgICAgICAgICYmIFdLU3RyaW5nSXNFcXVhbFRvVVRG
OENTdHJpbmcoKFdLU3RyaW5nUmVmKXVzZXJEYXRhLCAiUGFnZSBpcyBjYWNoZWQiKSkKKyAgICAg
ICAgbG9hZGVkRnJvbVBhZ2VDYWNoZSA9IHRydWU7CisgICAgZG9uZSA9IHRydWU7Cit9CisKK3N0
YXRpYyB2b2lkIHNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2UpCit7CisgICAgV0tQ
YWdlTG9hZGVyQ2xpZW50IGxvYWRlckNsaWVudDsKKyAgICBtZW1zZXQoJmxvYWRlckNsaWVudCwg
MCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOworICAgIGxvYWRlckNsaWVudC52ZXJzaW9uID0gMTsK
KyAgICBsb2FkZXJDbGllbnQuY2xpZW50SW5mbyA9IDA7CisgICAgbG9hZGVyQ2xpZW50LmRpZEZp
bmlzaExvYWRGb3JGcmFtZSA9IGRpZEZpbmlzaExvYWRGb3JGcmFtZTsKKyAgICBsb2FkZXJDbGll
bnQud2lsbEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtID0gd2lsbEdvVG9CYWNrRm9yd2FyZExpc3RJ
dGVtOworICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJmxvYWRlckNsaWVudCk7
Cit9CisKK1RFU1QoV2ViS2l0MiwgUGFnZUNhY2hlRXhwaXJhdGlvbikKK3sKKyAgICBkb3VibGUg
cGFnZUV4cGlyYXRpb25UaW1lID0gMTgwMDsKKworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJl
Zj4gY29udGV4dCA9IGFkb3B0V0soVXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxl
VGVzdCgiUGFnZUNhY2hlRXhwaXJhdGlvblRlc3QiKSk7CisgICAgLy8gRW5hYmxlIHRoZSBwYWdl
IGNhY2hlIHNvIHdlIGNhbiB0ZXN0IHBhZ2UgZXhwaXJhdGlvbgorICAgIFdLQ29udGV4dFNldENh
Y2hlTW9kZWwoY29udGV4dC5nZXQoKSwga1dLQ2FjaGVNb2RlbERvY3VtZW50QnJvd3Nlcik7Cisg
ICAgLy8gRklYTUU6IFdlIGhhdmUgdG8gc2V0IHRoZSBwYWdlIGV4cGlyYXRpb24gdGltZSB0byBz
b21ldGhpbmcgc21hbGwgKDwxcykKKworICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRl
eHQuZ2V0KCkpOworICAgIHNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCkpOworICAg
IFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCksIGFkb3B0V0soVXRpbDo6Y3JlYXRlVVJMRm9y
UmVzb3VyY2UoInNpbXBsZSIsICJodG1sIikpLmdldCgpKTsKKyAgICBVdGlsOjpydW4oJmRvbmUp
OworCisgICAgZG9uZSA9IGZhbHNlOworICAgIFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCks
IGFkb3B0V0soVXRpbDo6Y3JlYXRlVVJMRm9yUmVzb3VyY2UoInNpbXBsZS1pZnJhbWUiLCAiaHRt
bCIpKS5nZXQoKSk7CisgICAgVXRpbDo6cnVuKCZkb25lKTsKKworICAgIC8vIEdvIGJhY2sgdG8g
aW5pdGlhbCBwYWdlIGFmdGVyIGl0IGhhcyBleHBpcmVkCisgICAgUHJpdmF0ZVRpbWVyIGdvQmFj
a1RpbWVyKGdvQmFja1RpbWVyRmlyZWQsICZ3ZWJWaWV3KTsKKyAgICBnb0JhY2tUaW1lci5zdGFy
dE9uZVNob3QocGFnZUV4cGlyYXRpb25UaW1lICsgMC41KTsKKworICAgIGRvbmUgPSBmYWxzZTsK
KyAgICBVdGlsOjpydW4oJmRvbmUpOworCisgICAgRVhQRUNUX0ZBTFNFKGxvYWRlZEZyb21QYWdl
Q2FjaGUpOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCisKSW5kZXg6IFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdlQ2FjaGVFeHBpcmF0aW9uX0J1bmRsZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1BhZ2VDYWNoZUV4cGlyYXRp
b25fQnVuZGxlLmNwcAkocmV2aXNpb24gMCkKKysrIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mi9QYWdlQ2FjaGVFeHBpcmF0aW9uX0J1bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5q
ZWN0ZWRCdW5kbGVUZXN0LmgiCisKKyNpbmNsdWRlICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2lu
Y2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVQYWdlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRs
ZUJhY2tGb3J3YXJkTGlzdEl0ZW0uaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitj
bGFzcyBQYWdlQ2FjaGVFeHBpcmF0aW9uVGVzdCA6IHB1YmxpYyBJbmplY3RlZEJ1bmRsZVRlc3Qg
eworcHVibGljOgorICAgIFBhZ2VDYWNoZUV4cGlyYXRpb25UZXN0KGNvbnN0IHN0ZDo6c3RyaW5n
JiBpZGVudGlmaWVyKTsKKworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVQYWdlKFdLQnVuZGxl
UmVmLCBXS0J1bmRsZVBhZ2VSZWYpOworfTsKKworc3RhdGljIEluamVjdGVkQnVuZGxlVGVzdDo6
UmVnaXN0ZXI8UGFnZUNhY2hlRXhwaXJhdGlvblRlc3Q+IHJlZ2lzdHJhcigiUGFnZUNhY2hlRXhw
aXJhdGlvblRlc3QiKTsKKworc3RhdGljIGJvb2wgc2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0
ZW1DYWxsYmFjayhXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbVJl
ZiBpdGVtLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkKikKK3sKKyAgICAvLyBDaGVj
ayBpZiBpdGVtIGlzIHN0aWxsIGFsaXZlIGluIHRoZSBwYWdlIGNhY2hlCisgICAgaWYgKFdLQnVu
ZGxlQmFja0ZvcndhcmRMaXN0SXRlbUlzSW5QYWdlQ2FjaGUoaXRlbSkpCisgICAgICAgICp1c2Vy
RGF0YSA9IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJQYWdlIGlzIGNhY2hlZCIpOwor
ICAgIGVsc2UKKyAgICAgICAgKnVzZXJEYXRhID0gV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIlBhZ2UgaXMgbm90IGNhY2hlZCIpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK1BhZ2VD
YWNoZUV4cGlyYXRpb25UZXN0OjpQYWdlQ2FjaGVFeHBpcmF0aW9uVGVzdChjb25zdCBzdGQ6OnN0
cmluZyYgaWRlbnRpZmllcikKKyAgICA6IEluamVjdGVkQnVuZGxlVGVzdChpZGVudGlmaWVyKQor
eworfQorCit2b2lkIFBhZ2VDYWNoZUV4cGlyYXRpb25UZXN0OjpkaWRDcmVhdGVQYWdlKFdLQnVu
ZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UpCit7ICAgIAorICAgIFdLQnVuZGxl
UGFnZUxvYWRlckNsaWVudCBwYWdlTG9hZGVyQ2xpZW50OworICAgIG1lbXNldCgmcGFnZUxvYWRl
ckNsaWVudCwgMCwgc2l6ZW9mKHBhZ2VMb2FkZXJDbGllbnQpKTsKKyAgICAKKyAgICBwYWdlTG9h
ZGVyQ2xpZW50LnZlcnNpb24gPSAxOworICAgIHBhZ2VMb2FkZXJDbGllbnQuY2xpZW50SW5mbyA9
IHRoaXM7CisgICAgcGFnZUxvYWRlckNsaWVudC5zaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRl
bSA9IHNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtQ2FsbGJhY2s7CisgICAgCisgICAgV0tC
dW5kbGVQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdlLCAmcGFnZUxvYWRlckNsaWVudCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKSW5kZXg6IFRlc3RXZWJLaXRBUEkvR05V
bWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5hbQko
cmV2aXNpb24gMTU3NzgxKQorKysgVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5hbQkod29ya2lu
ZyBjb3B5KQpAQCAtMjc2LDYgKzI3Niw3IEBACiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyL05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZhaWxzLmNwcCBcCiAJVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91
dEZvckltYWdlcy5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9OZXdG
aXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGcmFtZXMuY3BwIFwKKwlUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDIvUGFnZUNhY2hlRXhwaXJhdGlvbi5jcHAgXAogCVRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdlTG9hZEJhc2ljLmNwcCBcCiAJVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyL1BhZ2VMb2FkRGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5QYWdl
Rm9yRnJhbWUuY3BwIFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUGFnZVZp
c2liaWxpdHlTdGF0ZS5jcHAgXApAQCAtMzI5LDYgKzMzMCw3IEBACiAJVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyL05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZhaWxzX0J1
bmRsZS5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9OZXdGaXJzdFZp
c3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JJbWFnZXNfQnVuZGxlLmNwcCBcCiAJVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyL05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZyYW1l
c19CdW5kbGUuY3BwIFwKKwlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUGFnZUNh
Y2hlRXhwaXJhdGlvbl9CdW5kbGUuY3BwIFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvUGFyZW50RnJhbWVfQnVuZGxlLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL1Jlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCBc
CiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Nob3VsZEdvVG9CYWNrRm9yd2Fy
ZExpc3RJdGVtX0J1bmRsZS5jcHAgXApJbmRleDogVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5j
bWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlCShyZXZp
c2lvbiAxNTc3NzgpCisrKyBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlCSh3b3JraW5n
IGNvcHkpCkBAIC04Myw2ICs4Myw3IEBACiAgICAgTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5
b3V0CiAgICAgTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RmFpbHMKICAgICBOZXdGaXJz
dFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JJbWFnZXMKKyAgICBQYWdlQ2FjaGVFeHBpcmF0aW9u
CiAgICAgUGFnZUxvYWRCYXNpYwogICAgIFBhZ2VMb2FkRGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5Q
YWdlRm9yRnJhbWUKICAgICBQYWdlVmlzaWJpbGl0eVN0YXRlCkluZGV4OiBUZXN0V2ViS2l0QVBJ
L1BsYXRmb3JtR1RLLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1H
VEsuY21ha2UJKHJldmlzaW9uIDE1Nzc3OCkKKysrIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsu
Y21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTk0LDYgKzk0LDcgQEAKICAgICBOZXdGaXJzdFZpc3Vh
bGx5Tm9uRW1wdHlMYXlvdXRGYWlscwogICAgIE5ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91
dEZvckltYWdlcwogICAgIE5ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZyYW1lcworICAg
IFBhZ2VDYWNoZUV4cGlyYXRpb24KICAgICBQYWdlTG9hZEJhc2ljCiAgICAgUGFnZUxvYWREaWRD
aGFuZ2VMb2NhdGlvbldpdGhpblBhZ2VGb3JGcmFtZQogICAgIFBhcmVudEZyYW1lCkluZGV4OiBD
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTc3ODEpCisrKyBD
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAxMy0xMC0yMiAgSWFn
byBUb3JhbCBRdWlyb2dhICA8aXRvcmFsQGlnYWxpYS5jb20+CisKKyAgICAgICAgV2ViS2l0MiBB
UEkgdGVzdCBhZGRlZCB0byBjaGVjayBhdXRvbWF0aWMgcmVtb3ZhbCBvZiBleHBpcmVkIHBhZ2Vz
IGZyb20gdGhlIHBhZ2UgY2FjaGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjIxNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW06CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1BsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mi9QYWdlQ2FjaGVFeHBpcmF0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpQcml2YXRlVGltZXI6OlByaXZhdGVUaW1lcik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpn
b0JhY2tUaW1lckZpcmVkKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZEZpbmlzaExvYWRG
b3JGcmFtZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp3aWxsR29Ub0JhY2tGb3J3YXJkTGlz
dEl0ZW0pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6c2V0UGFnZUxvYWRlckNsaWVudCk6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvUGFnZUNhY2hlRXhwaXJhdGlvbl9CdW5kbGUuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtQ2FsbGJhY2sp
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6UGFnZUNhY2hlRXhwaXJhdGlvblRlc3Q6OlBhZ2VD
YWNoZUV4cGlyYXRpb25UZXN0KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlBhZ2VDYWNoZUV4
cGlyYXRpb25UZXN0OjpkaWRDcmVhdGVQYWdlKToKKwogMjAxMy0xMC0yMSAgVGFtYXMgR2VyZ2Vs
eSAgPGdlcnRvbUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgUnVuIHRlc3RzIGFzIGlmIHRo
ZXkgYXJlIGV4cGVjdGVkIHRvIHBhc3Mgd2hlbiAtLWZvcmNlIGlzIGdpdmVuLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214932</attachid>
            <date>2013-10-22 23:27:26 -0700</date>
            <delta_ts>2016-01-02 08:52:14 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>webkit.pagecache.bug122142.v5.patch</filename>
            <type>text/plain</type>
            <size>7197</size>
            <attacher name="Iago Toral">itoral</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1Nzc4MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTEwLTIyICBJYWdvIFRv
cmFsIFF1aXJvZ2EgPGl0b3JhbEBpZ2FsaWEuY29tPgorCisgICAgICAgIFJlbW92ZSBleHBpcmVk
IHBhZ2VzIHJlZ3VsYXJseSwgZXZlbiBpZiB0aGUgY2FjaGUgY2FwYWNpdHkgaGFzIG5vdCBiZWVu
IGV4Y2VlZGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTIyMTQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVtb3ZlIGV4cGlyZWQgcGFnZXMgZnJvbSB0aGUgcGFnZSBjYWNoZSBieSBrZWVwaW5nIGEg
dGltZXIgc2V0IHRvIHRoZSBleHBpcmF0aW9uCisgICAgICAgIHRpbWUgb2YgdGhlIG9sZGVzdCBj
YWNoZWQgcGFnZS4KKworICAgICAgICBUZXN0ZWQgd2l0aCBXZWJLaXQyIEFQSSB0ZXN0IFBhZ2VD
YWNoZUV4cGlyYXRpb24uCisKKyAgICAgICAgKiBoaXN0b3J5L0NhY2hlZFBhZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUGFnZTo6bGlmZVRpbWUpOgorICAgICAgICAqIGhpc3Rvcnkv
Q2FjaGVkUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUGFnZTo6aGFzRXhwaXJlZCk6
CisgICAgICAgICogaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
aXN0b3J5SXRlbTo6aGFzQ2FjaGVkUGFnZUV4cGlyZWQpOgorICAgICAgICAqIGhpc3RvcnkvUGFn
ZUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6UGFnZUNhY2hlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VD
YWNoZTo6dGFrZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6OmdldCk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlQ2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2Fj
aGU6OnJlbW92ZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6ZXhwaXJh
dGlvblRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpyZXNldEV4cGly
YXRpb25UaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6OnBydW5lKToKKyAgICAg
ICAgKiBoaXN0b3J5L1BhZ2VDYWNoZS5oOgorCiAyMDEzLTEwLTIyICBCcmlhbiBIb2x0ICA8YnJp
YW4uaG9sdEBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbR1RLXSBBZGQgV2ViS2l0MiBBUEkgZm9y
IFRMUyBlcnJvcnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAJKHJldmlz
aW9uIDE1Nzc3OCkKKysrIFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjk2LDYgKzI5Niw3IEBACiAgICAgLCBtX3NpemUoMCkKICAgICAsIG1f
aGVhZCgwKQogICAgICwgbV90YWlsKDApCisgICAgLCBtX2V4cGlyYXRpb25UaW1lcih0aGlzLCAm
UGFnZUNhY2hlOjpleHBpcmF0aW9uVGltZXJGaXJlZCkKICNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCiAgICAgLCBtX3Nob3VsZENsZWFyQmFja2luZ1N0b3JlcyhmYWxzZSkKICNlbmRp
ZgpAQCAtNDM0LDEyICs0MzUsMTUgQEAKIAogICAgIC8vIFJlbW92ZSBzdGFsZSBjYWNoZSBlbnRy
eSBpZiBuZWNlc3NhcnkuCiAgICAgaWYgKGl0ZW0tPm1fY2FjaGVkUGFnZSkKLSAgICAgICAgcmVt
b3ZlKGl0ZW0pOworICAgICAgICByZW1vdmVJbnRlcm5hbChpdGVtLCB0cnVlKTsKIAogICAgIGl0
ZW0tPm1fY2FjaGVkUGFnZSA9IENhY2hlZFBhZ2U6OmNyZWF0ZShwYWdlKTsKICAgICBhZGRUb0xS
VUxpc3QoaXRlbSk7CiAgICAgKyttX3NpemU7Ci0gICAgCisKKyAgICBpZiAobV9zaXplID09IDEp
CisgICAgICAgIHJlc2V0RXhwaXJhdGlvblRpbWVyKCk7CisKICAgICBwcnVuZSgpOwogfQogCkBA
IC00NTAsOSArNDU0LDE0IEBACiAKICAgICBPd25QdHI8Q2FjaGVkUGFnZT4gY2FjaGVkUGFnZSA9
IGl0ZW0tPm1fY2FjaGVkUGFnZS5yZWxlYXNlKCk7CiAKKyAgICBib29sIHJlbW92ZWRPbGRlc3Qg
PSBtX3RhaWwgPT0gaXRlbTsKICAgICByZW1vdmVGcm9tTFJVTGlzdChpdGVtKTsKICAgICAtLW1f
c2l6ZTsKIAorICAgIC8vIFJlc2V0IGV4cGlyYXRpb24gdGltZXIgd2hlbiB0YWtpbmcgdGhlIG9s
ZGVzdCBwYWdlIGZyb20gdGhlIGNhY2hlCisgICAgaWYgKHJlbW92ZWRPbGRlc3QpCisgICAgICAg
IHJlc2V0RXhwaXJhdGlvblRpbWVyKCk7CisKICAgICBpdGVtLT5kZXJlZigpOyAvLyBCYWxhbmNl
ZCBpbiBhZGQoKS4KIAogICAgIGlmICghY2FjaGVkUGFnZSkKQEAgLTQ3NiwzMCArNDg1LDc1IEBA
CiAgICAgICAgICAgICByZXR1cm4gY2FjaGVkUGFnZTsKICAgICAgICAgCiAgICAgICAgIExPRyhQ
YWdlQ2FjaGUsICJOb3QgcmVzdG9yaW5nIHBhZ2UgZm9yICVzIGZyb20gYmFjay9mb3J3YXJkIGNh
Y2hlIGJlY2F1c2UgY2FjaGUgZW50cnkgaGFzIGV4cGlyZWQiLCBpdGVtLT51cmwoKS5zdHJpbmco
KS5hc2NpaSgpLmRhdGEoKSk7Ci0gICAgICAgIHBhZ2VDYWNoZSgpLT5yZW1vdmUoaXRlbSk7Cisg
ICAgICAgIHBhZ2VDYWNoZSgpLT5yZW1vdmVJbnRlcm5hbChpdGVtLCB0cnVlKTsKICAgICB9CiAg
ICAgcmV0dXJuIDA7CiB9CiAKIHZvaWQgUGFnZUNhY2hlOjpyZW1vdmUoSGlzdG9yeUl0ZW0qIGl0
ZW0pCiB7CisgICAgcmVtb3ZlSW50ZXJuYWwoaXRlbSwgdHJ1ZSk7Cit9CisKK3ZvaWQgUGFnZUNh
Y2hlOjpyZW1vdmVJbnRlcm5hbChIaXN0b3J5SXRlbSogaXRlbSwgYm9vbCBjaGVja0V4cGlyYXRp
b25UaW1lcikKK3sKICAgICAvLyBTYWZlbHkgaWdub3JlIGF0dGVtcHRzIHRvIHJlbW92ZSBpdGVt
cyBub3QgaW4gdGhlIGNhY2hlLgogICAgIGlmICghaXRlbSB8fCAhaXRlbS0+bV9jYWNoZWRQYWdl
KQogICAgICAgICByZXR1cm47CiAKKyAgICBib29sIHJlbW92ZWRPbGRlc3QgPSBtX3RhaWwgPT0g
aXRlbTsKICAgICBpdGVtLT5tX2NhY2hlZFBhZ2UuY2xlYXIoKTsKICAgICByZW1vdmVGcm9tTFJV
TGlzdChpdGVtKTsKICAgICAtLW1fc2l6ZTsKIAorICAgIC8vIFJlc2V0IGV4cGlyYXRpb24gdGlt
ZXIgd2hlbiByZW1vdmluZyB0aGUgb2xkZXN0IHBhZ2UgaW4gdGhlIGNhY2hlCisgICAgLy8gdW5s
ZXNzIHdlIGFyZSB0b2xkIG5vdCB0byAoY2hlY2tFeHBpcmF0aW9uVGltZXIgPT0gZmFsc2UpCisg
ICAgaWYgKHJlbW92ZWRPbGRlc3QgJiYgY2hlY2tFeHBpcmF0aW9uVGltZXIpCisgICAgICAgIHJl
c2V0RXhwaXJhdGlvblRpbWVyKCk7CisKICAgICBpdGVtLT5kZXJlZigpOyAvLyBCYWxhbmNlZCBp
biBhZGQoKS4KIH0KIAordm9pZCBQYWdlQ2FjaGU6OmV4cGlyYXRpb25UaW1lckZpcmVkKFRpbWVy
PFBhZ2VDYWNoZT4qKQoreworICAgIGRvdWJsZSBsaWZlVGltZSA9IDA7CisgICAgd2hpbGUgKG1f
dGFpbCAmJiBsaWZlVGltZSA8PSAwKSB7CisgICAgICAgIEFTU0VSVChtX3RhaWwtPm1fY2FjaGVk
UGFnZSk7CisgICAgICAgIGxpZmVUaW1lID0gbV90YWlsLT5tX2NhY2hlZFBhZ2UtPmxpZmVUaW1l
KCk7CisgICAgICAgIGlmIChsaWZlVGltZSA8PSAwKQorICAgICAgICAgICAgcmVtb3ZlSW50ZXJu
YWwobV90YWlsLCBmYWxzZSk7CisgICAgfSAKKworICAgIC8vIFNldCB0aGUgZXhwaXJhdGlvbiB0
aW1lciBmb3IgdGhlIG5ldyBvbGRlc3QgcGFnZSBpbiB0aGUgY2FjaGUKKyAgICBpZiAobV90YWls
KQorICAgICAgICBtX2V4cGlyYXRpb25UaW1lci5zdGFydE9uZVNob3QobGlmZVRpbWUpOworfQor
Cit2b2lkIFBhZ2VDYWNoZTo6cmVzZXRFeHBpcmF0aW9uVGltZXIoKQoreworICAgIGlmIChtX2V4
cGlyYXRpb25UaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX2V4cGlyYXRpb25UaW1lci5zdG9w
KCk7CisKKyAgICBpZiAoIW1fdGFpbCkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKG1f
dGFpbC0+bV9jYWNoZWRQYWdlKTsKKworICAgIGRvdWJsZSBsaWZlVGltZSA9IG1fdGFpbC0+bV9j
YWNoZWRQYWdlLT5saWZlVGltZSgpOworICAgIEFTU0VSVChsaWZlVGltZSA+IDApOworCisgICAg
bV9leHBpcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90KGxpZmVUaW1lKTsKK30KKwogdm9pZCBQYWdl
Q2FjaGU6OnBydW5lKCkKIHsKKyAgICBib29sIGRpZFJlbW92ZSA9IG1fc2l6ZSA+IG1fY2FwYWNp
dHk7CiAgICAgd2hpbGUgKG1fc2l6ZSA+IG1fY2FwYWNpdHkpIHsKICAgICAgICAgQVNTRVJUKG1f
dGFpbCAmJiBtX3RhaWwtPm1fY2FjaGVkUGFnZSk7Ci0gICAgICAgIHJlbW92ZShtX3RhaWwpOwor
ICAgICAgICByZW1vdmVJbnRlcm5hbChtX3RhaWwsIGZhbHNlKTsKICAgICB9CisgICAgaWYgKGRp
ZFJlbW92ZSkKKyAgICAgICAgcmVzZXRFeHBpcmF0aW9uVGltZXIoKTsKIH0KIAogdm9pZCBQYWdl
Q2FjaGU6OmFkZFRvTFJVTGlzdChIaXN0b3J5SXRlbSogaXRlbSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9DYWNoZWRQYWdlLmNwcAkocmV2aXNpb24gMTU3Nzc4KQorKysgU291cmNlL1dlYkNv
cmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDkgKzEyNyw5
IEBACiAgICAgbV9jYWNoZWRNYWluRnJhbWUgPSAwOwogfQogCi1ib29sIENhY2hlZFBhZ2U6Omhh
c0V4cGlyZWQoKSBjb25zdAorZG91YmxlIENhY2hlZFBhZ2U6OmxpZmVUaW1lKCkgY29uc3QKIHsK
LSAgICByZXR1cm4gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgPiBtX2V4cGlyYXRpb25U
aW1lOworICAgIHJldHVybiBtX2V4cGlyYXRpb25UaW1lIC0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaGlz
dG9yeS9QYWdlQ2FjaGUuaAkocmV2aXNpb24gMTU3Nzc4KQorKysgU291cmNlL1dlYkNvcmUvaGlz
dG9yeS9QYWdlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksMTEgQEAKIAogICAg
ICAgICB2b2lkIGFkZFRvTFJVTGlzdChIaXN0b3J5SXRlbSopOyAvLyBBZGRzIHRvIHRoZSBoZWFk
IG9mIHRoZSBsaXN0LgogICAgICAgICB2b2lkIHJlbW92ZUZyb21MUlVMaXN0KEhpc3RvcnlJdGVt
Kik7CisgICAgICAgIHZvaWQgcmVtb3ZlSW50ZXJuYWwoSGlzdG9yeUl0ZW0qLCBib29sKTsKIAor
ICAgICAgICB2b2lkIGV4cGlyYXRpb25UaW1lckZpcmVkKFRpbWVyPFBhZ2VDYWNoZT4qKTsKKyAg
ICAgICAgdm9pZCByZXNldEV4cGlyYXRpb25UaW1lcigpOworCiAgICAgICAgIHZvaWQgcHJ1bmUo
KTsKIAogICAgICAgICBpbnQgbV9jYXBhY2l0eTsKQEAgLTg4LDYgKzkyLDggQEAKICAgICAgICAg
Ly8gTFJVIExpc3QKICAgICAgICAgSGlzdG9yeUl0ZW0qIG1faGVhZDsKICAgICAgICAgSGlzdG9y
eUl0ZW0qIG1fdGFpbDsKKworICAgICAgICBUaW1lcjxQYWdlQ2FjaGU+IG1fZXhwaXJhdGlvblRp
bWVyOwogICAgICAgICAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAg
IGJvb2wgbV9zaG91bGRDbGVhckJhY2tpbmdTdG9yZXM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
aXN0b3J5L0NhY2hlZFBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5
L0NhY2hlZFBhZ2UuaAkocmV2aXNpb24gMTU3Nzc4KQorKysgU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9DYWNoZWRQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDggQEAKICAgICBEb2N1
bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZE1haW5G
cmFtZS0+ZG9jdW1lbnRMb2FkZXIoKTsgfQogCiAgICAgZG91YmxlIHRpbWVTdGFtcCgpIGNvbnN0
IHsgcmV0dXJuIG1fdGltZVN0YW1wOyB9Ci0gICAgYm9vbCBoYXNFeHBpcmVkKCkgY29uc3Q7Cisg
ICAgYm9vbCBoYXNFeHBpcmVkKCkgY29uc3QgeyByZXR1cm4gbGlmZVRpbWUoKSA8PSAwOyB9Cisg
ICAgZG91YmxlIGxpZmVUaW1lKCkgY29uc3Q7CiAgICAgCiAgICAgQ2FjaGVkRnJhbWUqIGNhY2hl
ZE1haW5GcmFtZSgpIHsgcmV0dXJuIG1fY2FjaGVkTWFpbkZyYW1lLmdldCgpOyB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCShyZXZpc2lvbiAxNTc3NzgpCisr
KyBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjMyLDcgKzIzMiw5IEBACiAKIGJvb2wgSGlzdG9yeUl0ZW06Omhhc0NhY2hlZFBhZ2VFeHBp
cmVkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9jYWNoZWRQYWdlID8gbV9jYWNoZWRQYWdlLT5o
YXNFeHBpcmVkKCkgOiBmYWxzZTsKKyAgICAvLyBUaGUgcGFnZSBjYWNoZSByZW1vdmVzIGV4cGly
ZWQgcGFnZXMgYXV0b21hdGljYWxseSB3aXRoIGEgdGltZXIgc28KKyAgICAvLyBhbnkgaGlzdG9y
eSBpdGVtIHRoYXQgaXMgbm90IGluIHRoZSBwYWdlIGNhY2hlIGhhcyBleHBpcmVkCisgICAgcmV0
dXJuICFpc0luUGFnZUNhY2hlKCk7CiB9CiAKIGRvdWJsZSBIaXN0b3J5SXRlbTo6bGFzdFZpc2l0
ZWRUaW1lKCkgY29uc3QK
</data>
<flag name="review"
          id="237551"
          type_id="1"
          status="-"
          setter="mcatanzaro"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214933</attachid>
            <date>2013-10-22 23:28:24 -0700</date>
            <delta_ts>2013-10-22 23:28:24 -0700</delta_ts>
            <desc>WK2 API test</desc>
            <filename>webkit.pagecache.bug122142.v5.apitest.patch</filename>
            <type>text/plain</type>
            <size>11384</size>
            <attacher name="Iago Toral">itoral</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQkocmV2aXNpb24gMTU3Nzc4
KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQkod29ya2luZyBjb3B5
KQpAQCAtODMsNiArODMsNyBAQAogICAgIE5ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dAog
ICAgIE5ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZhaWxzCiAgICAgTmV3Rmlyc3RWaXN1
YWxseU5vbkVtcHR5TGF5b3V0Rm9ySW1hZ2VzCisgICAgUGFnZUNhY2hlRXhwaXJhdGlvbgogICAg
IFBhZ2VMb2FkQmFzaWMKICAgICBQYWdlTG9hZERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZUZv
ckZyYW1lCiAgICAgUGFnZVZpc2liaWxpdHlTdGF0ZQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9QbGF0Zm9ybUdUSy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Bs
YXRmb3JtR1RLLmNtYWtlCShyZXZpc2lvbiAxNTc3NzgpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJ
L1BsYXRmb3JtR1RLLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCw3IEBACiAgICAg
TmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RmFpbHMKICAgICBOZXdGaXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXRGb3JJbWFnZXMKICAgICBOZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlv
dXRGcmFtZXMKKyAgICBQYWdlQ2FjaGVFeHBpcmF0aW9uCiAgICAgUGFnZUxvYWRCYXNpYwogICAg
IFBhZ2VMb2FkRGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5QYWdlRm9yRnJhbWUKICAgICBQYXJlbnRG
cmFtZQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1BhZ2VDYWNoZUV4
cGlyYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9QYWdlQ2FjaGVFeHBpcmF0aW9uLmNwcAkocmV2aXNpb24gMCkKKysrIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdlQ2FjaGVFeHBpcmF0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDExNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBJZ2FsaWEg
Uy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVdlYlZp
ZXcuaCIKKyNpbmNsdWRlICJUZXN0LmgiCisKKyNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxlUGFn
ZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9UaW1lci5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisK
K2NsYXNzIFByaXZhdGVUaW1lciA6IHB1YmxpYyBXZWJDb3JlOjpUaW1lckJhc2UgeworcHVibGlj
OgorICAgIHR5cGVkZWYgdm9pZCAoKlByaXZhdGVUaW1lckZpcmVkRnVuY3Rpb24pKHZvaWQqKTsK
KyAgICBQcml2YXRlVGltZXIoUHJpdmF0ZVRpbWVyRmlyZWRGdW5jdGlvbiBmLCB2b2lkKiBkYXRh
KQorICAgICAgICA6IG1fZnVuY3Rpb24oZiksIG1fZGF0YShkYXRhKSB7IH0KKworcHJpdmF0ZToK
KyAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKSBPVkVSUklERSB7ICgqbV9mdW5jdGlvbikobV9kYXRh
KTsgfQorCisgICAgUHJpdmF0ZVRpbWVyRmlyZWRGdW5jdGlvbiBtX2Z1bmN0aW9uOworICAgIHZv
aWQqIG1fZGF0YTsKK307CisKK3N0YXRpYyBib29sIGRvbmU7CitzdGF0aWMgYm9vbCBsb2FkZWRG
cm9tUGFnZUNhY2hlOworCitzdGF0aWMgdm9pZCBnb0JhY2tUaW1lckZpcmVkKHZvaWQgKmRhdGEp
Cit7CisgICAgUGxhdGZvcm1XZWJWaWV3KiB3ZWJWaWV3ID0gKFBsYXRmb3JtV2ViVmlldyopZGF0
YTsKKyAgICBXS1BhZ2VHb0JhY2sod2ViVmlldy0+cGFnZSgpKTsKK30KKworc3RhdGljIHZvaWQg
ZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiBmcmFtZSwgV0tUeXBl
UmVmLCBjb25zdCB2b2lkKikKK3sKKyAgICAvLyBPbmx5IG1hcmsgZmluaXNoZWQgd2hlbiB0aGUg
bWFpbiBmcmFtZSBsb2FkcworICAgIGlmICghV0tGcmFtZUlzTWFpbkZyYW1lKGZyYW1lKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgZG9uZSA9IHRydWU7Cit9CisKK3N0YXRpYyB2b2lkIHdpbGxH
b1RvQmFja0ZvcndhcmRMaXN0SXRlbShXS1BhZ2VSZWYsIFdLQmFja0ZvcndhcmRMaXN0SXRlbVJl
ZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKikKK3sKKyAgICBpZiAodXNlckRhdGEg
JiYgV0tHZXRUeXBlSUQodXNlckRhdGEpID09IFdLU3RyaW5nR2V0VHlwZUlEKCkKKyAgICAgICAg
JiYgV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZygoV0tTdHJpbmdSZWYpdXNlckRhdGEsICJQ
YWdlIGlzIGNhY2hlZCIpKQorICAgICAgICBsb2FkZWRGcm9tUGFnZUNhY2hlID0gdHJ1ZTsKKyAg
ICBkb25lID0gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQgc2V0UGFnZUxvYWRlckNsaWVudChXS1Bh
Z2VSZWYgcGFnZSkKK3sKKyAgICBXS1BhZ2VMb2FkZXJDbGllbnQgbG9hZGVyQ2xpZW50OworICAg
IG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CisgICAgbG9h
ZGVyQ2xpZW50LnZlcnNpb24gPSAxOworICAgIGxvYWRlckNsaWVudC5jbGllbnRJbmZvID0gMDsK
KyAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZv
ckZyYW1lOworICAgIGxvYWRlckNsaWVudC53aWxsR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0gPSB3
aWxsR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW07CisgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVu
dChwYWdlLCAmbG9hZGVyQ2xpZW50KTsKK30KKworVEVTVChXZWJLaXQyLCBQYWdlQ2FjaGVFeHBp
cmF0aW9uKQoreworICAgIGRvdWJsZSBwYWdlRXhwaXJhdGlvblRpbWUgPSAxODAwOworCisgICAg
V0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhVdGlsOjpjcmVhdGVD
b250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJQYWdlQ2FjaGVFeHBpcmF0aW9uVGVzdCIpKTsK
KyAgICAvLyBFbmFibGUgdGhlIHBhZ2UgY2FjaGUgc28gd2UgY2FuIHRlc3QgcGFnZSBleHBpcmF0
aW9uCisgICAgV0tDb250ZXh0U2V0Q2FjaGVNb2RlbChjb250ZXh0LmdldCgpLCBrV0tDYWNoZU1v
ZGVsRG9jdW1lbnRCcm93c2VyKTsKKyAgICAvLyBGSVhNRTogV2UgaGF2ZSB0byBzZXQgdGhlIHBh
Z2UgZXhwaXJhdGlvbiB0aW1lIHRvIHNvbWV0aGluZyBzbWFsbCAoPDFzKQorCisgICAgUGxhdGZv
cm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CisgICAgc2V0UGFnZUxvYWRlckNsaWVu
dCh3ZWJWaWV3LnBhZ2UoKSk7CisgICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgYWRv
cHRXSyhVdGlsOjpjcmVhdGVVUkxGb3JSZXNvdXJjZSgic2ltcGxlIiwgImh0bWwiKSkuZ2V0KCkp
OworICAgIFV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBkb25lID0gZmFsc2U7CisgICAgV0tQYWdl
TG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgYWRvcHRXSyhVdGlsOjpjcmVhdGVVUkxGb3JSZXNvdXJj
ZSgic2ltcGxlLWlmcmFtZSIsICJodG1sIikpLmdldCgpKTsKKyAgICBVdGlsOjpydW4oJmRvbmUp
OworCisgICAgLy8gR28gYmFjayB0byBpbml0aWFsIHBhZ2UgYWZ0ZXIgaXQgaGFzIGV4cGlyZWQK
KyAgICBQcml2YXRlVGltZXIgZ29CYWNrVGltZXIoZ29CYWNrVGltZXJGaXJlZCwgJndlYlZpZXcp
OworICAgIGdvQmFja1RpbWVyLnN0YXJ0T25lU2hvdChwYWdlRXhwaXJhdGlvblRpbWUgKyAwLjUp
OworCisgICAgZG9uZSA9IGZhbHNlOworICAgIFV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBFWFBF
Q1RfRkFMU0UobG9hZGVkRnJvbVBhZ2VDYWNoZSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkKKwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1BhZ2VD
YWNoZUV4cGlyYXRpb25fQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDIvUGFnZUNhY2hlRXhwaXJhdGlvbl9CdW5kbGUuY3BwCShyZXZpc2lv
biAwKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1BhZ2VDYWNoZUV4cGly
YXRpb25fQnVuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVRlc3Qu
aCIKKworI2luY2x1ZGUgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW5jbHVkZSA8V2ViS2l0Mi9X
S0J1bmRsZVBhZ2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxlQmFja0ZvcndhcmRMaXN0
SXRlbS5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK2NsYXNzIFBhZ2VDYWNoZUV4
cGlyYXRpb25UZXN0IDogcHVibGljIEluamVjdGVkQnVuZGxlVGVzdCB7CitwdWJsaWM6CisgICAg
UGFnZUNhY2hlRXhwaXJhdGlvblRlc3QoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpOwor
CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZVBhZ2UoV0tCdW5kbGVSZWYsIFdLQnVuZGxlUGFn
ZVJlZik7Cit9OworCitzdGF0aWMgSW5qZWN0ZWRCdW5kbGVUZXN0OjpSZWdpc3RlcjxQYWdlQ2Fj
aGVFeHBpcmF0aW9uVGVzdD4gcmVnaXN0cmFyKCJQYWdlQ2FjaGVFeHBpcmF0aW9uVGVzdCIpOwor
CitzdGF0aWMgYm9vbCBzaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbUNhbGxiYWNrKFdLQnVu
ZGxlUGFnZVJlZiwgV0tCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtUmVmIGl0ZW0sIFdLVHlwZVJl
ZiogdXNlckRhdGEsIGNvbnN0IHZvaWQqKQoreworICAgIC8vIENoZWNrIGlmIGl0ZW0gaXMgc3Rp
bGwgYWxpdmUgaW4gdGhlIHBhZ2UgY2FjaGUKKyAgICBpZiAoV0tCdW5kbGVCYWNrRm9yd2FyZExp
c3RJdGVtSXNJblBhZ2VDYWNoZShpdGVtKSkKKyAgICAgICAgKnVzZXJEYXRhID0gV0tTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoIlBhZ2UgaXMgY2FjaGVkIik7CisgICAgZWxzZQorICAgICAg
ICAqdXNlckRhdGEgPSBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiUGFnZSBpcyBub3Qg
Y2FjaGVkIik7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworUGFnZUNhY2hlRXhwaXJhdGlvblRl
c3Q6OlBhZ2VDYWNoZUV4cGlyYXRpb25UZXN0KGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVy
KQorICAgIDogSW5qZWN0ZWRCdW5kbGVUZXN0KGlkZW50aWZpZXIpCit7Cit9CisKK3ZvaWQgUGFn
ZUNhY2hlRXhwaXJhdGlvblRlc3Q6OmRpZENyZWF0ZVBhZ2UoV0tCdW5kbGVSZWYgYnVuZGxlLCBX
S0J1bmRsZVBhZ2VSZWYgcGFnZSkKK3sgICAgCisgICAgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50
IHBhZ2VMb2FkZXJDbGllbnQ7CisgICAgbWVtc2V0KCZwYWdlTG9hZGVyQ2xpZW50LCAwLCBzaXpl
b2YocGFnZUxvYWRlckNsaWVudCkpOworICAgIAorICAgIHBhZ2VMb2FkZXJDbGllbnQudmVyc2lv
biA9IDE7CisgICAgcGFnZUxvYWRlckNsaWVudC5jbGllbnRJbmZvID0gdGhpczsKKyAgICBwYWdl
TG9hZGVyQ2xpZW50LnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtID0gc2hvdWxkR29Ub0Jh
Y2tGb3J3YXJkTGlzdEl0ZW1DYWxsYmFjazsKKyAgICAKKyAgICBXS0J1bmRsZVBhZ2VTZXRQYWdl
TG9hZGVyQ2xpZW50KHBhZ2UsICZwYWdlTG9hZGVyQ2xpZW50KTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgVGVzdFdlYktpdEFQSQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5h
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFtCShyZXZp
c2lvbiAxNTc3ODEpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFtCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNzYsNiArMjc2LDcgQEAKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDIvTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RmFpbHMuY3BwIFwKIAlUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5
b3V0Rm9ySW1hZ2VzLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL05l
d0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZyYW1lcy5jcHAgXAorCVRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdlQ2FjaGVFeHBpcmF0aW9uLmNwcCBcCiAJVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1BhZ2VMb2FkQmFzaWMuY3BwIFwKIAlUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUGFnZUxvYWREaWRDaGFuZ2VMb2NhdGlvbldpdGhpblBh
Z2VGb3JGcmFtZS5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdl
VmlzaWJpbGl0eVN0YXRlLmNwcCBcCkBAIC0zMjksNiArMzMwLDcgQEAKIAlUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDIvTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RmFpbHNf
QnVuZGxlLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL05ld0ZpcnN0
VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckltYWdlc19CdW5kbGUuY3BwIFwKIAlUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RnJh
bWVzX0J1bmRsZS5jcHAgXAorCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdl
Q2FjaGVFeHBpcmF0aW9uX0J1bmRsZS5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mi9QYXJlbnRGcmFtZV9CdW5kbGUuY3BwIFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3Bw
IFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvU2hvdWxkR29Ub0JhY2tGb3J3
YXJkTGlzdEl0ZW1fQnVuZGxlLmNwcCBcCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTc3ODEpCisrKyBUb29scy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAxMy0xMC0yMiAgSWFnbyBUb3Jh
bCBRdWlyb2dhICA8aXRvcmFsQGlnYWxpYS5jb20+CisKKyAgICAgICAgV2ViS2l0MiBBUEkgdGVz
dCBhZGRlZCB0byBjaGVjayBhdXRvbWF0aWMgcmVtb3ZhbCBvZiBleHBpcmVkIHBhZ2VzIGZyb20g
dGhlIHBhZ2UgY2FjaGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjIxNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW06CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRm
b3JtR1RLLmNtYWtlOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdl
Q2FjaGVFeHBpcmF0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpQcml2
YXRlVGltZXI6OlByaXZhdGVUaW1lcik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpnb0JhY2tU
aW1lckZpcmVkKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZEZpbmlzaExvYWRGb3JGcmFt
ZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp3aWxsR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0p
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6c2V0UGFnZUxvYWRlckNsaWVudCk6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvUGFnZUNhY2hlRXhwaXJhdGlvbl9CdW5kbGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtQ2FsbGJhY2spOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6UGFnZUNhY2hlRXhwaXJhdGlvblRlc3Q6OlBhZ2VDYWNoZUV4
cGlyYXRpb25UZXN0KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlBhZ2VDYWNoZUV4cGlyYXRp
b25UZXN0OjpkaWRDcmVhdGVQYWdlKToKKwogMjAxMy0xMC0yMSAgVGFtYXMgR2VyZ2VseSAgPGdl
cnRvbUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgUnVuIHRlc3RzIGFzIGlmIHRoZXkgYXJl
IGV4cGVjdGVkIHRvIHBhc3Mgd2hlbiAtLWZvcmNlIGlzIGdpdmVuLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>