<?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>144251</bug_id>
          
          <creation_ts>2015-04-27 01:16:39 -0700</creation_ts>
          <short_desc>[SOUP] Use xattrs to get/set the creation time of disk cache files</short_desc>
          <delta_ts>2015-04-28 23:19:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, Soup</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>142821</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>danw</cc>
    
    <cc>gustavo</cc>
    
    <cc>koivisto</cc>
    
    <cc>svillar</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1088954</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-27 01:16:39 -0700</bug_when>
    <thetext>The network process disk cache uses the creation time to compute a worth value used to determine the order in which cached resources are deleted when the cache is shrunk. In some operating systems like Linux there&apos;s no st_birthtime in struct stat, but since cache files are always created and deleted by us, we could use a custom xattr to store and retrieve the creation time of cached resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088956</commentid>
    <comment_count>1</comment_count>
      <attachid>251727</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-27 01:20:04 -0700</bug_when>
    <thetext>Created attachment 251727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089015</commentid>
    <comment_count>2</comment_count>
      <attachid>251727</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-04-27 07:39:33 -0700</bug_when>
    <thetext>Comment on attachment 251727
Patch

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

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCacheFileSystemPosix.h:86
&gt; +#if USE(SOUP)

The correct guard here is probably #elif USE(SOUP) &amp;&amp; OS(LINUX) unless g_file_query allows xattrs to work properly on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089032</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-27 09:05:15 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 251727 [details]
&gt; Patch

Thanks for the review.

&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=251727&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/NetworkProcess/cache/NetworkCacheFileSystemPosix.h:86
&gt; &gt; +#if USE(SOUP)
&gt; 
&gt; The correct guard here is probably #elif USE(SOUP) &amp;&amp; OS(LINUX) unless
&gt; g_file_query allows xattrs to work properly on Windows.

This is in a file called NetworkCacheFileSystemPosix.h in WebKit2 subdir, so no windows support at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089902</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-28 23:19:53 -0700</bug_when>
    <thetext>Committed r183532: &lt;http://trac.webkit.org/changeset/183532&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251727</attachid>
            <date>2015-04-27 01:20:04 -0700</date>
            <delta_ts>2015-04-27 07:39:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-soup-creation-time.diff</filename>
            <type>text/plain</type>
            <size>4559</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBlMzQ1MDQzLi40MzlmZWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTUtMDQtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtTT1VQXSBVc2UgeGF0dHJzIHRvIGdldC9zZXQgdGhlIGNyZWF0aW9uIHRp
bWUgb2YgZGlzayBjYWNoZSBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ0MjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIG5ldHdvcmsgcHJvY2VzcyBkaXNrIGNhY2hlIHVzZXMgdGhlIGNy
ZWF0aW9uIHRpbWUgdG8gY29tcHV0ZSBhCisgICAgICAgIHdvcnRoIHZhbHVlIHVzZWQgdG8gZGV0
ZXJtaW5lIHRoZSBvcmRlciBpbiB3aGljaCBjYWNoZWQgcmVzb3VyY2VzCisgICAgICAgIGFyZSBk
ZWxldGVkIHdoZW4gdGhlIGNhY2hlIGlzIHNocnVuay4gSW4gc29tZSBvcGVyYXRpbmcgc3lzdGVt
cworICAgICAgICBsaWtlIExpbnV4IHRoZXJlJ3Mgbm8gc3RfYmlydGh0aW1lIGluIHN0cnVjdCBz
dGF0LCBidXQgc2luY2UgY2FjaGUKKyAgICAgICAgZmlsZXMgYXJlIGFsd2F5cyBjcmVhdGVkIGFu
ZCBkZWxldGVkIGJ5IHVzLCB3ZSBjb3VsZCB1c2UgYSBjdXN0b20KKyAgICAgICAgeGF0dHIgdG8g
c3RvcmUgYW5kIHJldHJpZXZlIHRoZSBjcmVhdGlvbiB0aW1lIG9mIGNhY2hlZCByZXNvdXJjZXMu
CisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVt
UG9zaXguaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpmaWxlVGltZXMpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUlPQ2hhbm5lbFNvdXAuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OklPQ2hhbm5lbDo6SU9DaGFubmVsKToK
KwogMjAxNS0wNC0xNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW1NPVVBdIEFkZCBpbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIE5ldHdvcmtQ
cm9jZXNzIGRpc2sgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW1Qb3NpeC5oIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbVBvc2l4LmgKaW5kZXgg
YTZmY2Y4Ny4uNzg5NzJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbVBvc2l4LmgKKysrIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbVBvc2l4LmgKQEAg
LTM0LDYgKzM0LDEwIEBACiAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CiAKKyNpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVm
UHRyLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiBuYW1lc3BhY2UgTmV0d29ya0Nh
Y2hlIHsKIApAQCAtNzMsMTQgKzc3LDIxIEBAIHN0cnVjdCBGaWxlVGltZXMgewogCiBpbmxpbmUg
RmlsZVRpbWVzIGZpbGVUaW1lcyhjb25zdCBTdHJpbmcmIHBhdGgpCiB7CisjaWYgUExBVEZPUk0o
Q09DT0EpCiAgICAgc3RydWN0IHN0YXQgZmlsZUluZm87CiAgICAgaWYgKHN0YXQoV2ViQ29yZTo6
ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHBhdGgpLmRhdGEoKSwgJmZpbGVJbmZvKSkKICAgICAg
ICAgcmV0dXJuIHsgfTsKLSNpZiBQTEFURk9STShDT0NPQSkKICAgICByZXR1cm4geyBzdGQ6OmNo
cm9ubzo6c3lzdGVtX2Nsb2NrOjpmcm9tX3RpbWVfdChmaWxlSW5mby5zdF9iaXJ0aHRpbWUpLCBz
dGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjpmcm9tX3RpbWVfdChmaWxlSW5mby5zdF9tdGltZSkg
fTsKLSNlbHNlCi0gICAgLy8gRklYTUU6IHdlIG5lZWQgYSB3YXkgdG8gZ2V0IHRoZSBjcmVhdGlv
biB0aW1lLgotICAgIHJldHVybiB7IHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OmZyb21fdGlt
ZV90KGZpbGVJbmZvLnN0X2N0aW1lKSwgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6ZnJvbV90
aW1lX3QoZmlsZUluZm8uc3RfbXRpbWUpIH07CisjZW5kaWYKKyNpZiBVU0UoU09VUCkKKyAgICAv
LyBUaGVyZSdzIG5vIHN0X2JpcnRodGltZSBpbiBzb21lIG9wZXJhdGluZyBzeXN0ZW1zIGxpa2Ug
TGludXgsIHNvIHdlIHVzZSB4YXR0cnMgdG8gc2V0L2dldCB0aGUgY3JlYXRpb24gdGltZS4KKyAg
ICBHUmVmUHRyPEdGaWxlPiBmaWxlID0gYWRvcHRHUmVmKGdfZmlsZV9uZXdfZm9yX3BhdGgoV2Vi
Q29yZTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHBhdGgpLmRhdGEoKSkpOworICAgIEdSZWZQ
dHI8R0ZpbGVJbmZvPiBmaWxlSW5mbyA9IGFkb3B0R1JlZihnX2ZpbGVfcXVlcnlfaW5mbyhmaWxl
LmdldCgpLCAieGF0dHI6OmJpcnRodGltZSx0aW1lOjptb2RpZmllZCIsIEdfRklMRV9RVUVSWV9J
TkZPX05PTkUsIG51bGxwdHIsIG51bGxwdHIpKTsKKyAgICBpZiAoIWZpbGVJbmZvKQorICAgICAg
ICByZXR1cm4geyB9OworICAgIGNvbnN0IGNoYXIqIGJpcnRodGltZVN0cmluZyA9IGdfZmlsZV9p
bmZvX2dldF9hdHRyaWJ1dGVfc3RyaW5nKGZpbGVJbmZvLmdldCgpLCAieGF0dHI6OmJpcnRodGlt
ZSIpOworICAgIHJldHVybiB7IHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OmZyb21fdGltZV90
KGdfYXNjaWlfc3RydG91bGwoYmlydGh0aW1lU3RyaW5nLCBudWxscHRyLCAxMCkpLAorICAgICAg
ICBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjpmcm9tX3RpbWVfdChnX2ZpbGVfaW5mb19nZXRf
YXR0cmlidXRlX3VpbnQ2NChmaWxlSW5mby5nZXQoKSwgInRpbWU6Om1vZGlmaWVkIikpIH07CiAj
ZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlSU9DaGFubmVsU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWxTb3VwLmNwcAppbmRleCAxMzliMzYy
Li43ODYwNGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWxTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWxTb3VwLmNwcApAQCAtMjksNiAr
MjksNyBAQAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQogCiAjaW5jbHVkZSAiTmV0d29ya0Nh
Y2hlRmlsZVN5c3RlbVBvc2l4LmgiCisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1VuaXF1ZVB0ci5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewpAQCAtNDIs
MTEgKzQzLDE0IEBAIElPQ2hhbm5lbDo6SU9DaGFubmVsKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgs
IFR5cGUgdHlwZSkKICAgICBhdXRvIHBhdGggPSBXZWJDb3JlOjpmaWxlU3lzdGVtUmVwcmVzZW50
YXRpb24oZmlsZVBhdGgpOwogICAgIEdSZWZQdHI8R0ZpbGU+IGZpbGUgPSBhZG9wdEdSZWYoZ19m
aWxlX25ld19mb3JfcGF0aChwYXRoLmRhdGEoKSkpOwogICAgIHN3aXRjaCAobV90eXBlKSB7Ci0g
ICAgY2FzZSBUeXBlOjpDcmVhdGU6CisgICAgY2FzZSBUeXBlOjpDcmVhdGU6IHsKICAgICAgICAg
Z19maWxlX2RlbGV0ZShmaWxlLmdldCgpLCBudWxscHRyLCBudWxscHRyKTsKICAgICAgICAgbV9v
dXRwdXRTdHJlYW0gPSBhZG9wdEdSZWYoR19PVVRQVVRfU1RSRUFNKGdfZmlsZV9jcmVhdGUoZmls
ZS5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVDcmVhdGVGbGFncz4oR19GSUxFX0NSRUFURV9QUklW
QVRFKSwgbnVsbHB0ciwgbnVsbHB0cikpKTsKICAgICAgICAgQVNTRVJUKG1fb3V0cHV0U3RyZWFt
KTsKKyAgICAgICAgR1VuaXF1ZVB0cjxjaGFyPiBiaXJ0aHRpbWVTdHJpbmcoZ19zdHJkdXBfcHJp
bnRmKCIlIiBHX0dVSU5UNjRfRk9STUFULCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0b190
aW1lX3Qoc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6bm93KCkpKSk7CisgICAgICAgIGdfZmls
ZV9zZXRfYXR0cmlidXRlX3N0cmluZyhmaWxlLmdldCgpLCAieGF0dHI6OmJpcnRodGltZSIsIGJp
cnRodGltZVN0cmluZy5nZXQoKSwgR19GSUxFX1FVRVJZX0lORk9fTk9ORSwgbnVsbHB0ciwgbnVs
bHB0cik7CiAgICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIFR5cGU6OldyaXRlOiB7CiAg
ICAgICAgIG1faW9TdHJlYW0gPSBhZG9wdEdSZWYoZ19maWxlX29wZW5fcmVhZHdyaXRlKGZpbGUu
Z2V0KCksIG51bGxwdHIsIG51bGxwdHIpKTsKICAgICAgICAgQVNTRVJUKG1faW9TdHJlYW0pOwo=
</data>
<flag name="review"
          id="276516"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>