Chromium Code Reviews| 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 |