summaryrefslogtreecommitdiffstats
path: root/net/base/sdch_manager.h
Commit message (Collapse)AuthorAgeFilesLines
* Fetch SDCH dictionary as soon as current URL fetch completesjar@chromium.org2009-02-111-4/+4
| | | | | | | | | | | | | Rather than just waiting for 15 seconds, this patch fetches the "suggested dicitionary" as soon as the current download completes. This avoids stealing bandwidth from the original download, but works as quickly as possible to get the dictionary, so that the user can receive compression results asap. r=wtc Review URL: http://codereview.chromium.org/20254 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9597 0039d316-1c4b-4281-b951-d872f2087c98
* Add to SDCH histogrammingjar@chromium.org2009-02-021-1/+2
| | | | | | | | | | | | | | | | Define a histogram macro that is customizable, and precise, for detailed examination of performance when needed. Provide graceful degradation when entire SDCH window is not received. We now blacklist the site with an exponential back-off. This allows teh user to hit reload, and get not-SDCH content. bug=1609306 r=huanr,mbelshe Review URL: http://codereview.chromium.org/19718 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9035 0039d316-1c4b-4281-b951-d872f2087c98
* Adjust SDCH problem code histogram.jar@chromium.org2009-01-271-3/+7
| | | | | | | | | | | | Tentative SDCH was not properly noted, and this caused some confusion in the SDCH problem codes. I corrected the assertion of a tentative sdch, and renumbered (to new numbers) all problem codes that might have been varied. r=huanr Review URL: http://codereview.chromium.org/18780 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8698 0039d316-1c4b-4281-b951-d872f2087c98
* Improve SDCH stability stats and error recoveryjar@chromium.org2009-01-201-21/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL provides an exponential back-off (within a run of chromium) for recovery to a decoding error, rather than an full disable of SDCH when a (minor) error appears. This will help to recover from the common (implementation) problem where a user has an SDCH encoded page as a startup tab, but doesn't still have the requisite dictionary from the previous run. The exponential backoff is not "time based," but instead counts down the number of times a tentatively blacklisted domain is accessed. I now detect the use of the browser cache in an SDCH decode, and use that to better identify if external proxies have corrupted the process, vs internal use of cache (such as at startup) has caused a "dictionary not found" error to emerge. r=openvcdiff,huanr Review URL: http://codereview.chromium.org/18355 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8290 0039d316-1c4b-4281-b951-d872f2087c98
* Correct typo in SDCH problem logging code.jar@google.com2008-12-171-1/+2
| | | | | | | r=openvcdiff,huanr Review URL: http://codereview.chromium.org/14802 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7162 0039d316-1c4b-4281-b951-d872f2087c98
* Add instrumentation to and tighten SDCH implementationjar@google.com2008-12-021-0/+5
| | | | | | | r=huanr,kmixter,openvcdiff Review URL: http://codereview.chromium.org/12699 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6193 0039d316-1c4b-4281-b951-d872f2087c98
* Adjust histograms to get better data for latency experimentsjar@google.com2008-11-221-20/+28
| | | | | | | r=openvcdiff,huanr Review URL: http://codereview.chromium.org/11810 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5891 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid plausible DOS attack by malicious SDCH serverjar@google.com2008-11-181-0/+17
| | | | | | | | | | | | | | | Restrict SDCH to ONLY work with HTTP (fail safe security policy for this experimental protocol). Also add a histogram to see how often we encounter dictionary corruption (which will evidence itself by having a multitude of dicitionaries adverttised, with no real use server side). r=ajenjo,kmixter Review URL: http://codereview.chromium.org/11209 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5628 0039d316-1c4b-4281-b951-d872f2087c98
* Move Time, TimeDelta and TimeTicks into namespace base.dsh@google.com2008-10-271-2/+2
| | | | | | Review URL: http://codereview.chromium.org/7995 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4022 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up filter and content encoding handling jar@google.com2008-10-271-3/+2
| | | | | | | | | | | | | | | | Centralize translation functions (text of "Content-Encoding" to enum) in filter.cc Centralize error recovery (for damaged content encoding headers) in filter.cc Error recovery includes a loss of SDCH encoding headers, plus handling of Apache server bug with gzip files are tagged as also being gzip encoded. Centralize and add a pile of unit tests to this filter code. r=openvcdiff,huanr Review URL: http://codereview.chromium.org/8018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4004 0039d316-1c4b-4281-b951-d872f2087c98
* Add a lot of robustness to SDCH filter decodingjar@google.com2008-10-151-7/+67
| | | | | | | | | | | | | | | | | | | | | | a) Do meta-refresh (and partially disable sdch) when we have an sdch decode error early on (due to lack of dictionary). b) Gracefully handle proxy removal of "gzip" in "content-encoding: sdch,gzip". c) Recover from completely stripped content encoding (in response to a request for which we advertised an SDCH dictionary) by using a filter that can optionally decode sdch with an optional gzip as well. Some field tests have shown problems with this protocol's transit across the ether. The general approach we've adopted is to stop using SDCH on the problematic site when we have problems. This will prevent a malicious site from shutting down all use of SDCH. r=kmixter,openvcdiff,huanr Review URL: http://codereview.chromium.org/6433 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3420 0039d316-1c4b-4281-b951-d872f2087c98
* Unrollback 3024 (partially rolled back in 3027).ericroman@google.com2008-10-081-3/+0
| | | | | | | | It is fixed in mac build now -- problem was bad format string to StringPrintf, where passed string instead of char*. Review URL: http://codereview.chromium.org/6359 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3064 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 3024, broke mac build.maruel@google.com2008-10-081-0/+3
| | | | | | Review URL: http://codereview.chromium.org/6351 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3027 0039d316-1c4b-4281-b951-d872f2087c98
* Pull in new googleurl@94 which includes GURL::EffectiveIntPort().ericroman@google.com2008-10-081-3/+0
| | | | | | | | Update callers to use this method. Review URL: http://codereview.chromium.org/5641 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3024 0039d316-1c4b-4281-b951-d872f2087c98
* Correct typo with containing extra declarations in headerjar@google.com2008-09-231-8/+7
| | | | | | | r=pinkerton Review URL: http://codereview.chromium.org/4045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2496 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land SDCH filter support experimentjar@google.com2008-09-231-0/+202
| | | | | | | | | | | Fix up solution files for webkit and net Add one line keyword change to help linux build r=hunanr,openvcdiff,nsylvain Review URL: http://codereview.chromium.org/4026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2469 0039d316-1c4b-4281-b951-d872f2087c98
* Rollback 2444 and 2443 to get linux and mac prepjar@google.com2008-09-221-202/+0
| | | | | | | | | Also need to augment sln dependencies tbr Review URL: http://codereview.chromium.org/3188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2446 0039d316-1c4b-4281-b951-d872f2087c98
* Experimental integration of delta compression content encodingjar@google.com2008-09-221-0/+202
The command line option "sdch-enable" enables support of sdch and automtic lazy download of dictionaries. Optionally it can select a singular domain to work from. By default, all domains are enabled when the flag is used. "-sdch-enable=".google.com" Enables it only for Google. When the switch is not set on the command line, all this code is completely disabled. Still TBD: a) Finish implementation of security details (much of it is in place) b) Add tests for security details. r=huanr,ajenjo,kmixter Review URL: http://codereview.chromium.org/461 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2443 0039d316-1c4b-4281-b951-d872f2087c98