What does "pending" mean for request in Chrome Developer Window?

What does "Pending" mean under the status column in the "Network" tab of Google Chrome Developer window?

This happens when my page script issues a GET request whose response contains content-headers for downloading a CSV file:

Content-type: text/csv;
Content-Disposition: attachment; filename=myfile.csv

This works fine in FF and IE7, downloading a CSV file as expected and opening a file picker to save the file, but Chrome does nothing. I confirmed that the server responds to the request, so it appears that Chrome will not process the response.

Curiously, all works as expected if I type the URL into Chromes address bar and hit .

FYI: Chrome 10.0.648.204 on Win-XP


Solution 1:

In my case, I found that the "pending" status was caused by the AdBlock extension. The image that I couldn't get to load had the word "ad" in the URL, so AdBlock kept it from loading.

Disabling AdBlock fixes this issue.

Renaming the file so that it doesn't contain "ad" in the URL also fixes it, and is obviously a better solution. Unless it's an advertisement, in which case you should leave it like that.

Solution 2:

I also get this when using the HTTPS everywhere plugin. This plugin has a list of sites that also have https instead of http. So I assume before the actual request is made it is already being cancelled somehow.

So for example when I go to http://stackexchange.com, in Developer I first see a request with status (terminated). This request has some headers, but only the GET, User-Agent, and Accept. No response as well.

Then there is request to https://stackexchange.com with full headers etc.

So I assume it is used for requests that aren't sent.

Solution 3:

I had some problems with pending request for mp3 files. I had a list of mp3 files and one player to play them. If I picked a file that had already been downloaded, Chrome would block the request and show "pending request" in the network tab of the developer tools.

All versions of Chrome seem to be affected.

Here is a solution I found:

player[0].setAttribute('src','video.webm?dummy=' + Date.now());

You just add a dummy query string to the end of each url. This forces Chrome to download the file again.

Another example with popcorn player (using jquery) :

url = $(this).find('.url_song').attr('url');
pop = Popcorn.smart( "#player_",  url + '?i=' + Date.now());

This works for me. In fact, the resource is not stored in the cache system. This should also work in the same way for .csv files.