• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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.
4 
5 #ifndef CHROME_COMMON_CONTENT_SETTINGS_PATTERN_PARSER_H_
6 #define CHROME_COMMON_CONTENT_SETTINGS_PATTERN_PARSER_H_
7 
8 #include <string>
9 
10 #include "base/basictypes.h"
11 #include "chrome/common/content_settings_pattern.h"
12 
13 namespace content_settings {
14 
15 struct PatternParts;
16 
17 class PatternParser {
18  public:
19   static void Parse(const std::string& pattern_spec,
20                     ContentSettingsPattern::BuilderInterface* builder);
21 
22   static std::string ToString(
23       const ContentSettingsPattern::PatternParts& parts);
24 
25  private:
26   static const char* kDomainWildcard;
27 
28   static const size_t kDomainWildcardLength;
29 
30   static const char* kSchemeWildcard;
31 
32   static const char* kHostWildcard;
33 
34   static const char* kPortWildcard;
35 
36   static const char* kPathWildcard;
37 
38   DISALLOW_COPY_AND_ASSIGN(PatternParser);
39 };
40 
41 }  // namespace content_settings
42 
43 #endif  // CHROME_COMMON_CONTENT_SETTINGS_PATTERN_PARSER_H_
44