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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeTabInfo.java

Issue 2878543003: Hook up Reader Mode InfoBar (Closed)
Patch Set: add new read-time metric and clean up some state Created 3 years, 7 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
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.dom_distiller; 5 package org.chromium.chrome.browser.dom_distiller;
6 6
7 import org.chromium.content_public.browser.WebContentsObserver; 7 import org.chromium.content_public.browser.WebContentsObserver;
8 8
9 /** 9 /**
10 * This class tracks the per-tab state of reader mode. 10 * This class tracks the per-tab state of reader mode.
(...skipping 12 matching lines...) Expand all
23 // back from distiller and the user has already loaded a new URL. 23 // back from distiller and the user has already loaded a new URL.
24 private String mCurrentUrl; 24 private String mCurrentUrl;
25 25
26 // The distillability heuristics now use a callback to notify the manager th at a page can 26 // The distillability heuristics now use a callback to notify the manager th at a page can
27 // be distilled. This flag is used to detect if the callback is set for this tab. 27 // be distilled. This flag is used to detect if the callback is set for this tab.
28 private boolean mIsCallbackSet; 28 private boolean mIsCallbackSet;
29 29
30 // Used to flag the the panel was shown and recorded by UMA. 30 // Used to flag the the panel was shown and recorded by UMA.
31 private boolean mShowPanelRecorded; 31 private boolean mShowPanelRecorded;
32 32
33 // The time that the user started viewing Reader Mode content.
34 private long mViewStartTimeMs;
35
36 // Whether or not the current tab is a Reader Mode page.
37 private boolean mIsViewingReaderModePage;
38
33 /** 39 /**
34 * @param observer The WebContentsObserver for the tab this object represent s. 40 * @param observer The WebContentsObserver for the tab this object represent s.
35 */ 41 */
36 public void setWebContentsObserver(WebContentsObserver observer) { 42 public void setWebContentsObserver(WebContentsObserver observer) {
37 mWebContentsObserver = observer; 43 mWebContentsObserver = observer;
38 } 44 }
39 45
40 /** 46 /**
41 * @return The WebContentsObserver for the tab this object represents. 47 * @return The WebContentsObserver for the tab this object represents.
42 */ 48 */
43 public WebContentsObserver getWebContentsObserver() { 49 public WebContentsObserver getWebContentsObserver() {
44 return mWebContentsObserver; 50 return mWebContentsObserver;
45 } 51 }
46 52
47 /** 53 /**
54 * A notification that the user started viewing Reader Mode.
55 */
56 public void onStartedReaderMode() {
57 mIsViewingReaderModePage = true;
58 mViewStartTimeMs = System.currentTimeMillis();
wychen 2017/05/17 07:24:12 Monotonic time like elapsedRealtime() should be be
mdjones 2017/05/17 16:52:14 Done.
59 }
60
61 /**
62 * A notification that the user is no longer viewing Reader Mode. This could be because of a
63 * navigation away from the page, switching tabs, or closing the browser.
64 * @return The amount of time in ms that the user spent viewing Reader Mode.
65 */
66 public long onExitReaderMode() {
67 mIsViewingReaderModePage = false;
68 return System.currentTimeMillis() - mViewStartTimeMs;
69 }
70
71 /**
72 * @return Whether or not the user is on a Reader Mode page.
73 */
74 public boolean isViewingReaderModePage() {
75 return mIsViewingReaderModePage;
76 }
77
78 /**
48 * @param status The status of reader mode for this object's tab. 79 * @param status The status of reader mode for this object's tab.
49 */ 80 */
50 public void setStatus(int status) { 81 public void setStatus(int status) {
51 mStatus = status; 82 mStatus = status;
52 } 83 }
53 84
54 /** 85 /**
55 * @return The reader mode status for this object's tab. 86 * @return The reader mode status for this object's tab.
56 */ 87 */
57 public int getStatus() { 88 public int getStatus() {
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 140
110 /** 141 /**
111 * @param isRecorded True if the action has been recorded. 142 * @param isRecorded True if the action has been recorded.
112 */ 143 */
113 public void setIsPanelShowRecorded(boolean isRecorded) { 144 public void setIsPanelShowRecorded(boolean isRecorded) {
114 mShowPanelRecorded = isRecorded; 145 mShowPanelRecorded = isRecorded;
115 } 146 }
116 147
117 } 148 }
118 149
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698