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..7de1967729bd15283ea08bd4a8832673fa7587d8 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 (HasMetalayer()) { |
// 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::HasMetalayer() { |
+ if (!arc::IsArcAllowedForProfile(profile_)) |
+ return false; |
+ |
+ arc::ArcVoiceInteractionFrameworkService* service = |
+ arc::ArcServiceManager::Get() |
+ ->GetService<arc::ArcVoiceInteractionFrameworkService>(); |
+ return service && service->HasMetalayer(); |
+} |
+ |
+void PaletteDelegateChromeOS::ShowMetalayer(const base::Closure& done) { |
+ arc::ArcVoiceInteractionFrameworkService* service = |
+ arc::ArcServiceManager::Get() |
+ ->GetService<arc::ArcVoiceInteractionFrameworkService>(); |
+ if (!service) { |
+ if (!done.is_null()) |
+ done.Run(); |
+ return; |
+ } |
+ service->ShowMetalayer(done); |
+} |
+ |
+void PaletteDelegateChromeOS::HideMetalayer() { |
+ arc::ArcVoiceInteractionFrameworkService* service = |
+ arc::ArcServiceManager::Get() |
+ ->GetService<arc::ArcVoiceInteractionFrameworkService>(); |
+ if (!service) |
+ return; |
+ service->HideMetalayer(); |
+} |
+ |
} // namespace chromeos |