Closed Bug 777605 Opened 13 years ago Closed 13 years ago

never reloads main page if it is a GET even when manifest AND page changes

Categories

(Firefox :: Untriaged, defect)

13 Branch
x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: cadover, Unassigned)

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:13.0) Gecko/20100101 Firefox/13.0.1 Build ID: 20120614114901 Steps to reproduce: Created simple test for app cache, with only a little text, specified manifest in HTML tag. Works flawless in Safari ( desktop Mac & PC ), iPad & iPhone ( of course ) webkit browsers I had available, including Kindle Fire & Android phone. Works in FireFox ONLY if request is NOT a GET. Others work either way. No cache headers, expiration time etc have no effect with FireFox on this issue. Text changes are never reflected ( yes after 2+ refreshes ) after BOTH files are changed. Actual results: FireFox refuses to reload main page ( reflecting change ) when request is a GET. HTTP1/1 rfc2616-sec9 states request is cachable only under certain conditions. To the best of my knowledge I have not met those certain conditions as stated in rfc2616-sec13. Expected results: I feel it should have worked just like the others.
Hi Charles, I'm not sure I fully understand the problem you have. Here is the behavior you should have on all recent browsers: 1. you load a page having a manifest (declared via the attribute in the html tag) 2. the browser automatically loads the manifest 3. the browser automatically starts to save the ressources listed in the manifest in the applicationCache 4. now the page and it's ressources can be browsed while being offline. 5. you change the manifest file 6. nothing happens until you reload the page 7. you reload the page (#1 refresh) 8. the browser automatically reloads the new manifest and detects it has changed 9. the browser automatically starts to save the ressources listed in the manifest in the applicationCache 10. the page does NOT reload itself NOR reflect the changes in the ressources that have just been cached 11. you reload the page (#2 refresh) 12. now the page is updated and uses the new ressources cached. You might have a look to this page which gives some tips about the applicationCache: http://appcachefacts.info/ It reads: "Any changes made to the manifest or any of its files will not take effect until the next page load.", which can be related to your observation of "2+ refreshes". If the behavior above is not what you get, can you provide a test case so that one can try to reproduce your issue ?
In step 5 I changed the manifest and the main page. Change text on main page and modify manifest, usually just change or add a comment so the mod date changes. As the main page only has one image. FWIW, the image changes are reflected in FireFox, even without the solution below. In step 12 I do not see the text changes in FireFox. The main page is not re-fetched. I did find if I add a NETWORK section and make an explicit entry for the main page FF works. No other browser I tested seems to require this, nor does it effect their operation. My solution. Apparently, FireFox interpretation of the spec. I did not find any reference to this requirement anywhere. Not in specs or other reviewing other peoples work with manifests. The issue is only with GET requests and not POST. However, I understand that specs are subject to interpretation by browser developers, therefore consistency is not to be expected. At least there is a way around most of the differences. FireFox is still my browser of choice on all platforms. IMHO, it by far provides the best representation of the interpretation of the specs.
Status: UNCONFIRMED → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.