Commit 0f552288 authored by Robert Ogden's avatar Robert Ogden Committed by Commit Bot

Move InformPLMOfOptOut from InfoBar Delegate to UI Tab Helper

This way it can also be used by the new Previews UI

Bug: 871839
Change-Id: Iecba63729da87fc6f30cc0f0cceaebf85adc4729
Reviewed-on: https://chromium-review.googlesource.com/c/1265062
Commit-Queue: Robert Ogden <robertogden@chromium.org>
Reviewed-by: default avatarRyan Sturm <ryansturm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597198}
parent 6e38094a
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#include "chrome/browser/page_load_metrics/observers/histogram_suffixes.h" #include "chrome/browser/page_load_metrics/observers/histogram_suffixes.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_observer.h" #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_util.h" #include "chrome/browser/page_load_metrics/page_load_metrics_util.h"
#include "chrome/browser/previews/previews_infobar_delegate.h" #include "chrome/browser/previews/previews_ui_tab_helper.h"
#include "chrome/common/page_load_metrics/page_load_timing.h" #include "chrome/common/page_load_metrics/page_load_timing.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h" #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_pingback_client.h" #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_pingback_client.h"
...@@ -558,7 +558,7 @@ DataReductionProxyMetricsObserver::GetPingbackClient() const { ...@@ -558,7 +558,7 @@ DataReductionProxyMetricsObserver::GetPingbackClient() const {
void DataReductionProxyMetricsObserver::OnEventOccurred( void DataReductionProxyMetricsObserver::OnEventOccurred(
const void* const event_key) { const void* const event_key) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
if (event_key == PreviewsInfoBarDelegate::OptOutEventKey()) if (event_key == PreviewsUITabHelper::OptOutEventKey())
opted_out_ = true; opted_out_ = true;
} }
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h" #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_observer.h" #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/page_load_tracker.h" #include "chrome/browser/page_load_metrics/page_load_tracker.h"
#include "chrome/browser/previews/previews_infobar_delegate.h" #include "chrome/browser/previews/previews_ui_tab_helper.h"
#include "chrome/common/page_load_metrics/page_load_timing.h" #include "chrome/common/page_load_metrics/page_load_timing.h"
#include "chrome/common/page_load_metrics/test/page_load_metrics_test_util.h" #include "chrome/common/page_load_metrics/test/page_load_metrics_test_util.h"
#include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_browser_process.h"
...@@ -515,8 +515,7 @@ TEST_F(DataReductionProxyMetricsObserverTest, OnCompletePingback) { ...@@ -515,8 +515,7 @@ TEST_F(DataReductionProxyMetricsObserverTest, OnCompletePingback) {
// Verify that when an opt out occurs, that it is reported in the pingback. // Verify that when an opt out occurs, that it is reported in the pingback.
timing_.document_timing->load_event_start = base::nullopt; timing_.document_timing->load_event_start = base::nullopt;
RunTest(true, true, true, false); RunTest(true, true, true, false);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateTimes(); ValidateTimes();
ValidateLoFiInPingback(false); ValidateLoFiInPingback(false);
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_factory.h" #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_factory.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_observer.h" #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_util.h" #include "chrome/browser/page_load_metrics/page_load_metrics_util.h"
#include "chrome/browser/previews/previews_infobar_delegate.h" #include "chrome/browser/previews/previews_ui_tab_helper.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/common/page_load_metrics/page_load_timing.h" #include "chrome/common/page_load_metrics/page_load_timing.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h" #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h"
...@@ -156,7 +156,7 @@ void PreviewsUKMObserver::OnLoadedResource( ...@@ -156,7 +156,7 @@ void PreviewsUKMObserver::OnLoadedResource(
void PreviewsUKMObserver::OnEventOccurred(const void* const event_key) { void PreviewsUKMObserver::OnEventOccurred(const void* const event_key) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
if (event_key == PreviewsInfoBarDelegate::OptOutEventKey()) if (event_key == PreviewsUITabHelper::OptOutEventKey())
opt_out_occurred_ = true; opt_out_occurred_ = true;
} }
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h" #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_observer.h" #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/page_load_tracker.h" #include "chrome/browser/page_load_metrics/page_load_tracker.h"
#include "chrome/browser/previews/previews_infobar_delegate.h" #include "chrome/browser/previews/previews_ui_tab_helper.h"
#include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_browser_process.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h" #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h"
#include "components/previews/core/previews_features.h" #include "components/previews/core/previews_features.h"
...@@ -243,8 +243,7 @@ TEST_F(PreviewsUKMObserverTest, UntrackedPreviewTypeOptOut) { ...@@ -243,8 +243,7 @@ TEST_F(PreviewsUKMObserverTest, UntrackedPreviewTypeOptOut) {
RunTest(false /* data_reduction_proxy_used */, false /* lite_page_received */, RunTest(false /* data_reduction_proxy_used */, false /* lite_page_received */,
false /* noscript_on */, false /* resource_loading_hints_on */, false /* noscript_on */, false /* resource_loading_hints_on */,
false /* origin_opt_out */, false /* save_data_enabled */); false /* origin_opt_out */, false /* save_data_enabled */);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
// Opt out should not be added since we don't track this type. // Opt out should not be added since we don't track this type.
...@@ -271,7 +270,7 @@ TEST_F(PreviewsUKMObserverTest, LitePageSeen) { ...@@ -271,7 +270,7 @@ TEST_F(PreviewsUKMObserverTest, LitePageSeen) {
false /* save_data_enabled_expected */); false /* save_data_enabled_expected */);
} }
TEST_F(PreviewsUKMObserverTest, LitePageOptOutInfobar) { TEST_F(PreviewsUKMObserverTest, LitePageOptOut) {
base::test::ScopedFeatureList scoped_feature_list; base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitWithFeatures( scoped_feature_list.InitWithFeatures(
{} /* enabled features */, {} /* enabled features */,
...@@ -282,8 +281,7 @@ TEST_F(PreviewsUKMObserverTest, LitePageOptOutInfobar) { ...@@ -282,8 +281,7 @@ TEST_F(PreviewsUKMObserverTest, LitePageOptOutInfobar) {
false /* noscript_on */, false /* resource_loading_hints_on */, false /* noscript_on */, false /* resource_loading_hints_on */,
false /* origin_opt_out */, false /* save_data_enabled */); false /* origin_opt_out */, false /* save_data_enabled */);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(false /* server_lofi_expected */, ValidateUKM(false /* server_lofi_expected */,
...@@ -304,8 +302,7 @@ TEST_F(PreviewsUKMObserverTest, LitePageOptOutChip) { ...@@ -304,8 +302,7 @@ TEST_F(PreviewsUKMObserverTest, LitePageOptOutChip) {
false /* noscript_on */, false /* resource_loading_hints_on */, false /* noscript_on */, false /* resource_loading_hints_on */,
false /* origin_opt_out */, false /* save_data_enabled */); false /* origin_opt_out */, false /* save_data_enabled */);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(false /* server_lofi_expected */, ValidateUKM(false /* server_lofi_expected */,
...@@ -331,7 +328,7 @@ TEST_F(PreviewsUKMObserverTest, NoScriptSeen) { ...@@ -331,7 +328,7 @@ TEST_F(PreviewsUKMObserverTest, NoScriptSeen) {
false /* save_data_enabled_expected */); false /* save_data_enabled_expected */);
} }
TEST_F(PreviewsUKMObserverTest, NoScriptOptOutInfobar) { TEST_F(PreviewsUKMObserverTest, NoScriptOptOut) {
base::test::ScopedFeatureList scoped_feature_list; base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitWithFeatures( scoped_feature_list.InitWithFeatures(
{} /* enabled features */, {} /* enabled features */,
...@@ -342,8 +339,7 @@ TEST_F(PreviewsUKMObserverTest, NoScriptOptOutInfobar) { ...@@ -342,8 +339,7 @@ TEST_F(PreviewsUKMObserverTest, NoScriptOptOutInfobar) {
true /* noscript_on */, false /* resource_loading_hints_on */, true /* noscript_on */, false /* resource_loading_hints_on */,
false /* origin_opt_out */, false /* save_data_enabled */); false /* origin_opt_out */, false /* save_data_enabled */);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(false /* server_lofi_expected */, ValidateUKM(false /* server_lofi_expected */,
...@@ -364,8 +360,7 @@ TEST_F(PreviewsUKMObserverTest, NoScriptOptOutChip) { ...@@ -364,8 +360,7 @@ TEST_F(PreviewsUKMObserverTest, NoScriptOptOutChip) {
true /* noscript_on */, false /* resource_loading_hints_on */, true /* noscript_on */, false /* resource_loading_hints_on */,
false /* origin_opt_out */, false /* save_data_enabled */); false /* origin_opt_out */, false /* save_data_enabled */);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(false /* server_lofi_expected */, ValidateUKM(false /* server_lofi_expected */,
...@@ -391,7 +386,7 @@ TEST_F(PreviewsUKMObserverTest, ResourceLoadingHintsSeen) { ...@@ -391,7 +386,7 @@ TEST_F(PreviewsUKMObserverTest, ResourceLoadingHintsSeen) {
false /* save_data_enabled_expected */); false /* save_data_enabled_expected */);
} }
TEST_F(PreviewsUKMObserverTest, ResourceLoadingHintsOptOutInfobar) { TEST_F(PreviewsUKMObserverTest, ResourceLoadingHintsOptOut) {
base::test::ScopedFeatureList scoped_feature_list; base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitWithFeatures( scoped_feature_list.InitWithFeatures(
{} /* enabled features */, {} /* enabled features */,
...@@ -402,8 +397,7 @@ TEST_F(PreviewsUKMObserverTest, ResourceLoadingHintsOptOutInfobar) { ...@@ -402,8 +397,7 @@ TEST_F(PreviewsUKMObserverTest, ResourceLoadingHintsOptOutInfobar) {
false /* noscript_on */, true /* resource_loading_hints_on */, false /* noscript_on */, true /* resource_loading_hints_on */,
false /* origin_opt_out */, false /* save_data_enabled */); false /* origin_opt_out */, false /* save_data_enabled */);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(false /* server_lofi_expected */, ValidateUKM(false /* server_lofi_expected */,
...@@ -424,8 +418,7 @@ TEST_F(PreviewsUKMObserverTest, ResourceLoadingHintsOptOutChip) { ...@@ -424,8 +418,7 @@ TEST_F(PreviewsUKMObserverTest, ResourceLoadingHintsOptOutChip) {
false /* noscript_on */, true /* resource_loading_hints_on */, false /* noscript_on */, true /* resource_loading_hints_on */,
false /* origin_opt_out */, false /* save_data_enabled */); false /* origin_opt_out */, false /* save_data_enabled */);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(false /* server_lofi_expected */, ValidateUKM(false /* server_lofi_expected */,
...@@ -474,7 +467,7 @@ TEST_F(PreviewsUKMObserverTest, ClientLoFiSeen) { ...@@ -474,7 +467,7 @@ TEST_F(PreviewsUKMObserverTest, ClientLoFiSeen) {
false /* save_data_enabled_expected */); false /* save_data_enabled_expected */);
} }
TEST_F(PreviewsUKMObserverTest, ClientLoFiOptOutInfobar) { TEST_F(PreviewsUKMObserverTest, ClientLoFiOptOut) {
base::test::ScopedFeatureList scoped_feature_list; base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitWithFeatures( scoped_feature_list.InitWithFeatures(
{} /* enabled features */, {} /* enabled features */,
...@@ -508,8 +501,7 @@ TEST_F(PreviewsUKMObserverTest, ClientLoFiOptOutInfobar) { ...@@ -508,8 +501,7 @@ TEST_F(PreviewsUKMObserverTest, ClientLoFiOptOutInfobar) {
for (const auto& request : resources) for (const auto& request : resources)
SimulateLoadedResource(request); SimulateLoadedResource(request);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(false /* server_lofi_expected */, true /* client_lofi_expected */, ValidateUKM(false /* server_lofi_expected */, true /* client_lofi_expected */,
...@@ -552,8 +544,7 @@ TEST_F(PreviewsUKMObserverTest, ClientLoFiOptOutChip) { ...@@ -552,8 +544,7 @@ TEST_F(PreviewsUKMObserverTest, ClientLoFiOptOutChip) {
for (const auto& request : resources) for (const auto& request : resources)
SimulateLoadedResource(request); SimulateLoadedResource(request);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(false /* server_lofi_expected */, true /* client_lofi_expected */, ValidateUKM(false /* server_lofi_expected */, true /* client_lofi_expected */,
...@@ -601,7 +592,7 @@ TEST_F(PreviewsUKMObserverTest, ServerLoFiSeen) { ...@@ -601,7 +592,7 @@ TEST_F(PreviewsUKMObserverTest, ServerLoFiSeen) {
false /* save_data_enabled_expected */); false /* save_data_enabled_expected */);
} }
TEST_F(PreviewsUKMObserverTest, ServerLoFiOptOutInfobar) { TEST_F(PreviewsUKMObserverTest, ServerLoFiOptOut) {
base::test::ScopedFeatureList scoped_feature_list; base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitWithFeatures( scoped_feature_list.InitWithFeatures(
{} /* enabled features */, {} /* enabled features */,
...@@ -636,8 +627,7 @@ TEST_F(PreviewsUKMObserverTest, ServerLoFiOptOutInfobar) { ...@@ -636,8 +627,7 @@ TEST_F(PreviewsUKMObserverTest, ServerLoFiOptOutInfobar) {
for (const auto& request : resources) for (const auto& request : resources)
SimulateLoadedResource(request); SimulateLoadedResource(request);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(true /* server_lofi_expected */, false /* client_lofi_expected */, ValidateUKM(true /* server_lofi_expected */, false /* client_lofi_expected */,
...@@ -681,8 +671,7 @@ TEST_F(PreviewsUKMObserverTest, ServerLoFiOptOutChip) { ...@@ -681,8 +671,7 @@ TEST_F(PreviewsUKMObserverTest, ServerLoFiOptOutChip) {
for (const auto& request : resources) for (const auto& request : resources)
SimulateLoadedResource(request); SimulateLoadedResource(request);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(true /* server_lofi_expected */, false /* client_lofi_expected */, ValidateUKM(true /* server_lofi_expected */, false /* client_lofi_expected */,
...@@ -735,7 +724,7 @@ TEST_F(PreviewsUKMObserverTest, BothLoFiSeen) { ...@@ -735,7 +724,7 @@ TEST_F(PreviewsUKMObserverTest, BothLoFiSeen) {
false /* save_data_enabled_expected */); false /* save_data_enabled_expected */);
} }
TEST_F(PreviewsUKMObserverTest, BothLoFiOptOutInfobar) { TEST_F(PreviewsUKMObserverTest, BothLoFiOptOut) {
base::test::ScopedFeatureList scoped_feature_list; base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitWithFeatures( scoped_feature_list.InitWithFeatures(
{} /* enabled features */, {} /* enabled features */,
...@@ -775,8 +764,7 @@ TEST_F(PreviewsUKMObserverTest, BothLoFiOptOutInfobar) { ...@@ -775,8 +764,7 @@ TEST_F(PreviewsUKMObserverTest, BothLoFiOptOutInfobar) {
for (const auto& request : resources) for (const auto& request : resources)
SimulateLoadedResource(request); SimulateLoadedResource(request);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(true /* server_lofi_expected */, true /* client_lofi_expected */, ValidateUKM(true /* server_lofi_expected */, true /* client_lofi_expected */,
false /* lite_page_expected */, false /* noscript_expected */, false /* lite_page_expected */, false /* noscript_expected */,
...@@ -824,8 +812,7 @@ TEST_F(PreviewsUKMObserverTest, BothLoFiOptOutChip) { ...@@ -824,8 +812,7 @@ TEST_F(PreviewsUKMObserverTest, BothLoFiOptOutChip) {
for (const auto& request : resources) for (const auto& request : resources)
SimulateLoadedResource(request); SimulateLoadedResource(request);
observer()->BroadcastEventToObservers( observer()->BroadcastEventToObservers(PreviewsUITabHelper::OptOutEventKey());
PreviewsInfoBarDelegate::OptOutEventKey());
NavigateToUntrackedUrl(); NavigateToUntrackedUrl();
ValidateUKM(true /* server_lofi_expected */, true /* client_lofi_expected */, ValidateUKM(true /* server_lofi_expected */, true /* client_lofi_expected */,
false /* lite_page_expected */, false /* noscript_expected */, false /* lite_page_expected */, false /* noscript_expected */,
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
#include "chrome/browser/infobars/infobar_service.h" #include "chrome/browser/infobars/infobar_service.h"
#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h" #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h"
#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_factory.h" #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_factory.h"
#include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h"
#include "chrome/browser/previews/previews_ui_tab_helper.h" #include "chrome/browser/previews/previews_ui_tab_helper.h"
#include "chrome/grit/generated_resources.h" #include "chrome/grit/generated_resources.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h" #include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
...@@ -32,8 +31,6 @@ ...@@ -32,8 +31,6 @@
namespace { namespace {
const void* const kOptOutEventKey = 0;
static const char kPreviewInfobarEventType[] = "InfoBar"; static const char kPreviewInfobarEventType[] = "InfoBar";
void RecordPreviewsInfoBarAction( void RecordPreviewsInfoBarAction(
...@@ -49,17 +46,6 @@ void RecordPreviewsInfoBarAction( ...@@ -49,17 +46,6 @@ void RecordPreviewsInfoBarAction(
->Add(static_cast<int32_t>(action)); ->Add(static_cast<int32_t>(action));
} }
void InformPLMOfOptOut(content::WebContents* web_contents) {
page_load_metrics::MetricsWebContentsObserver* metrics_web_contents_observer =
page_load_metrics::MetricsWebContentsObserver::FromWebContents(
web_contents);
if (!metrics_web_contents_observer)
return;
metrics_web_contents_observer->BroadcastEventToObservers(
PreviewsInfoBarDelegate::OptOutEventKey());
}
} // namespace } // namespace
PreviewsInfoBarDelegate::~PreviewsInfoBarDelegate() { PreviewsInfoBarDelegate::~PreviewsInfoBarDelegate() {
...@@ -183,11 +169,6 @@ base::string16 PreviewsInfoBarDelegate::GetLinkText() const { ...@@ -183,11 +169,6 @@ base::string16 PreviewsInfoBarDelegate::GetLinkText() const {
bool PreviewsInfoBarDelegate::LinkClicked(WindowOpenDisposition disposition) { bool PreviewsInfoBarDelegate::LinkClicked(WindowOpenDisposition disposition) {
infobar_dismissed_action_ = INFOBAR_LOAD_ORIGINAL_CLICKED; infobar_dismissed_action_ = INFOBAR_LOAD_ORIGINAL_CLICKED;
content::WebContents* web_contents =
InfoBarService::WebContentsFromInfoBar(infobar());
InformPLMOfOptOut(web_contents);
ui_tab_helper_->ReloadWithoutPreviews(previews_type_); ui_tab_helper_->ReloadWithoutPreviews(previews_type_);
return true; return true;
...@@ -202,8 +183,3 @@ base::string16 PreviewsInfoBarDelegate::GetStalePreviewTimestampText() const { ...@@ -202,8 +183,3 @@ base::string16 PreviewsInfoBarDelegate::GetStalePreviewTimestampText() const {
ui_tab_helper_->set_displayed_preview_timestamp(true); ui_tab_helper_->set_displayed_preview_timestamp(true);
return text; return text;
} }
// static
const void* PreviewsInfoBarDelegate::OptOutEventKey() {
return &kOptOutEventKey;
}
...@@ -56,9 +56,6 @@ class PreviewsInfoBarDelegate : public ConfirmInfoBarDelegate { ...@@ -56,9 +56,6 @@ class PreviewsInfoBarDelegate : public ConfirmInfoBarDelegate {
base::string16 GetStalePreviewTimestampText() const; base::string16 GetStalePreviewTimestampText() const;
// A key to identify opt out events.
static const void* OptOutEventKey();
private: private:
PreviewsInfoBarDelegate(PreviewsUITabHelper* ui_tab_helper, PreviewsInfoBarDelegate(PreviewsUITabHelper* ui_tab_helper,
previews::PreviewsType previews_type, previews::PreviewsType previews_type,
......
...@@ -120,7 +120,7 @@ class TestOptOutObserver : public page_load_metrics::PageLoadMetricsObserver { ...@@ -120,7 +120,7 @@ class TestOptOutObserver : public page_load_metrics::PageLoadMetricsObserver {
~TestOptOutObserver() override {} ~TestOptOutObserver() override {}
void OnEventOccurred(const void* const event_key) override { void OnEventOccurred(const void* const event_key) override {
if (PreviewsInfoBarDelegate::OptOutEventKey() == event_key) if (PreviewsUITabHelper::OptOutEventKey() == event_key)
callback_.Run(); callback_.Run();
} }
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "chrome/browser/loader/chrome_navigation_data.h" #include "chrome/browser/loader/chrome_navigation_data.h"
#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h" #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h"
#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_factory.h" #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_factory.h"
#include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h"
#include "chrome/browser/previews/previews_infobar_delegate.h" #include "chrome/browser/previews/previews_infobar_delegate.h"
#include "chrome/browser/previews/previews_service.h" #include "chrome/browser/previews/previews_service.h"
#include "chrome/browser/previews/previews_service_factory.h" #include "chrome/browser/previews/previews_service_factory.h"
...@@ -43,6 +44,8 @@ ...@@ -43,6 +44,8 @@
namespace { namespace {
const void* const kOptOutEventKey = 0;
const char kMinStalenessParamName[] = "min_staleness_in_minutes"; const char kMinStalenessParamName[] = "min_staleness_in_minutes";
const char kMaxStalenessParamName[] = "max_staleness_in_minutes"; const char kMaxStalenessParamName[] = "max_staleness_in_minutes";
const int kMinStalenessParamDefaultValue = 5; const int kMinStalenessParamDefaultValue = 5;
...@@ -66,6 +69,17 @@ void RecordStaleness(PreviewsUITabHelper::PreviewsStalePreviewTimestamp value) { ...@@ -66,6 +69,17 @@ void RecordStaleness(PreviewsUITabHelper::PreviewsStalePreviewTimestamp value) {
UMA_HISTOGRAM_ENUMERATION("Previews.StalePreviewTimestampShown", value); UMA_HISTOGRAM_ENUMERATION("Previews.StalePreviewTimestampShown", value);
} }
void InformPLMOfOptOut(content::WebContents* web_contents) {
page_load_metrics::MetricsWebContentsObserver* metrics_web_contents_observer =
page_load_metrics::MetricsWebContentsObserver::FromWebContents(
web_contents);
if (!metrics_web_contents_observer)
return;
metrics_web_contents_observer->BroadcastEventToObservers(
PreviewsUITabHelper::OptOutEventKey());
}
} // namespace } // namespace
PreviewsUITabHelper::~PreviewsUITabHelper() {} PreviewsUITabHelper::~PreviewsUITabHelper() {}
...@@ -172,6 +186,7 @@ void PreviewsUITabHelper::ReloadWithoutPreviews() { ...@@ -172,6 +186,7 @@ void PreviewsUITabHelper::ReloadWithoutPreviews() {
void PreviewsUITabHelper::ReloadWithoutPreviews( void PreviewsUITabHelper::ReloadWithoutPreviews(
previews::PreviewsType previews_type) { previews::PreviewsType previews_type) {
InformPLMOfOptOut(web_contents());
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
should_display_android_omnibox_badge_ = false; should_display_android_omnibox_badge_ = false;
#endif #endif
...@@ -305,3 +320,8 @@ void PreviewsUITabHelper::DidFinishNavigation( ...@@ -305,3 +320,8 @@ void PreviewsUITabHelper::DidFinishNavigation(
} }
} }
} }
// static
const void* PreviewsUITabHelper::OptOutEventKey() {
return &kOptOutEventKey;
}
...@@ -89,6 +89,9 @@ class PreviewsUITabHelper ...@@ -89,6 +89,9 @@ class PreviewsUITabHelper
return previews_user_data_.get(); return previews_user_data_.get();
} }
// A key to identify opt out events.
static const void* OptOutEventKey();
private: private:
friend class content::WebContentsUserData<PreviewsUITabHelper>; friend class content::WebContentsUserData<PreviewsUITabHelper>;
friend class PreviewsUITabHelperUnitTest; friend class PreviewsUITabHelperUnitTest;
......
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