mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 02:09:05 +02:00 
			
		
		
		
	This code path gets executed by existing tests, and I don't believe there is a way to execute this behavior using our CI, since it's a macOS version check. Differential Revision: https://phabricator.services.mozilla.com/D154172
		
			
				
	
	
		
			54 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/* This Source Code Form is subject to the terms of the Mozilla Public
 | 
						|
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
						|
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | 
						|
 | 
						|
#ifndef mozilla_widget_nsTextRecognition__
 | 
						|
#define mozilla_widget_nsTextRecognition__
 | 
						|
 | 
						|
#include "mozilla/MozPromise.h"
 | 
						|
#include "mozilla/gfx/Point.h"
 | 
						|
#include "nsTArray.h"
 | 
						|
 | 
						|
class imgIContainer;
 | 
						|
namespace mozilla {
 | 
						|
 | 
						|
namespace dom {
 | 
						|
class ShadowRoot;
 | 
						|
class TextRecognitionResultOrError;
 | 
						|
class TextRecognitionResult;
 | 
						|
}  // namespace dom
 | 
						|
 | 
						|
namespace gfx {
 | 
						|
class SourceSurface;
 | 
						|
class DataSourceSurface;
 | 
						|
}  // namespace gfx
 | 
						|
 | 
						|
namespace widget {
 | 
						|
 | 
						|
class TextRecognition final {
 | 
						|
 public:
 | 
						|
  using NativePromise = MozPromise<dom::TextRecognitionResult, nsCString,
 | 
						|
                                   /* IsExclusive = */ true>;
 | 
						|
 | 
						|
  TextRecognition() = default;
 | 
						|
 | 
						|
  static void FillShadow(dom::ShadowRoot&, const dom::TextRecognitionResult&);
 | 
						|
 | 
						|
  static RefPtr<NativePromise> FindText(imgIContainer&,
 | 
						|
                                        const nsTArray<nsCString>&);
 | 
						|
  static RefPtr<NativePromise> FindText(gfx::DataSourceSurface&,
 | 
						|
                                        const nsTArray<nsCString>&);
 | 
						|
  static bool IsSupported();
 | 
						|
 | 
						|
 protected:
 | 
						|
  // This should be implemented in the OS specific file.
 | 
						|
  static RefPtr<NativePromise> DoFindText(gfx::DataSourceSurface&,
 | 
						|
                                          const nsTArray<nsCString>&);
 | 
						|
 | 
						|
  ~TextRecognition() = default;
 | 
						|
};
 | 
						|
 | 
						|
}  // namespace widget
 | 
						|
}  // namespace mozilla
 | 
						|
 | 
						|
#endif
 |