Fix crash on app list start page keyboard navigation with <4 apps.
[chromium-blink-merge.git] / net / base / sdch_observer.h
blob61603b067ee3998f4493e94bc936f5871a2d129c
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 NET_BASE_SDCH_OBSERVER_H_
6 #define NET_BASE_SDCH_OBSERVER_H_
8 #include <iosfwd>
9 #include <string>
11 #include "net/base/net_export.h"
13 class GURL;
15 namespace net {
17 class SdchManager;
19 // Observer interface for SDCH. Observers can register with
20 // the SdchManager to receive notifications of various SDCH events.
21 class NET_EXPORT SdchObserver {
22 public:
23 virtual ~SdchObserver();
25 // TODO(rdsmith): Add Added/Removed signals. These are only needed if
26 // we end up with an implementation in which more than one observer
27 // generates Add/Removed events; otherwise, tracking can be done internally.
29 // TODO(rdsmith): Add signal that an Avail-Dictionary header was generated.
30 // Should be added if/when an observer wants to use it to fine-tune
31 // dictionary deprecation (e.g. if Avail-Dictionary is generated and
32 // the remote *doesn't* use it, that should deprecate the dictionary faster)
34 // A SDCH encoded response was received and the specified dictionary
35 // was used to decode it. This notification only occurs for successful
36 // decodes.
37 // TODO(rdsmith): Should this notification indicate how much
38 // compression the dictionary provided?
39 virtual void OnDictionaryUsed(SdchManager* manager,
40 const std::string& server_hash) = 0;
42 // A "Get-Dictionary" header has been seen.
43 virtual void OnGetDictionary(SdchManager* manager,
44 const GURL& request_url,
45 const GURL& dictionary_url) = 0;
47 // Notification that SDCH has received a request to clear all
48 // its dictionaries.
49 virtual void OnClearDictionaries(SdchManager* manager) = 0;
52 } // namespace net
54 #endif // NET_BASE_SDCH_MANAGER_H_