summaryrefslogtreecommitdiffstats
path: root/webkit/appcache
Commit message (Collapse)AuthorAgeFilesLines
* Ignore URL fragment when looking up URL in application cache.jennb@chromium.org2009-12-021-3/+12
| | | | | | | | | TEST=no new tests; covered by existing layout test BUG=none Review URL: http://codereview.chromium.org/459004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33532 0039d316-1c4b-4281-b951-d872f2087c98
* Fix host status bug: jennb@chromium.org2009-12-012-1/+17
| | | | | | | | | | | | * Return DOWNLOADING status for cache without owning group. * Clear out saved notion of status in host on event raised and before swapping cache as those invalidate any saved notion of cache status. TEST=no new tests; covered by existing appcache layout tests BUG=none Review URL: http://codereview.chromium.org/449063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33511 0039d316-1c4b-4281-b951-d872f2087c98
* Mark AppCacheUpdateJobTest.MasterEntryBadManifest test as flaky.willchan@chromium.org2009-12-011-1/+1
| | | | | | | | BUG=http://crbug.com/29072 Review URL: http://codereview.chromium.org/450036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33449 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 449036, which rolled back 402098, and fix the valgrind error that ↵jennb@chromium.org2009-12-016-84/+1103
| | | | | | | | | | | | | | | | | | | | | | | | | caused the original rollback: Revert 33394 (due to valgrind errors) - Appcache update support for pending master entries: Update process issues a URL request to fetch pending master entries. Pending master entry fetch logic kept separate from regular url fetching as this will be the case in the longterm solution. No optimizations to avoid issuing URL request if pending master entry is also listed in the manifest. (simpler) Only optimized to prevent refetching something that has already been successfully fetched. Longterm optimized solution should be to siphon the responses as the master resource is downloaded instead of having the update job issue URL requests. TEST=new tests for update jobs with pending master entries BUG=none Review URL: http://codereview.chromium.org/449039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33410 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 33394 (due to valgrind errors) - Appcache update support for pending ↵willchan@chromium.org2009-12-016-1103/+84
| | | | | | | | | | | | | | | | | | | | | | master entries: Update process issues a URL request to fetch pending master entries. Pending master entry fetch logic kept separate from regular url fetching as this will be the case in the longterm solution. No optimizations to avoid issuing URL request if pending master entry is also listed in the manifest. (simpler) Only optimized to prevent refetching something that has already been successfully fetched. Longterm optimized solution should be to siphon the responses as the master resource is downloaded instead of having the update job issue URL requests. TEST=new tests for update jobs with pending master entries BUG=none Review URL: http://codereview.chromium.org/402098 TBR=jennb@chromium.org Review URL: http://codereview.chromium.org/449036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33405 0039d316-1c4b-4281-b951-d872f2087c98
* Appcache update support for pending master entries: jennb@chromium.org2009-12-016-84/+1103
| | | | | | | | | | | | | | | | | - Update process issues a URL request to fetch pending master entries. - Pending master entry fetch logic kept separate from regular url fetching as this will be the case in the long-term solution. - No optimizations to avoid issuing URL request if pending master entry is also listed in the manifest. (simpler) - Only optimized to prevent refetching something that has already been successfully fetched. Long-term optimized solution should be to siphon the responses as the master resource is downloaded instead of having the update job issue URL requests. TEST=new tests for update jobs with pending master entries BUG=none Review URL: http://codereview.chromium.org/402098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33394 0039d316-1c4b-4281-b951-d872f2087c98
* Remove reference fragments from URL before passing to appcache for use as an ↵jennb@chromium.org2009-11-241-0/+5
| | | | | | | | | | | appcache entry URL. TEST=none BUG=none Review URL: http://codereview.chromium.org/431022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32937 0039d316-1c4b-4281-b951-d872f2087c98
* A mind numbing change to add the notion of a persistent groupId, and to get ↵michaeln@google.com2009-11-2412-61/+93
| | | | | | | | | | | | rid of the notion of an entryId. TEST=existing tests apply BUG=none Review URL: http://codereview.chromium.org/432012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32895 0039d316-1c4b-4281-b951-d872f2087c98
* The appcache system uses two threads, an IO thread and a DB thread.michaeln@google.com2009-11-232-0/+57
| | | | | | | | | | | | | | | It does not create these threads, the embedder is responsible for providing them to the appcache library by implementing the class declared in appcache_thread.h. Also in this CL are two implementations, one for Chrome and another for test_shell. TEST=none BUG=none Review URL: http://codereview.chromium.org/409005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32846 0039d316-1c4b-4281-b951-d872f2087c98
* Forces T*s to scoped_refptr<T> when PostTask()ing to a function expecting ↵jamesr@chromium.org2009-11-201-5/+10
| | | | | | | | scoped_refptr<T> Review URL: http://codereview.chromium.org/418007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32706 0039d316-1c4b-4281-b951-d872f2087c98
* Mock appcache storage bug fix for storing group and changes to its existing ↵jennb@chromium.org2009-11-183-7/+52
| | | | | | | | | | | newest cache. TEST=test added to catch bug BUG=none Review URL: http://codereview.chromium.org/399078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32417 0039d316-1c4b-4281-b951-d872f2087c98
* Isolated bug fixes from CL 385104 to address the following:jennb@chromium.org2009-11-184-28/+97
| | | | | | | | | | | | | | - using references for collections - only getting request response code if request was successful - writing response info for URL fetches that do not contain any data - only bothering with reading/writing response if response code is 2xx TEST=added test and data files to verify empty file still gets response written to storage BUG=none Review URL: http://codereview.chromium.org/385141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32337 0039d316-1c4b-4281-b951-d872f2087c98
* Empty data file needed for a unittest.jennb@chromium.org2009-11-171-0/+0
| | | | | | | | TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32146 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a simple crashing bug, don't assume an associated host has an owning ↵michaeln@google.com2009-11-161-5/+3
| | | | | | | | | | | group. The host can be associated with an incomplete 'inprogress' that has not yet been added to its group. When in this state, we return UNCACHED for the 'status' attribute. TEST=yes, a layout test covers this BUG=none Review URL: http://codereview.chromium.org/395021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32080 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a simple manifest parsing bug.michaeln@google.com2009-11-162-1/+13
| | | | | | | | | TEST=manifest_parser_unittest.cc BUG=none Review URL: http://codereview.chromium.org/400003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32079 0039d316-1c4b-4281-b951-d872f2087c98
* Load manifest data for newest cache from storage to compare against fetched ↵jennb@chromium.org2009-11-133-65/+102
| | | | | | | | | | | manifest. TEST=updated BUG=none Review URL: http://codereview.chromium.org/386013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31918 0039d316-1c4b-4281-b951-d872f2087c98
* * Fix a bug with the applicationCache.status return value. The wrong status ↵michaeln@google.com2009-11-123-5/+22
| | | | | | | | | | | | | value was visible via applicationCache.status after a swap because we sample GetStatus() before swappable_cache_ was cleared out. * Pull the plug on support for file:// urls in DEBUG builds for now. TEST=added to appcache_host_unittest.cc BUG=none Review URL: http://codereview.chromium.org/385071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31818 0039d316-1c4b-4281-b951-d872f2087c98
* Lookup appcached responses given a request URL.michaeln@google.com2009-11-126-28/+538
| | | | | | | | | TEST=new cases in mock_appcache_storage_unittest.cc and appcache_unittest.cc BUG=none Review URL: http://codereview.chromium.org/372070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31757 0039d316-1c4b-4281-b951-d872f2087c98
* Upstreaming WebKit.gypyaar@chromium.org2009-11-123-6/+6
| | | | | | | | | | | | This mega patch contains a few simple but tightly dependent changes: 1. Deletion of webkit/api/WebKit.gyp. The file now lives in webkit.org. 2. Rename of webkit/webkit.gyp to webkit/webkit_glue.gyp. Having two webkit.gyp was a source of developer confusion. 3. Gyp dependencies are updated across chromium to point at the upstream WebKit.gyp and the renamed webkit_glue.gyp. 4. Some 200+ files include paths fixed to point to third_party/WebKit/WebKit/chromium instead of webkit/api. The later will be deleted in a subsequent patch. Review URL: http://codereview.chromium.org/387020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31749 0039d316-1c4b-4281-b951-d872f2087c98
* Change store group and newest cache API so that storage failure does not ↵jennb@chromium.org2009-11-118-45/+18
| | | | | | | | require storage clients to revert changes to group and so it's not racey.TEST=existing tests updatedBUG=none Review URL: http://codereview.chromium.org/384029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31730 0039d316-1c4b-4281-b951-d872f2087c98
* applicationCache.swap(), applicationCache.update() and ↵michaeln@google.com2009-11-102-11/+53
| | | | | | | | | | | applicationCache.status scriptable API impls TEST=manual and existing unittests BUG=none Review URL: http://codereview.chromium.org/379003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31536 0039d316-1c4b-4281-b951-d872f2087c98
* Valgrind fixmichaeln@google.com2009-11-091-1/+2
| | | | | | | | | TEST: none BUG: none TBR: jennb git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31413 0039d316-1c4b-4281-b951-d872f2087c98
* AppCache changes to the networking model. Added new classes ↵michaeln@google.com2009-11-0919-82/+2227
| | | | | | | | | | AppCacheRequestHandler and AppCacheURLRequestJob. TEST=appcache_url_request_job_unittest.cc, appcache_request_handler_unittest.cc BUG=none Review URL: http://codereview.chromium.org/338034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31411 0039d316-1c4b-4281-b951-d872f2087c98
* Third patch in making destructors of refcounted objects private.jam@chromium.org2009-11-056-8/+26
| | | | | | | BUG=26749 Review URL: http://codereview.chromium.org/363023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31169 0039d316-1c4b-4281-b951-d872f2087c98
* Add storage code to appcache update process.jennb@chromium.org2009-10-307-84/+467
| | | | | | | | | | | Add storage API for simulating storage errors. TEST=verify appcache update wrote to storage correctly BUG=none Review URL: http://codereview.chromium.org/326002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30612 0039d316-1c4b-4281-b951-d872f2087c98
* MockAppCacheStorage implementionmichaeln@google.com2009-10-248-147/+689
| | | | | | | | | | | | | | | | | | | | | | This is a quick and easy 'mock' implementation of the storage interface that doesn't put anything to disk. We simply add an extra reference to objects when they're put in storage, and remove the extra reference when they are removed from storage. Responses are never really removed from the in-memory disk cache. Delegate callbacks are made asyncly to appropiately mimic what will happen with a real disk-backed storage impl that involves IO on a background thread. This is for use in unit tests and to initially bring up the appcache related layout tests. TEST=mock_appcache_storage_unittest.cc BUG=none Review URL: http://codereview.chromium.org/300043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30017 0039d316-1c4b-4281-b951-d872f2087c98
* Some more, release link error fixmichaeln@google.com2009-10-211-5/+7
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29676 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a compile error.michaeln@google.com2009-10-211-5/+3
| | | | | | Review URL: http://codereview.chromium.org/307021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29675 0039d316-1c4b-4281-b951-d872f2087c98
* AppCacheResponse storage implementationmichaeln@google.com2009-10-2111-115/+1375
| | | | | | | | | | | | | | * classes AppCacheResponseReader and AppCacheResponseWriter * also implements AppCacheStorage.LoadResponseInfo() * using a memory-backed disk_cache for now, so not really on disk yet TEST=appcache_response_unittest.cc BUG=none Review URL: http://codereview.chromium.org/269062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29670 0039d316-1c4b-4281-b951-d872f2087c98
* Fix minor style violation.jennb@chromium.org2009-10-161-2/+2
| | | | | | | | | TBR=mark TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29348 0039d316-1c4b-4281-b951-d872f2087c98
* Fix to avoid a bad mem access after URL request has already been deleted.jennb@chromium.org2009-10-162-3/+4
| | | | | | | | | | | Re-enabled tests that may trigger this condition. TEST=no new tests BUG=none Review URL: http://codereview.chromium.org/285006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29340 0039d316-1c4b-4281-b951-d872f2087c98
* Disable a couple appcache update job unittests that may have a ↵jennb@chromium.org2009-10-161-2/+2
| | | | | | | | | | | timing-dependent mem issue. TBR=michaeln TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29303 0039d316-1c4b-4281-b951-d872f2087c98
* Implement cancelling an appcache update. An update is cancelled when its ↵jennb@chromium.org2009-10-1611-139/+302
| | | | | | | | | | | | application cache group is no longer in use. Refcounting of caches and groups changed to make cancelling an update work. TEST=updated existing tests, verify deleting group cancels update, verify new refcounting behavior BUG=none Review URL: http://codereview.chromium.org/274013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29291 0039d316-1c4b-4281-b951-d872f2087c98
* Add some unimplemented methods from my last CL.michaeln@google.com2009-10-133-2/+43
| | | | | | | | | TEST=yes, appcache_storage_unittest.cc BUG=none Review URL: http://codereview.chromium.org/266042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28772 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the dependency on i18n/icu_string_conversions from base/string_util.h.brettw@chromium.org2009-10-101-3/+4
| | | | | | | | | | | | Fix up all files requireing this header to include it directly. Split out the ICU-dependent string util unit tests into a new file base/i18n/icu_string_util_unittest.cc TEST=none BUG=none Review URL: http://codereview.chromium.org/269034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28674 0039d316-1c4b-4281-b951-d872f2087c98
* AppCache StorageAPIsmichaeln@google.com2009-10-0922-202/+745
| | | | | | | | | TEST=none yet, these are just API definitions stubbed out for now BUG=none Review URL: http://codereview.chromium.org/209071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28513 0039d316-1c4b-4281-b951-d872f2087c98
* Make appcache update job retry 503 requests with retry-after of 0.jennb@chromium.org2009-10-083-20/+353
| | | | | | | | | TEST=test retry logic BUG=none Review URL: http://codereview.chromium.org/264002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28406 0039d316-1c4b-4281-b951-d872f2087c98
* Re-enabling disabled appcache update unittests. Change comparison of cache ↵jennb@chromium.org2009-10-065-25/+55
| | | | | | | | | | | update time. Change manifest-fb-404 entry ordering so all 3 requests always happen regardless of which order the url requests complete in. TEST=none BUG=none Review URL: http://codereview.chromium.org/257065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28174 0039d316-1c4b-4281-b951-d872f2087c98
* Disable some appcache update tests that depend on testserver.jennb@chromium.org2009-10-062-6/+6
| | | | | | | | | | Probably failing due to network timeout. Upped log message to ERROR to get more info. TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28126 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of application cache update algorithm.jennb@chromium.org2009-10-0632-28/+2255
| | | | | | | | | | | Does not include storage nor processing of pending master entries. TEST=verify update functionality BUG=none Review URL: http://codereview.chromium.org/201070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28123 0039d316-1c4b-4281-b951-d872f2087c98
* (More) Copyright housecleaning (i missed one before).michaeln@google.com2009-09-231-1/+1
| | | | | | | | | | TBR=jennb BUG=none TEST=none Review URL: http://codereview.chromium.org/222012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26990 0039d316-1c4b-4281-b951-d872f2087c98
* Copyright housecleaningmichaeln@google.com2009-09-237-7/+7
| | | | | | | | | | TBR=jennb BUG=none TEST=none Review URL: http://codereview.chromium.org/218008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26987 0039d316-1c4b-4281-b951-d872f2087c98
* Fix appcache_service and request_context referencing.michaeln@google.com2009-09-222-10/+12
| | | | | | | | | | | | There is one appcache service per profile and several request context per profile. The profile holds a reference to the appcache service. Those request contexts which are subject to retrieval from appcaches hold a reference to the appcache service too. The appcache service is provided with a pointer back to the 'main' request context, this context is used when updating appcaches. Initialization is a little tricky because profiles can't be used on the IO thread and request contexts can't be used on the UI thread. BUG=22597,22125 TEST=many existing tests exercise profile/context creation Review URL: http://codereview.chromium.org/215024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26844 0039d316-1c4b-4281-b951-d872f2087c98
* Check for supported schemes and examine request methods at key points. We ↵michaeln@google.com2009-09-188-55/+157
| | | | | | | | | | | | | | | | | | | | | | | support http, https, and file (dbg only) URLs for now. * Added IsSchemeSupported, IsMethodSupported and IsMethodAndSchemeSupported helpers, and string constants. * Check for supported schemes and methods during cache selection and during request interception. Must be GET for cache selectino, GET or HEAD for request interception. * Renamed some data members in WebApplicationCacheHostImpl to more closely match naming elsewhere. * Added AppCacheHost::Observer to make life easier. (I like the observer model, and even noticed that the chrome code base has a multi-threaded version too (ala Gears)... nice :) * Switched to using the observer model in AppCacheRequestDispatcher instead of a WeakPtr. One of the observable methods is OnDestructionImminent(host). * Added gyp dependency on the net library BUG=none TEST=none Review URL: http://codereview.chromium.org/205017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26537 0039d316-1c4b-4281-b951-d872f2087c98
* * Fleshed out AppCacheHost class a fair amount, in particular the cache ↵michaeln@google.com2009-09-1521-232/+988
| | | | | | | | | | | | | | | | selection algorithm. * Added some AppCacheHost unit tests. * Introduced AppCacheRequestHandler class, which replaces the clunkyApp CacheInterceptor::ExtraInfo struct. This impl is entirely skeletal stubs for now. TEST=appcache_unittest.cc, but really needs more BUG=none Review URL: http://codereview.chromium.org/192043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26275 0039d316-1c4b-4281-b951-d872f2087c98
* 1) Tell the AppCacheService which request context to use when fetching ↵michaeln@google.com2009-09-152-2/+36
| | | | | | | | | | | | | resources for updates. Done for both chrome and test_shell. The service does not yet take a reference to that context, because the extra reference apparently gives some tests grief. 2) Added methods to generate new storage ids for different object types on the IO thread. BUG=none TEST=none Review URL: http://codereview.chromium.org/195077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26253 0039d316-1c4b-4281-b951-d872f2087c98
* * Add appCacheManifestUrl data member to WebURLResponse, and use it to ↵michaeln@google.com2009-09-081-8/+15
| | | | | | | | | | | | detect 'foreign' entries. * Complete the 'contextID' to 'hostID' renaming since that terminology is now used in webcore ResourceRequest. This patch depends on a corresponding webkit change in the chromium port.https://bugs.webkit.org/show_bug.cgi?id=28960 Review URL: http://codereview.chromium.org/201026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25646 0039d316-1c4b-4281-b951-d872f2087c98
* Change AppCache and AppCacheGroup to be ref counted classes.Adjusted API of ↵jennb@chromium.org2009-09-0210-38/+268
| | | | | | | | framework classes accordingly.Added unittests for appcache framework classes.TEST=verify objects are cleaned up properly, verify api implBUG=none Review URL: http://codereview.chromium.org/179071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25264 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb request interception into the appcache library for both chrome and ↵michaeln@google.com2009-09-018-33/+291
| | | | | | | | | | | | | | | | | | | | | | | | test_shell. AppCache library: * Added AppCacheInterceptor, which is derived from URLRequest::Interceptor. Chrome: * Each UserProfile instantiates a ChromeAppCacheService, which is derived from an appcache library class. * Each ChromeURLRequestContext associated with that profile has a reference to that instance. * ResourceDispatcherHost pokes AppCacheInterceptor when initiating URLRequests and when returning the response head. TestShell: * Added SimpleAppCacheSystem which bundles together appcache lib components for use in a single process with an UI and IO thread. * TestShellWebKit instantiates and initializes an instance of the above, aimed at at temp directory that will get cleaned up when the test run is over. * SimpleResourceLoaderBridge pokes the system when initiating URLRequests and when returning the response head. TEST=none, although many existing tests exercise this stuff BUG=none Review URL: http://codereview.chromium.org/173406 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25099 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing newline at end of file.mdm@chromium.org2009-08-311-1/+1
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/183010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24889 0039d316-1c4b-4281-b951-d872f2087c98