| Index: chrome/browser/ui/ash/palette_delegate_chromeos.cc
|
| diff --git a/chrome/browser/ui/ash/palette_delegate_chromeos.cc b/chrome/browser/ui/ash/palette_delegate_chromeos.cc
|
| index b9a52a706cf89fe8296a76a4eedd42e0f11575a0..cfa955358f87a11b903e135db58799ce5d57b5c6 100644
|
| --- a/chrome/browser/ui/ash/palette_delegate_chromeos.cc
|
| +++ b/chrome/browser/ui/ash/palette_delegate_chromeos.cc
|
| @@ -179,8 +179,7 @@ void PaletteDelegateChromeOS::TakePartialScreenshot(const base::Closure& done) {
|
| auto* screenshot_controller = ash::Shell::Get()->screenshot_controller();
|
|
|
| ash::ScreenshotDelegate* screenshot_delegate;
|
| - if (arc::ArcVoiceInteractionFrameworkService::IsVoiceInteractionEnabled() &&
|
| - arc::IsArcAllowedForProfile(profile_)) {
|
| + if (IsMetalayerSupported()) {
|
| // This is an experimental mode. It will be either taken out or grow
|
| // into a separate tool next to "Capture region".
|
| if (!voice_interaction_screenshot_delegate_) {
|
| @@ -206,4 +205,35 @@ void PaletteDelegateChromeOS::CancelPartialScreenshot() {
|
| ash::Shell::Get()->screenshot_controller()->CancelScreenshotSession();
|
| }
|
|
|
| +bool PaletteDelegateChromeOS::IsMetalayerSupported() {
|
| + if (!arc::IsArcAllowedForProfile(profile_))
|
| + return false;
|
| +
|
| + arc::ArcVoiceInteractionFrameworkService* service =
|
| + arc::ArcServiceManager::Get()
|
| + ->GetService<arc::ArcVoiceInteractionFrameworkService>();
|
| + return service && service->IsMetalayerSupported();
|
| +}
|
| +
|
| +void PaletteDelegateChromeOS::ShowMetalayer(const base::Closure& closed) {
|
| + arc::ArcVoiceInteractionFrameworkService* service =
|
| + arc::ArcServiceManager::Get()
|
| + ->GetService<arc::ArcVoiceInteractionFrameworkService>();
|
| + if (!service) {
|
| + if (!closed.is_null())
|
| + closed.Run();
|
| + return;
|
| + }
|
| + service->ShowMetalayer(closed);
|
| +}
|
| +
|
| +void PaletteDelegateChromeOS::HideMetalayer() {
|
| + arc::ArcVoiceInteractionFrameworkService* service =
|
| + arc::ArcServiceManager::Get()
|
| + ->GetService<arc::ArcVoiceInteractionFrameworkService>();
|
| + if (!service)
|
| + return;
|
| + service->HideMetalayer();
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|