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..ddb51292a4d7c2dc1e4a50b82560d3d6dd1733a1 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,30 @@ void PaletteDelegateChromeOS::CancelPartialScreenshot() { |
ash::Shell::Get()->screenshot_controller()->CancelScreenshotSession(); |
} |
+bool PaletteDelegateChromeOS::HasMetalayer() { |
+ if (!arc::IsArcAllowedForProfile(profile_)) |
Luis Héctor Chávez
2017/04/19 15:48:29
Don't we also want to check arc::ArcVoiceInteracti
Vladislav Kaznacheev
2017/04/19 23:42:59
ArcVoiceInteractionFrameworkService instantiation
|
+ return false; |
+ |
+ arc::ArcVoiceInteractionFrameworkService* service = |
+ arc::ArcServiceManager::Get() |
+ ->GetService<arc::ArcVoiceInteractionFrameworkService>(); |
+ return service && service->IsReady(); |
+} |
+ |
+void PaletteDelegateChromeOS::ShowMetalayer(const base::Closure& done) { |
+ arc::ArcVoiceInteractionFrameworkService* service = |
Luis Héctor Chávez
2017/04/19 15:48:29
If the container dies just prior to this being cal
Vladislav Kaznacheev
2017/04/19 23:42:59
Replaced DCHECK with closure resolution and return
|
+ arc::ArcServiceManager::Get() |
+ ->GetService<arc::ArcVoiceInteractionFrameworkService>(); |
+ DCHECK(service); |
+ service->ShowMetalayer(done); |
+} |
+ |
+void PaletteDelegateChromeOS::HideMetalayer() { |
+ arc::ArcVoiceInteractionFrameworkService* service = |
+ arc::ArcServiceManager::Get() |
+ ->GetService<arc::ArcVoiceInteractionFrameworkService>(); |
+ DCHECK(service); |
+ service->HideMetalayer(); |
+} |
+ |
} // namespace chromeos |