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

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

Issue 8749016: Make SDCH classes IO-thread-only. Remove TSan suppression. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix Win shared compile issue. Merge to LKGR. Created 9 years 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
« no previous file with comments | « chrome/browser/browser_process_impl.cc ('k') | chrome/browser/net/sdch_dictionary_fetcher.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/memory/scoped_ptr.h" 17 #include "base/memory/scoped_ptr.h"
18 #include "base/task.h" 18 #include "base/task.h"
19 #include "base/threading/non_thread_safe.h"
19 #include "content/public/common/url_fetcher_delegate.h" 20 #include "content/public/common/url_fetcher_delegate.h"
20 #include "net/base/sdch_manager.h" 21 #include "net/base/sdch_manager.h"
21 22
22 class SdchDictionaryFetcher : public content::URLFetcherDelegate, 23 class SdchDictionaryFetcher
23 public net::SdchFetcher { 24 : public content::URLFetcherDelegate,
25 public net::SdchFetcher,
26 public base::NonThreadSafe {
24 public: 27 public:
25 SdchDictionaryFetcher(); 28 SdchDictionaryFetcher();
26 virtual ~SdchDictionaryFetcher(); 29 virtual ~SdchDictionaryFetcher();
27 30
28 // Stop fetching dictionaries, and abandon any current URLFetcheer operations 31 // Stop fetching dictionaries, and abandon any current URLFetcheer operations
29 // so that the IO thread can be stopped. 32 // so that the IO thread can be stopped.
30 static void Shutdown(); 33 static void Shutdown();
31 34
32 // Implementation of SdchFetcher class. 35 // Implementation of SdchFetcher class.
33 // This method gets the requested dictionary, and then calls back into the 36 // This method gets the requested dictionary, and then calls back into the
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 // bandwidth trying repeatedly). 79 // bandwidth trying repeatedly).
77 // The following set lists all the dictionary URLs that we've tried to load, 80 // The following set lists all the dictionary URLs that we've tried to load,
78 // so that we won't try to load from an URL more than once. 81 // so that we won't try to load from an URL more than once.
79 // TODO(jar): Try to augment the SDCH proposal to include this restiction. 82 // TODO(jar): Try to augment the SDCH proposal to include this restiction.
80 std::set<GURL> attempted_load_; 83 std::set<GURL> attempted_load_;
81 84
82 DISALLOW_COPY_AND_ASSIGN(SdchDictionaryFetcher); 85 DISALLOW_COPY_AND_ASSIGN(SdchDictionaryFetcher);
83 }; 86 };
84 87
85 #endif // CHROME_BROWSER_NET_SDCH_DICTIONARY_FETCHER_H_ 88 #endif // CHROME_BROWSER_NET_SDCH_DICTIONARY_FETCHER_H_
OLDNEW
« no previous file with comments | « chrome/browser/browser_process_impl.cc ('k') | chrome/browser/net/sdch_dictionary_fetcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698