Closed Bug 590705 Opened 14 years ago Closed 14 years ago

Requests to external domains for JS/CSS/images fails if the page has an appcache specified

Categories

(Core :: Networking: Cache, defect)

x86
macOS
defect
Not set
major

Tracking

()

RESOLVED DUPLICATE of bug 544462

People

(Reporter: rakeshpai, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4
Build Identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8

If a page has an appcache manifest specified, when the page loads from the cache, all requests to external domains are blocked. No requests are made to either CSS, JS, or image files.

Reproducible: Always

Steps to Reproduce:
1. Create a page with a valid appcache specified in the manifest attribute of the html tag.
2. Include a link to any image from an external domain. Say http://mozcom-cdn.mozilla.net/img/tignish/home/feature-logo.png.
3. Create a valid manifest file, served with the valid mime type. It doesn't matter what it contains as long as it exists and is valid. (By default, the HTML file itself is put into cache, which is correct.)
4. Hit this HTML page in Firefox.
Actual Results:  
No request to the image will be sent. This can be verified by Firebug, etc. The image doesn't load.

Expected Results:  
The image should load if the browser is online.

This is not just for images but for any type of requests. For example, it's impossible to have Google Analytics on a page that uses an appcache, since the JS loads from Google's servers and data is sent to Google via image requests. No types of client-side mashups are possible either using say Google Maps or the Facebook JavaScript SDK. IMHO, this is a serious barrier to adoption of appcache.

Google Chrome has a similar issue. In Chrome's case, this can be worked around by adding the following rule to the manifest:

NETWORK:
*

I'm not sure if this rule is semantically/technically the right thing to do, but it does help work around the problem and is sufficient for practical applications. Firefox currently doesn't have any such workaround that I know of.
Honza, any idea what's up here?
Rakesh, if you specify a cache manifest, and load the page from the offline cache which content is defined by the manifest, you cannot do any other requests to the same domain nor a different domain.  This is by the spec.

This is limiting, I also met this problem in my web app.  So, the spec has been enhanced of asterisk (*) used in NETWORK section to allow any requests outside the offline cache scope.

Firefox currently doesn't support this functionality, the work is pending in bug 544462.
Status: UNCONFIRMED → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.