chrome/browser/screen_ai/README.md
ScreenAI service provides accessibility helpers, is downloaded and initialized
on demand, and stays on disk for 30 days after the last use.
The service is created per profile and will stay alive as long as the profile
lives.
See services/screen_ai/README.md for more.
Depending on your use case restrictions, choose one of the following approaches.
screen_ai::mojom::OcrClientType, otherwise choose an appropriate one for it
in the next steps.chrome-ocr-clients@ group to get notifications on major updates.OpticalCharacterRecognizer:CreateWithStatusCallback, create an OCR
object, and wait until the callback is called. This will trigger download
and startup of the service (if needed) and reports the result.true value, use
OpticalCharacterRecognizer:PerformOCR.OpticalCharacterRecognizer:Create and keep calling
OpticalCharacterRecognizer:is_ready until it tells you that the service
is ready.OpticalCharacterRecognizer:PerformOCR as above.screen_ai:ScreenAIServiceRouterFactory:GetForBrowserContext:GetServiceStateAsync
to trigger library download and service initialization and receive the result
in a callback.screen_ai:mojom:ScreenAIAnnotator interface.PerformOCR functions, call SetClientType once
to set the client type.components/pdf/renderer/pdf_view_web_plugin_client.cc.If you are adding a new client for MCE, add a new enum value to
screen_ai::mojom::MceClientType.
In the browser process call
screen_ai:ScreenAIServiceRouterFactory:GetForBrowserContext:GetServiceStateAsync
to trigger library download and service initialization and receive the result in
a callback.
Once you know the service is ready, trigger connection to it in your process by
connecting to screen_ai:mojom:Screen2xMainContentExtractor interface.
Call SetClientType once to set the client type.
For an example see chrome/renderer/accessibility/ax_tree_distiller.cc.
GetMaxImageDimension function from version 138. Sending
images with higher resolution will not increase the recognition quality and
only increases allocated memory and adds extra processing time. If you are
resizing the image that you sent to OCR for any other reasons, consider this
threshold.SuggestedWaitTimeBeforeReAttempt function.Chromium > UI > Accessibility > MachineIntelligence (component id: 1457124)