Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(468)

Side by Side Diff: chrome/browser/net/sdch_dictionary_fetcher.h

Issue 6347033: net: Add namespace net to Sdch* classes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Support modularity by calling to load a new SDCH filter dictionary. 5 // Support modularity by calling to load a new SDCH filter dictionary.
6 // Note that this sort of calling can't be done in the /net directory, as it has 6 // Note that this sort of calling can't be done in the /net directory, as it has
7 // no concept of the HTTP cache (which is only visible at the browser level). 7 // no concept of the HTTP cache (which is only visible at the browser level).
8 8
9 #ifndef CHROME_BROWSER_NET_SDCH_DICTIONARY_FETCHER_H_ 9 #ifndef CHROME_BROWSER_NET_SDCH_DICTIONARY_FETCHER_H_
10 #define CHROME_BROWSER_NET_SDCH_DICTIONARY_FETCHER_H_ 10 #define CHROME_BROWSER_NET_SDCH_DICTIONARY_FETCHER_H_
11 #pragma once 11 #pragma once
12 12
13 #include <queue> 13 #include <queue>
14 #include <set> 14 #include <set>
15 #include <string> 15 #include <string>
16 16
17 #include "base/scoped_ptr.h" 17 #include "base/scoped_ptr.h"
18 #include "base/task.h" 18 #include "base/task.h"
19 #include "chrome/common/net/url_fetcher.h" 19 #include "chrome/common/net/url_fetcher.h"
20 #include "net/base/sdch_manager.h" 20 #include "net/base/sdch_manager.h"
21 21
22 class SdchDictionaryFetcher : public URLFetcher::Delegate, 22 class SdchDictionaryFetcher : public URLFetcher::Delegate,
23 public SdchFetcher { 23 public net::SdchFetcher {
24 public: 24 public:
25 SdchDictionaryFetcher(); 25 SdchDictionaryFetcher();
26 virtual ~SdchDictionaryFetcher(); 26 virtual ~SdchDictionaryFetcher();
27 27
28 // Stop fetching dictionaries, and abandon any current URLFetcheer operations
29 // so that the IO thread can be stopped.
30 static void Shutdown();
31
28 // Implementation of SdchFetcher class. 32 // Implementation of SdchFetcher class.
29 // This method gets the requested dictionary, and then calls back into the 33 // This method gets the requested dictionary, and then calls back into the
30 // SdchManager class with the dictionary's text. 34 // SdchManager class with the dictionary's text.
31 virtual void Schedule(const GURL& dictionary_url); 35 virtual void Schedule(const GURL& dictionary_url);
32 36
33 // Stop fetching dictionaries, and abandon any current URLFetcheer operations
34 // so that the IO thread can be stopped.
35 static void Shutdown() { SdchManager::Shutdown(); }
36
37 private: 37 private:
38 // Delay in ms between Schedule and actual download. 38 // Delay in ms between Schedule and actual download.
39 // This leaves the URL in a queue, which is de-duped, so that there is less 39 // This leaves the URL in a queue, which is de-duped, so that there is less
40 // chance we'll try to load the same URL multiple times when a pile of 40 // chance we'll try to load the same URL multiple times when a pile of
41 // page subresources (or tabs opened in parallel) all suggest the dictionary. 41 // page subresources (or tabs opened in parallel) all suggest the dictionary.
42 static const int kMsDelayFromRequestTillDownload = 100; 42 static const int kMsDelayFromRequestTillDownload = 100;
43 43
44 // Ensure the download after the above delay. 44 // Ensure the download after the above delay.
45 void ScheduleDelayedRun(); 45 void ScheduleDelayedRun();
46 46
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 // bandwidth trying repeatedly). 81 // bandwidth trying repeatedly).
82 // The following set lists all the dictionary URLs that we've tried to load, 82 // The following set lists all the dictionary URLs that we've tried to load,
83 // so that we won't try to load from an URL more than once. 83 // so that we won't try to load from an URL more than once.
84 // TODO(jar): Try to augment the SDCH proposal to include this restiction. 84 // TODO(jar): Try to augment the SDCH proposal to include this restiction.
85 std::set<GURL> attempted_load_; 85 std::set<GURL> attempted_load_;
86 86
87 DISALLOW_COPY_AND_ASSIGN(SdchDictionaryFetcher); 87 DISALLOW_COPY_AND_ASSIGN(SdchDictionaryFetcher);
88 }; 88 };
89 89
90 #endif // CHROME_BROWSER_NET_SDCH_DICTIONARY_FETCHER_H_ 90 #endif // CHROME_BROWSER_NET_SDCH_DICTIONARY_FETCHER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698