Commit ee70c140 authored by evliu's avatar evliu Committed by Commit Bot

[Media History] Enable media history feature behind a flag

Bug: 997813
Change-Id: I1cc6104341d131e3688c6167c430a14cb57f3337
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1903761
Commit-Queue: Evan Liu <evliu@google.com>
Reviewed-by: default avatarDavid Roger <droger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#713988}
parent ffb1e896
# TEAM: media-dev@chromium.org
# COMPONENT: Internals>Media>History
evliu@google.org
evliu@google.com
beccahughes@chromium.org
steimel@chromium.org
......@@ -9,19 +9,23 @@
MediaHistoryContentsObserver::MediaHistoryContentsObserver(
content::WebContents* web_contents)
: content::WebContentsObserver(web_contents) {
: content::WebContentsObserver(web_contents), service_(nullptr) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
service_ = media_history::MediaHistoryKeyedServiceFactory::GetForProfile(
Profile::FromBrowserContext(web_contents->GetBrowserContext()));
DCHECK(service_);
Profile* profile =
Profile::FromBrowserContext(web_contents->GetBrowserContext());
if (!profile->IsOffTheRecord()) {
service_ =
media_history::MediaHistoryKeyedServiceFactory::GetForProfile(profile);
DCHECK(service_);
}
}
MediaHistoryContentsObserver::~MediaHistoryContentsObserver() = default;
void MediaHistoryContentsObserver::MediaWatchTimeChanged(
const content::MediaPlayerWatchTime& watch_time) {
service_->GetMediaHistoryStore()->SavePlayback(watch_time);
if (service_)
service_->GetMediaHistoryStore()->SavePlayback(watch_time);
}
WEB_CONTENTS_USER_DATA_KEY_IMPL(MediaHistoryContentsObserver)
......@@ -37,6 +37,7 @@
#include "chrome/browser/invalidation/deprecated_profile_invalidation_provider_factory.h"
#include "chrome/browser/language/language_model_manager_factory.h"
#include "chrome/browser/language/url_language_histogram_factory.h"
#include "chrome/browser/media/history/media_history_keyed_service_factory.h"
#include "chrome/browser/media/media_engagement_service.h"
#include "chrome/browser/media/media_engagement_service_factory.h"
#include "chrome/browser/media/router/media_router_factory.h"
......@@ -88,6 +89,7 @@
#include "components/safe_browsing/buildflags.h"
#include "components/spellcheck/spellcheck_buildflags.h"
#include "extensions/buildflags/buildflags.h"
#include "media/base/media_switches.h"
#include "ppapi/buildflags/buildflags.h"
#include "printing/buildflags/buildflags.h"
......@@ -294,6 +296,8 @@ void ChromeBrowserMainExtraPartsProfiles::
#if !defined(OS_ANDROID)
MediaGalleriesPreferencesFactory::GetInstance();
#endif
if (base::FeatureList::IsEnabled(media::kUseMediaHistoryStore))
media_history::MediaHistoryKeyedServiceFactory::GetInstance();
#if defined(OS_WIN) || defined(OS_MACOSX) || \
(defined(OS_LINUX) && !defined(OS_CHROMEOS))
metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance();
......
......@@ -28,6 +28,7 @@
#include "chrome/browser/history/top_sites_factory.h"
#include "chrome/browser/infobars/infobar_service.h"
#include "chrome/browser/installable/installable_manager.h"
#include "chrome/browser/media/history/media_history_contents_observer.h"
#include "chrome/browser/media/media_engagement_service.h"
#include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_observer.h"
#include "chrome/browser/metrics/oom/out_of_memory_reporter.h"
......@@ -99,6 +100,7 @@
#include "components/ukm/content/source_url_recorder.h"
#include "content/public/browser/web_contents.h"
#include "extensions/buildflags/buildflags.h"
#include "media/base/media_switches.h"
#include "printing/buildflags/buildflags.h"
#if defined(OS_ANDROID)
......@@ -380,6 +382,9 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
if (MediaEngagementService::IsEnabled())
MediaEngagementService::CreateWebContentsObserver(web_contents);
if (base::FeatureList::IsEnabled(media::kUseMediaHistoryStore))
MediaHistoryContentsObserver::CreateForWebContents(web_contents);
if (performance_manager::PerformanceManager::IsAvailable()) {
performance_manager::PerformanceManagerTabHelper::CreateForWebContents(
web_contents);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment