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