• 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 CONTENT_RENDERER_ANDROID_PHONE_NUMBER_DETECTOR_H_
6 #define CONTENT_RENDERER_ANDROID_PHONE_NUMBER_DETECTOR_H_
7 
8 #include "base/compiler_specific.h"
9 #include "content/common/content_export.h"
10 #include "content/renderer/android/content_detector.h"
11 
12 namespace content {
13 
14 class PhoneNumberDetectorTest;
15 
16 // Finds a telephone number in the given content text string.
17 class CONTENT_EXPORT PhoneNumberDetector : public ContentDetector {
18  public:
19   PhoneNumberDetector();
20   explicit PhoneNumberDetector(const std::string& region);
21   virtual ~PhoneNumberDetector();
22 
23  private:
24   friend class PhoneNumberDetectorTest;
25 
26   // Implementation of ContentDetector.
27   virtual bool FindContent(const base::string16::const_iterator& begin,
28                            const base::string16::const_iterator& end,
29                            size_t* start_pos,
30                            size_t* end_pos,
31                            std::string* content_text) OVERRIDE;
32   virtual GURL GetIntentURL(const std::string& content_text) OVERRIDE;
33   virtual size_t GetMaximumContentLength() OVERRIDE;
34 
35   const std::string region_code_;
36 
37   DISALLOW_COPY_AND_ASSIGN(PhoneNumberDetector);
38 };
39 
40 }  // namespace content
41 
42 #endif  // CONTENT_RENDERER_ANDROID_PHONE_NUMBER_DETECTOR_H_
43