Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7811)

Unified Diff: chrome/browser/ui/app_list/hotword_background_activity_monitor.cc

Issue 217423002: Removes Experimental hotword-always-on feature. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/app_list/hotword_background_activity_monitor.cc
diff --git a/chrome/browser/ui/app_list/hotword_background_activity_monitor.cc b/chrome/browser/ui/app_list/hotword_background_activity_monitor.cc
deleted file mode 100644
index a5c16a518d171c9ded9610199d2b29a9835c199f..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/app_list/hotword_background_activity_monitor.cc
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/app_list/hotword_background_activity_monitor.h"
-
-#include "chrome/browser/ui/app_list/hotword_background_activity_delegate.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_list.h"
-#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/browser/ui/tabs/tab_utils.h"
-#include "content/public/browser/render_process_host.h"
-#include "content/public/browser/web_contents.h"
-
-#if defined(USE_ASH)
-#include "ash/shell.h"
-#endif
-
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/idle_detector.h"
-#endif
-
-namespace app_list {
-
-#if defined(OS_CHROMEOS)
-namespace {
-const int kIdleTimeoutInMin = 5;
-}
-#endif
-
-HotwordBackgroundActivityMonitor::HotwordBackgroundActivityMonitor(
- HotwordBackgroundActivityDelegate* delegate)
- : delegate_(delegate),
- locked_(false),
- is_idle_(false) {
- BrowserList::AddObserver(this);
- BrowserList* browsers =
- BrowserList::GetInstance(chrome::GetActiveDesktop());
- for (BrowserList::const_iterator iter = browsers->begin();
- iter != browsers->end(); ++iter) {
- (*iter)->tab_strip_model()->AddObserver(this);
- }
- MediaCaptureDevicesDispatcher::GetInstance()->AddObserver(this);
-
-#if defined(USE_ASH)
- if (ash::Shell::HasInstance())
- ash::Shell::GetInstance()->AddShellObserver(this);
-#endif
-
-#if defined(OS_CHROMEOS)
- idle_detector_.reset(new chromeos::IdleDetector(
- base::Bind(&HotwordBackgroundActivityMonitor::OnIdleStateChanged,
- base::Unretained(this),
- false),
- base::Bind(&HotwordBackgroundActivityMonitor::OnIdleStateChanged,
- base::Unretained(this),
- true)));
- idle_detector_->Start(base::TimeDelta::FromMinutes(kIdleTimeoutInMin));
-#endif
-}
-
-HotwordBackgroundActivityMonitor::~HotwordBackgroundActivityMonitor() {
-#if defined(USE_ASH)
- if (ash::Shell::HasInstance())
- ash::Shell::GetInstance()->RemoveShellObserver(this);
-#endif
-
- BrowserList* browsers =
- BrowserList::GetInstance(chrome::GetActiveDesktop());
- for (BrowserList::const_iterator iter = browsers->begin();
- iter != browsers->end(); ++iter) {
- (*iter)->tab_strip_model()->RemoveObserver(this);
- }
- BrowserList::RemoveObserver(this);
-}
-
-bool HotwordBackgroundActivityMonitor::IsHotwordBackgroundActive() {
- return !is_idle_ && !locked_ && recording_renderer_ids_.empty();
-}
-
-void HotwordBackgroundActivityMonitor::OnBrowserAdded(Browser* browser) {
- browser->tab_strip_model()->AddObserver(this);
-}
-
-void HotwordBackgroundActivityMonitor::OnBrowserRemoved(Browser* browser) {
- browser->tab_strip_model()->RemoveObserver(this);
-}
-
-void HotwordBackgroundActivityMonitor::TabClosingAt(
- TabStripModel* tab_strip_model,
- content::WebContents* contents,
- int index) {
- std::set<int>::const_iterator iter =
- recording_renderer_ids_.find(contents->GetRenderProcessHost()->GetID());
- if (iter == recording_renderer_ids_.end())
- return;
- recording_renderer_ids_.erase(iter);
- NotifyActivityChange();
-}
-
-void HotwordBackgroundActivityMonitor::TabChangedAt(
- content::WebContents* contents,
- int index,
- TabStripModelObserver::TabChangeType change_type) {
- // Audio recording state change may emit TabChangedAt with ALL change_type.
- if (change_type != TabStripModelObserver::ALL)
- return;
-
- bool was_empty = recording_renderer_ids_.empty();
-
- bool recording = chrome::GetTabMediaStateForContents(contents) ==
- TAB_MEDIA_STATE_RECORDING;
- recording |= recording_contents_for_test_.find(contents) !=
- recording_contents_for_test_.end();
- if (recording) {
- recording_renderer_ids_.insert(contents->GetRenderProcessHost()->GetID());
- } else {
- recording_renderer_ids_.erase(contents->GetRenderProcessHost()->GetID());
- }
- if (was_empty != recording_renderer_ids_.empty())
- NotifyActivityChange();
-}
-
-#if defined(USE_ASH)
-void HotwordBackgroundActivityMonitor::OnLockStateChanged(bool locked) {
- if (locked_ == locked)
- return;
-
- // TODO(mukai): consider non-ash environment. Right now this feature is
- // ChromeOS only, so ash always exists.
- locked_ = locked;
- NotifyActivityChange();
-}
-#endif
-
-void HotwordBackgroundActivityMonitor::OnRequestUpdate(
- int render_process_id,
- int render_view_id,
- const content::MediaStreamDevice& device,
- const content::MediaRequestState state) {
- // Don't care the request from myself.
- if (render_process_id == delegate_->GetRenderProcessID())
- return;
-
- bool was_empty = recording_renderer_ids_.empty();
- if (state == content::MEDIA_REQUEST_STATE_REQUESTED ||
- state == content::MEDIA_REQUEST_STATE_PENDING_APPROVAL ||
- state == content::MEDIA_REQUEST_STATE_OPENING ||
- state == content::MEDIA_REQUEST_STATE_DONE) {
- recording_renderer_ids_.insert(render_process_id);
- } else {
- recording_renderer_ids_.erase(render_process_id);
- }
- if (was_empty != recording_renderer_ids_.empty())
- NotifyActivityChange();
-}
-
-void HotwordBackgroundActivityMonitor::OnIdleStateChanged(bool is_idle) {
- if (is_idle_ == is_idle)
- return;
-
- is_idle_ = is_idle;
- NotifyActivityChange();
-}
-
-void HotwordBackgroundActivityMonitor::NotifyActivityChange() {
- delegate_->OnHotwordBackgroundActivityChanged();
-}
-
-void HotwordBackgroundActivityMonitor::AddWebContentsToWhitelistForTest(
- content::WebContents* contents) {
- recording_contents_for_test_.insert(contents);
-}
-
-void HotwordBackgroundActivityMonitor::RemoveWebContentsFromWhitelistForTest(
- content::WebContents* contents) {
- recording_contents_for_test_.erase(contents);
-}
-
-} // namespace app_list

Powered by Google App Engine
This is Rietveld 408576698