1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_NET_CHROME_SDCH_POLICY_H_
6 #define CHROME_BROWSER_NET_CHROME_SDCH_POLICY_H_
10 #include "net/base/sdch_observer.h"
11 #include "net/url_request/sdch_dictionary_fetcher.h"
17 class URLRequestContext;
20 // Implementation of chrome embedder policy for SDCH. Handles fetches.
21 // TODO(rdsmith): Implement dictionary prioritization.
22 class ChromeSdchPolicy : public net::SdchObserver {
24 // Consumer must guarantee that |sdch_manager| and |context| outlive
26 ChromeSdchPolicy(net::SdchManager* sdch_manager,
27 net::URLRequestContext* context);
28 ~ChromeSdchPolicy() override;
30 void OnDictionaryFetched(const std::string& dictionary_text,
31 const GURL& dictionary_url);
33 // SdchObserver implementation.
34 void OnGetDictionary(net::SdchManager* manager,
35 const GURL& request_url,
36 const GURL& dictionary_url) override;
37 void OnClearDictionaries(net::SdchManager* manager) override;
40 net::SdchManager* manager_;
41 net::SdchDictionaryFetcher fetcher_;
44 #endif // CHROME_BROWSER_NET_CHROME_SDCH_POLICY_H_