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

Side by Side Diff: chrome/browser/metrics/desktop_engagement/desktop_engagement_observer.cc

Issue 2333113002: Rename DesktopEngagement* to DesktopSessionDuration*. (Closed)
Patch Set: Change name Created 4 years, 3 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/metrics/desktop_engagement/desktop_engagement_observer. h"
6
7 #include "chrome/browser/metrics/desktop_engagement/desktop_engagement_service.h "
8 #include "content/public/browser/render_view_host.h"
9
10 DEFINE_WEB_CONTENTS_USER_DATA_KEY(metrics::DesktopEngagementObserver);
11
12 namespace metrics {
13
14 DesktopEngagementObserver::DesktopEngagementObserver(
15 content::WebContents* web_contents,
16 DesktopEngagementService* service)
17 : content::WebContentsObserver(web_contents), service_(service) {
18 RegisterInputEventObserver(web_contents->GetRenderViewHost());
19 }
20
21 DesktopEngagementObserver::~DesktopEngagementObserver() {}
22
23 // static
24 DesktopEngagementObserver* DesktopEngagementObserver::CreateForWebContents(
25 content::WebContents* web_contents) {
26 DCHECK(web_contents);
27
28 if (!DesktopEngagementService::IsInitialized())
29 return nullptr;
30
31 DesktopEngagementObserver* observer = FromWebContents(web_contents);
32 if (!observer) {
33 observer = new DesktopEngagementObserver(web_contents,
34 DesktopEngagementService::Get());
35 web_contents->SetUserData(UserDataKey(), observer);
36 }
37 return observer;
38 }
39
40 void DesktopEngagementObserver::RegisterInputEventObserver(
41 content::RenderViewHost* host) {
42 if (host != nullptr)
43 host->GetWidget()->AddInputEventObserver(this);
44 }
45
46 void DesktopEngagementObserver::UnregisterInputEventObserver(
47 content::RenderViewHost* host) {
48 if (host != nullptr)
49 host->GetWidget()->RemoveInputEventObserver(this);
50 }
51
52 void DesktopEngagementObserver::OnInputEvent(
53 const blink::WebInputEvent& event) {
54 service_->OnUserEvent();
55 }
56
57 void DesktopEngagementObserver::RenderViewHostChanged(
58 content::RenderViewHost* old_host,
59 content::RenderViewHost* new_host) {
60 UnregisterInputEventObserver(old_host);
61 RegisterInputEventObserver(new_host);
62 }
63
64 } // namespace metrics
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698