@@ -12,6 +12,8 @@ var is_cache_disabled = false;
12
12
// map of tabid -> requests
13
13
var netList = { } ;
14
14
15
+ // list of requestIds that were cached
16
+ var cachedList = { } ;
15
17
16
18
//--------------------------------------------------------------------------
17
19
// chrome events
@@ -91,10 +93,12 @@ function tab_updated(tabid) {
91
93
92
94
// remove all network requests of this tab
93
95
function clear_tab_data ( tabid ) {
94
- deb ( "cleared " + tabid ) ;
96
+ // deb("cleared "+tabid);
95
97
96
98
delete netList [ tabid + "list" ] ;
97
99
delete netList [ tabid ] ;
100
+
101
+ cachedList = { } ;
98
102
}
99
103
100
104
// add or get a single request item from list
@@ -121,6 +125,10 @@ function add_file(tabid, reqid, url, code, from_cache, type) {
121
125
122
126
var urlpart = url . split ( "/" ) . pop ( ) ;
123
127
128
+ // is request cached even though from_cache = false!?
129
+ if ( cachedList [ reqid ] )
130
+ from_cache = true ;
131
+
124
132
// deb("add", reqid, urlpart, "cached:", from_cache);
125
133
126
134
var obj = get_item ( tabid , reqid ) ;
@@ -294,6 +302,9 @@ function onNetworkEvent(debuggeeId, message, params) {
294
302
var resp = params . response ;
295
303
var reqid = params . requestId ;
296
304
// resp.encodedDataLength -1!
305
+
306
+ // resp.fromDiskCache may be false even though came from cache!
307
+ // A Chrome bug? Double check with Network.requestServedFromCache
297
308
add_file ( tabid , reqid , resp . url , resp . status , resp . fromDiskCache ,
298
309
params . type ) ;
299
310
@@ -316,6 +327,12 @@ function onNetworkEvent(debuggeeId, message, params) {
316
327
});
317
328
}*/
318
329
330
+ } else if ( message == "Network.requestServedFromCache" ) {
331
+ // fired if request ended up loading from cache.
332
+ //deb("fromcache" + params.requestId);
333
+
334
+ cachedList [ params . requestId ] = 1 ;
335
+
319
336
} else if ( message == "Network.dataReceived" ) {
320
337
// console.debug("data", params);
321
338
0 commit comments