Commit 2b7fffb1 authored by Collin Baker's avatar Collin Baker Committed by Commit Bot

Rename ReopenTabIPH to ReopenTabInProductHelp

This is to reflect a change in the design doc.

Bug: 887991
Change-Id: I8dbc058549ffd6bc9fbaf9d0d20d0d8d6ce30158
Reviewed-on: https://chromium-review.googlesource.com/c/1283938Reviewed-by: default avatarPeter Boström <pbos@chromium.org>
Commit-Queue: Collin Baker <collinbaker@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600114}
parent ca8eefb7
...@@ -3334,8 +3334,8 @@ jumbo_split_static_library("ui") { ...@@ -3334,8 +3334,8 @@ jumbo_split_static_library("ui") {
sources += [ sources += [
"in_product_help/active_tab_tracker.cc", "in_product_help/active_tab_tracker.cc",
"in_product_help/active_tab_tracker.h", "in_product_help/active_tab_tracker.h",
"in_product_help/reopen_tab_iph_trigger.cc", "in_product_help/reopen_tab_in_product_help_trigger.cc",
"in_product_help/reopen_tab_iph_trigger.h", "in_product_help/reopen_tab_in_product_help_trigger.h",
] ]
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "chrome/browser/ui/in_product_help/reopen_tab_iph_trigger.h" #include "chrome/browser/ui/in_product_help/reopen_tab_in_product_help_trigger.h"
#include <utility> #include <utility>
...@@ -13,17 +13,18 @@ ...@@ -13,17 +13,18 @@
namespace in_product_help { namespace in_product_help {
// static // static
const base::TimeDelta ReopenTabIPHTrigger::kTabMinimumActiveDuration = const base::TimeDelta ReopenTabInProductHelpTrigger::kTabMinimumActiveDuration =
base::TimeDelta::FromSeconds(10); base::TimeDelta::FromSeconds(10);
// static // static
const base::TimeDelta ReopenTabIPHTrigger::kNewTabOpenedTimeout = const base::TimeDelta ReopenTabInProductHelpTrigger::kNewTabOpenedTimeout =
base::TimeDelta::FromSeconds(10); base::TimeDelta::FromSeconds(10);
// static // static
const base::TimeDelta ReopenTabIPHTrigger::kOmniboxFocusedTimeout = const base::TimeDelta ReopenTabInProductHelpTrigger::kOmniboxFocusedTimeout =
base::TimeDelta::FromSeconds(10); base::TimeDelta::FromSeconds(10);
ReopenTabIPHTrigger::ReopenTabIPHTrigger(feature_engagement::Tracker* tracker, ReopenTabInProductHelpTrigger::ReopenTabInProductHelpTrigger(
const base::TickClock* clock) feature_engagement::Tracker* tracker,
const base::TickClock* clock)
: tracker_(tracker), clock_(clock), trigger_state_(NO_ACTIONS_SEEN) { : tracker_(tracker), clock_(clock), trigger_state_(NO_ACTIONS_SEEN) {
DCHECK(tracker); DCHECK(tracker);
DCHECK(clock); DCHECK(clock);
...@@ -33,14 +34,16 @@ ReopenTabIPHTrigger::ReopenTabIPHTrigger(feature_engagement::Tracker* tracker, ...@@ -33,14 +34,16 @@ ReopenTabIPHTrigger::ReopenTabIPHTrigger(feature_engagement::Tracker* tracker,
DCHECK(!kOmniboxFocusedTimeout.is_zero()); DCHECK(!kOmniboxFocusedTimeout.is_zero());
} }
ReopenTabIPHTrigger::~ReopenTabIPHTrigger() = default; ReopenTabInProductHelpTrigger::~ReopenTabInProductHelpTrigger() = default;
void ReopenTabIPHTrigger::SetShowHelpCallback(ShowHelpCallback callback) { void ReopenTabInProductHelpTrigger::SetShowHelpCallback(
ShowHelpCallback callback) {
DCHECK(callback); DCHECK(callback);
cb_ = std::move(callback); cb_ = std::move(callback);
} }
void ReopenTabIPHTrigger::ActiveTabClosed(base::TimeTicks activation_time) { void ReopenTabInProductHelpTrigger::ActiveTabClosed(
base::TimeTicks activation_time) {
// Reset all flags at this point. We should only trigger IPH if the events // Reset all flags at this point. We should only trigger IPH if the events
// happen in the prescribed order. // happen in the prescribed order.
ResetTriggerState(); ResetTriggerState();
...@@ -53,7 +56,7 @@ void ReopenTabIPHTrigger::ActiveTabClosed(base::TimeTicks activation_time) { ...@@ -53,7 +56,7 @@ void ReopenTabIPHTrigger::ActiveTabClosed(base::TimeTicks activation_time) {
} }
} }
void ReopenTabIPHTrigger::NewTabOpened() { void ReopenTabInProductHelpTrigger::NewTabOpened() {
if (trigger_state_ != ACTIVE_TAB_CLOSED) if (trigger_state_ != ACTIVE_TAB_CLOSED)
return; return;
...@@ -67,7 +70,7 @@ void ReopenTabIPHTrigger::NewTabOpened() { ...@@ -67,7 +70,7 @@ void ReopenTabIPHTrigger::NewTabOpened() {
} }
} }
void ReopenTabIPHTrigger::OmniboxFocused() { void ReopenTabInProductHelpTrigger::OmniboxFocused() {
if (trigger_state_ != NEW_TAB_OPENED) if (trigger_state_ != NEW_TAB_OPENED)
return; return;
...@@ -83,12 +86,12 @@ void ReopenTabIPHTrigger::OmniboxFocused() { ...@@ -83,12 +86,12 @@ void ReopenTabIPHTrigger::OmniboxFocused() {
} }
} }
void ReopenTabIPHTrigger::HelpDismissed() { void ReopenTabInProductHelpTrigger::HelpDismissed() {
tracker_->Dismissed(feature_engagement::kIPHReopenTabFeature); tracker_->Dismissed(feature_engagement::kIPHReopenTabFeature);
ResetTriggerState(); ResetTriggerState();
} }
void ReopenTabIPHTrigger::ResetTriggerState() { void ReopenTabInProductHelpTrigger::ResetTriggerState() {
time_of_last_step_ = base::TimeTicks(); time_of_last_step_ = base::TimeTicks();
trigger_state_ = NO_ACTIONS_SEEN; trigger_state_ = NO_ACTIONS_SEEN;
} }
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_IN_PRODUCT_HELP_REOPEN_TAB_IPH_TRIGGER_H_ #ifndef CHROME_BROWSER_UI_IN_PRODUCT_HELP_REOPEN_TAB_IN_PRODUCT_HELP_TRIGGER_H_
#define CHROME_BROWSER_UI_IN_PRODUCT_HELP_REOPEN_TAB_IPH_TRIGGER_H_ #define CHROME_BROWSER_UI_IN_PRODUCT_HELP_REOPEN_TAB_IN_PRODUCT_HELP_TRIGGER_H_
#include "base/callback.h" #include "base/callback.h"
#include "base/time/tick_clock.h" #include "base/time/tick_clock.h"
...@@ -22,11 +22,11 @@ namespace in_product_help { ...@@ -22,11 +22,11 @@ namespace in_product_help {
// //
// Clients should listen for the relevant user events and pass them to this // Clients should listen for the relevant user events and pass them to this
// class. Additionally, clients must display IPH when told by this class. // class. Additionally, clients must display IPH when told by this class.
class ReopenTabIPHTrigger { class ReopenTabInProductHelpTrigger {
public: public:
ReopenTabIPHTrigger(feature_engagement::Tracker* tracker, ReopenTabInProductHelpTrigger(feature_engagement::Tracker* tracker,
const base::TickClock* clock); const base::TickClock* clock);
~ReopenTabIPHTrigger(); ~ReopenTabInProductHelpTrigger();
using ShowHelpCallback = base::RepeatingCallback<void()>; using ShowHelpCallback = base::RepeatingCallback<void()>;
...@@ -74,9 +74,9 @@ class ReopenTabIPHTrigger { ...@@ -74,9 +74,9 @@ class ReopenTabIPHTrigger {
base::TimeTicks time_of_last_step_; base::TimeTicks time_of_last_step_;
DISALLOW_COPY_AND_ASSIGN(ReopenTabIPHTrigger); DISALLOW_COPY_AND_ASSIGN(ReopenTabInProductHelpTrigger);
}; };
} // namespace in_product_help } // namespace in_product_help
#endif // CHROME_BROWSER_UI_IN_PRODUCT_HELP_REOPEN_TAB_IPH_TRIGGER_H_ #endif // CHROME_BROWSER_UI_IN_PRODUCT_HELP_REOPEN_TAB_IN_PRODUCT_HELP_TRIGGER_H_
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "chrome/browser/ui/in_product_help/reopen_tab_iph_trigger.h" #include "chrome/browser/ui/in_product_help/reopen_tab_in_product_help_trigger.h"
#include "base/bind.h" #include "base/bind.h"
#include "base/test/simple_test_tick_clock.h" #include "base/test/simple_test_tick_clock.h"
...@@ -22,18 +22,19 @@ namespace in_product_help { ...@@ -22,18 +22,19 @@ namespace in_product_help {
namespace { namespace {
void DismissImmediately(ReopenTabIPHTrigger* trigger) { void DismissImmediately(ReopenTabInProductHelpTrigger* trigger) {
trigger->HelpDismissed(); trigger->HelpDismissed();
} }
void DismissAndSetFlag(ReopenTabIPHTrigger* trigger, bool* triggered) { void DismissAndSetFlag(ReopenTabInProductHelpTrigger* trigger,
bool* triggered) {
*triggered = true; *triggered = true;
trigger->HelpDismissed(); trigger->HelpDismissed();
} }
} // namespace } // namespace
TEST(ReopenTabIPHTriggerTest, TriggersIPH) { TEST(ReopenTabInProductHelpTriggerTest, TriggersIPH) {
NiceMock<MockTracker> mock_tracker; NiceMock<MockTracker> mock_tracker;
// We expect to send the backend our trigger event and ask if we should // We expect to send the backend our trigger event and ask if we should
...@@ -50,19 +51,19 @@ TEST(ReopenTabIPHTriggerTest, TriggersIPH) { ...@@ -50,19 +51,19 @@ TEST(ReopenTabIPHTriggerTest, TriggersIPH) {
// Instantiate IPH and send sequence of user interactions. // Instantiate IPH and send sequence of user interactions.
base::SimpleTestTickClock clock; base::SimpleTestTickClock clock;
ReopenTabIPHTrigger reopen_tab_iph(&mock_tracker, &clock); ReopenTabInProductHelpTrigger reopen_tab_iph(&mock_tracker, &clock);
reopen_tab_iph.SetShowHelpCallback( reopen_tab_iph.SetShowHelpCallback(
base::BindRepeating(DismissImmediately, &reopen_tab_iph)); base::BindRepeating(DismissImmediately, &reopen_tab_iph));
auto activation_time = clock.NowTicks(); auto activation_time = clock.NowTicks();
clock.Advance(ReopenTabIPHTrigger::kTabMinimumActiveDuration); clock.Advance(ReopenTabInProductHelpTrigger::kTabMinimumActiveDuration);
reopen_tab_iph.ActiveTabClosed(activation_time); reopen_tab_iph.ActiveTabClosed(activation_time);
reopen_tab_iph.NewTabOpened(); reopen_tab_iph.NewTabOpened();
reopen_tab_iph.OmniboxFocused(); reopen_tab_iph.OmniboxFocused();
} }
TEST(ReopenTabIPHTriggerTest, RespectsBackendShouldTrigger) { TEST(ReopenTabInProductHelpTriggerTest, RespectsBackendShouldTrigger) {
NiceMock<MockTracker> mock_tracker; NiceMock<MockTracker> mock_tracker;
EXPECT_CALL(mock_tracker, ShouldTriggerHelpUI(_)) EXPECT_CALL(mock_tracker, ShouldTriggerHelpUI(_))
...@@ -71,62 +72,62 @@ TEST(ReopenTabIPHTriggerTest, RespectsBackendShouldTrigger) { ...@@ -71,62 +72,62 @@ TEST(ReopenTabIPHTriggerTest, RespectsBackendShouldTrigger) {
EXPECT_CALL(mock_tracker, Dismissed(_)).Times(0); EXPECT_CALL(mock_tracker, Dismissed(_)).Times(0);
base::SimpleTestTickClock clock; base::SimpleTestTickClock clock;
ReopenTabIPHTrigger reopen_tab_iph(&mock_tracker, &clock); ReopenTabInProductHelpTrigger reopen_tab_iph(&mock_tracker, &clock);
reopen_tab_iph.SetShowHelpCallback( reopen_tab_iph.SetShowHelpCallback(
base::BindRepeating(DismissImmediately, &reopen_tab_iph)); base::BindRepeating(DismissImmediately, &reopen_tab_iph));
auto activation_time = clock.NowTicks(); auto activation_time = clock.NowTicks();
clock.Advance(ReopenTabIPHTrigger::kTabMinimumActiveDuration); clock.Advance(ReopenTabInProductHelpTrigger::kTabMinimumActiveDuration);
reopen_tab_iph.ActiveTabClosed(activation_time); reopen_tab_iph.ActiveTabClosed(activation_time);
reopen_tab_iph.NewTabOpened(); reopen_tab_iph.NewTabOpened();
reopen_tab_iph.OmniboxFocused(); reopen_tab_iph.OmniboxFocused();
} }
TEST(ReopenTabIPHTriggerTest, TabNotActiveLongEnough) { TEST(ReopenTabInProductHelpTriggerTest, TabNotActiveLongEnough) {
NiceMock<MockTracker> mock_tracker; NiceMock<MockTracker> mock_tracker;
EXPECT_CALL(mock_tracker, NotifyEvent(_)).Times(0); EXPECT_CALL(mock_tracker, NotifyEvent(_)).Times(0);
EXPECT_CALL(mock_tracker, ShouldTriggerHelpUI(_)).Times(0); EXPECT_CALL(mock_tracker, ShouldTriggerHelpUI(_)).Times(0);
base::SimpleTestTickClock clock; base::SimpleTestTickClock clock;
ReopenTabIPHTrigger reopen_tab_iph(&mock_tracker, &clock); ReopenTabInProductHelpTrigger reopen_tab_iph(&mock_tracker, &clock);
auto activation_time = clock.NowTicks(); auto activation_time = clock.NowTicks();
clock.Advance(ReopenTabIPHTrigger::kTabMinimumActiveDuration / 2); clock.Advance(ReopenTabInProductHelpTrigger::kTabMinimumActiveDuration / 2);
reopen_tab_iph.ActiveTabClosed(activation_time); reopen_tab_iph.ActiveTabClosed(activation_time);
reopen_tab_iph.NewTabOpened(); reopen_tab_iph.NewTabOpened();
reopen_tab_iph.OmniboxFocused(); reopen_tab_iph.OmniboxFocused();
} }
TEST(ReopenTabIPHTriggerTest, RespectsTimeouts) { TEST(ReopenTabInProductHelpTriggerTest, RespectsTimeouts) {
NiceMock<MockTracker> mock_tracker; NiceMock<MockTracker> mock_tracker;
EXPECT_CALL(mock_tracker, NotifyEvent(_)).Times(0); EXPECT_CALL(mock_tracker, NotifyEvent(_)).Times(0);
EXPECT_CALL(mock_tracker, ShouldTriggerHelpUI(_)).Times(0); EXPECT_CALL(mock_tracker, ShouldTriggerHelpUI(_)).Times(0);
base::SimpleTestTickClock clock; base::SimpleTestTickClock clock;
ReopenTabIPHTrigger reopen_tab_iph(&mock_tracker, &clock); ReopenTabInProductHelpTrigger reopen_tab_iph(&mock_tracker, &clock);
reopen_tab_iph.SetShowHelpCallback( reopen_tab_iph.SetShowHelpCallback(
base::BindRepeating(DismissImmediately, &reopen_tab_iph)); base::BindRepeating(DismissImmediately, &reopen_tab_iph));
auto activation_time = clock.NowTicks(); auto activation_time = clock.NowTicks();
clock.Advance(ReopenTabIPHTrigger::kTabMinimumActiveDuration); clock.Advance(ReopenTabInProductHelpTrigger::kTabMinimumActiveDuration);
reopen_tab_iph.ActiveTabClosed(activation_time); reopen_tab_iph.ActiveTabClosed(activation_time);
clock.Advance(ReopenTabIPHTrigger::kNewTabOpenedTimeout); clock.Advance(ReopenTabInProductHelpTrigger::kNewTabOpenedTimeout);
reopen_tab_iph.NewTabOpened(); reopen_tab_iph.NewTabOpened();
reopen_tab_iph.OmniboxFocused(); reopen_tab_iph.OmniboxFocused();
activation_time = clock.NowTicks(); activation_time = clock.NowTicks();
clock.Advance(ReopenTabIPHTrigger::kTabMinimumActiveDuration); clock.Advance(ReopenTabInProductHelpTrigger::kTabMinimumActiveDuration);
reopen_tab_iph.ActiveTabClosed(activation_time); reopen_tab_iph.ActiveTabClosed(activation_time);
reopen_tab_iph.NewTabOpened(); reopen_tab_iph.NewTabOpened();
clock.Advance(ReopenTabIPHTrigger::kOmniboxFocusedTimeout); clock.Advance(ReopenTabInProductHelpTrigger::kOmniboxFocusedTimeout);
reopen_tab_iph.OmniboxFocused(); reopen_tab_iph.OmniboxFocused();
} }
TEST(ReopenTabIPHTriggerTest, TriggersTwice) { TEST(ReopenTabInProductHelpTriggerTest, TriggersTwice) {
NiceMock<MockTracker> mock_tracker; NiceMock<MockTracker> mock_tracker;
EXPECT_CALL( EXPECT_CALL(
...@@ -139,14 +140,14 @@ TEST(ReopenTabIPHTriggerTest, TriggersTwice) { ...@@ -139,14 +140,14 @@ TEST(ReopenTabIPHTriggerTest, TriggersTwice) {
EXPECT_CALL(mock_tracker, Dismissed(_)).Times(2); EXPECT_CALL(mock_tracker, Dismissed(_)).Times(2);
base::SimpleTestTickClock clock; base::SimpleTestTickClock clock;
ReopenTabIPHTrigger reopen_tab_iph(&mock_tracker, &clock); ReopenTabInProductHelpTrigger reopen_tab_iph(&mock_tracker, &clock);
bool triggered = false; bool triggered = false;
reopen_tab_iph.SetShowHelpCallback( reopen_tab_iph.SetShowHelpCallback(
base::BindRepeating(DismissAndSetFlag, &reopen_tab_iph, &triggered)); base::BindRepeating(DismissAndSetFlag, &reopen_tab_iph, &triggered));
auto activation_time = clock.NowTicks(); auto activation_time = clock.NowTicks();
clock.Advance(ReopenTabIPHTrigger::kTabMinimumActiveDuration); clock.Advance(ReopenTabInProductHelpTrigger::kTabMinimumActiveDuration);
reopen_tab_iph.ActiveTabClosed(activation_time); reopen_tab_iph.ActiveTabClosed(activation_time);
reopen_tab_iph.NewTabOpened(); reopen_tab_iph.NewTabOpened();
reopen_tab_iph.OmniboxFocused(); reopen_tab_iph.OmniboxFocused();
...@@ -154,7 +155,7 @@ TEST(ReopenTabIPHTriggerTest, TriggersTwice) { ...@@ -154,7 +155,7 @@ TEST(ReopenTabIPHTriggerTest, TriggersTwice) {
EXPECT_TRUE(triggered); EXPECT_TRUE(triggered);
triggered = false; triggered = false;
clock.Advance(ReopenTabIPHTrigger::kTabMinimumActiveDuration); clock.Advance(ReopenTabInProductHelpTrigger::kTabMinimumActiveDuration);
reopen_tab_iph.ActiveTabClosed(activation_time); reopen_tab_iph.ActiveTabClosed(activation_time);
reopen_tab_iph.NewTabOpened(); reopen_tab_iph.NewTabOpened();
reopen_tab_iph.OmniboxFocused(); reopen_tab_iph.OmniboxFocused();
......
...@@ -3381,7 +3381,7 @@ test("unit_tests") { ...@@ -3381,7 +3381,7 @@ test("unit_tests") {
"../browser/feature_engagement/new_tab/new_tab_tracker_unittest.cc", "../browser/feature_engagement/new_tab/new_tab_tracker_unittest.cc",
"../browser/feature_engagement/session_duration_updater_unittest.cc", "../browser/feature_engagement/session_duration_updater_unittest.cc",
"../browser/ui/in_product_help/active_tab_tracker_unittest.cc", "../browser/ui/in_product_help/active_tab_tracker_unittest.cc",
"../browser/ui/in_product_help/reopen_tab_iph_trigger_unittest.cc", "../browser/ui/in_product_help/reopen_tab_in_product_help_trigger_unittest.cc",
] ]
deps += [ "//components/feature_engagement/test:test_support" ] deps += [ "//components/feature_engagement/test:test_support" ]
} }
......
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