Commit 1a291df2 authored by Sophie Chang's avatar Sophie Chang Committed by Chromium LUCI CQ

Re-enable PredictionManager browser tests on Win/Mac/CrOS

And fix init issue on ChromeOS for sign in profiles

Change-Id: I26b87d58f2eae2afecf67685690312a8aed70c60
Bug: 1146151
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2625157Reviewed-by: default avatarMichael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#843176}
parent d08abe30
......@@ -4,6 +4,7 @@
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service_factory.h"
#include "build/build_config.h"
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h"
#include "chrome/browser/profiles/incognito_helpers.h"
#include "chrome/browser/profiles/profile.h"
......@@ -11,6 +12,10 @@
#include "components/optimization_guide/core/optimization_guide_features.h"
#include "content/public/browser/browser_context.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#endif
// static
OptimizationGuideKeyedService*
OptimizationGuideKeyedServiceFactory::GetForProfile(Profile* profile) {
......@@ -38,6 +43,18 @@ OptimizationGuideKeyedServiceFactory::~OptimizationGuideKeyedServiceFactory() =
KeyedService* OptimizationGuideKeyedServiceFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const {
#if BUILDFLAG(IS_CHROMEOS_ASH)
// Do not build the OptimizationGuideKeyedService if it's a sign-in profile
// since it basically is an ephemeral profile anyway and we cannot provide
// hints or models to it anyway. Additionally, sign in profiles do not go
// through the standard profile initialization flow, so a lot of things that
// are required are not available when the browser context for the signin
// profile is created.
Profile* profile = Profile::FromBrowserContext(context);
if (chromeos::ProfileHelper::IsSigninProfile(profile))
return nullptr;
#endif
return new OptimizationGuideKeyedService(context);
}
......
......@@ -456,15 +456,8 @@ class PredictionManagerBrowserTest : public PredictionManagerBrowserTestBase {
}
};
#if defined(OS_WIN) || defined(OS_MAC) || BUILDFLAG(IS_CHROMEOS_ASH)
#define DISABLE_ON_WIN_MAC_CHROMEOS(x) DISABLED_##x
#else
#define DISABLE_ON_WIN_MAC_CHROMEOS(x) x
#endif
IN_PROC_BROWSER_TEST_F(
PredictionManagerBrowserTest,
DISABLE_ON_WIN_MAC_CHROMEOS(FCPReachedSessionStatisticsUpdated)) {
IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserTest,
FCPReachedSessionStatisticsUpdated) {
RegisterWithKeyedService();
auto waiter = CreatePageLoadMetricsTestWaiter();
waiter->AddPageExpectation(
......@@ -478,9 +471,8 @@ IN_PROC_BROWSER_TEST_F(
EXPECT_EQ(1u, session_fcp->GetNumberOfSamples());
}
IN_PROC_BROWSER_TEST_F(
PredictionManagerBrowserTest,
DISABLE_ON_WIN_MAC_CHROMEOS(NoFCPSessionStatisticsUnchanged)) {
IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserTest,
NoFCPSessionStatisticsUnchanged) {
RegisterWithKeyedService();
auto waiter = CreatePageLoadMetricsTestWaiter();
waiter->AddPageExpectation(
......@@ -501,9 +493,8 @@ IN_PROC_BROWSER_TEST_F(
EXPECT_EQ(current_mean, session_fcp->GetMean());
}
IN_PROC_BROWSER_TEST_F(
PredictionManagerBrowserTest,
DISABLE_ON_WIN_MAC_CHROMEOS(ModelsAndFeaturesStoreInitialized)) {
IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserTest,
ModelsAndFeaturesStoreInitialized) {
base::HistogramTester histogram_tester;
content::NetworkConnectionChangeSimulator().SetConnectionType(
network::mojom::ConnectionType::CONNECTION_2G);
......@@ -526,9 +517,8 @@ IN_PROC_BROWSER_TEST_F(
"OptimizationGuide.PredictionModelLoadedVersion.PainfulPageLoad", 2, 1);
}
IN_PROC_BROWSER_TEST_F(
PredictionManagerBrowserTest,
DISABLE_ON_WIN_MAC_CHROMEOS(OnlyHostModelFeaturesInGetModelsResponse)) {
IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserTest,
OnlyHostModelFeaturesInGetModelsResponse) {
base::HistogramTester histogram_tester;
SetResponseType(PredictionModelsFetcherRemoteResponseType::
......@@ -547,9 +537,8 @@ IN_PROC_BROWSER_TEST_F(
"OptimizationGuide.PredictionModelLoadedVersion.PainfulPageLoad", 0);
}
IN_PROC_BROWSER_TEST_F(
PredictionManagerBrowserTest,
DISABLE_ON_WIN_MAC_CHROMEOS(OnlyPredictionModelsInGetModelsResponse)) {
IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserTest,
OnlyPredictionModelsInGetModelsResponse) {
base::HistogramTester histogram_tester;
SetResponseType(PredictionModelsFetcherRemoteResponseType::
......@@ -574,9 +563,8 @@ IN_PROC_BROWSER_TEST_F(
"OptimizationGuide.PredictionModelLoadedVersion.PainfulPageLoad", 2, 1);
}
IN_PROC_BROWSER_TEST_F(
PredictionManagerBrowserTest,
DISABLE_ON_WIN_MAC_CHROMEOS(PredictionModelFetchFailed)) {
IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserTest,
PredictionModelFetchFailed) {
SetResponseType(PredictionModelsFetcherRemoteResponseType::kUnsuccessful);
base::HistogramTester histogram_tester;
......@@ -602,9 +590,8 @@ IN_PROC_BROWSER_TEST_F(
"OptimizationGuide.PredictionModelLoadedVersion.PainfulPageLoad", 0);
}
IN_PROC_BROWSER_TEST_F(
PredictionManagerBrowserTest,
DISABLE_ON_WIN_MAC_CHROMEOS(HostModelFeaturesClearedOnHistoryClear)) {
IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserTest,
HostModelFeaturesClearedOnHistoryClear) {
base::HistogramTester histogram_tester;
RegisterWithKeyedService();
......@@ -709,9 +696,8 @@ IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserTest, IncognitoCanStillRead) {
1);
}
IN_PROC_BROWSER_TEST_F(
PredictionManagerBrowserTest,
DISABLE_ON_WIN_MAC_CHROMEOS(IncognitoDoesntFetchModels)) {
IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserTest,
IncognitoDoesntFetchModels) {
SetResponseType(PredictionModelsFetcherRemoteResponseType::
kSuccessfulWithModelsAndFeatures);
base::HistogramTester histogram_tester;
......@@ -770,7 +756,7 @@ class PredictionManagerBrowserSameOriginTest
// Regression test for https://crbug.com/1037945. Tests that the origin of the
// previous navigation is computed correctly.
IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserSameOriginTest,
DISABLE_ON_WIN_MAC_CHROMEOS(IsSameOriginNavigation)) {
IsSameOriginNavigation) {
base::HistogramTester histogram_tester;
RegisterWithKeyedService();
......@@ -823,9 +809,8 @@ IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserSameOriginTest,
"OptimizationGuide.PredictionManager.IsSameOrigin", true, 1);
}
IN_PROC_BROWSER_TEST_F(
PredictionManagerBrowserSameOriginTest,
DISABLE_ON_WIN_MAC_CHROMEOS(ShouldTargetNavigationAsync)) {
IN_PROC_BROWSER_TEST_F(PredictionManagerBrowserSameOriginTest,
ShouldTargetNavigationAsync) {
base::HistogramTester histogram_tester;
RegisterWithKeyedService();
......@@ -901,8 +886,7 @@ class PredictionManagerNoUserPermissionsTest
};
IN_PROC_BROWSER_TEST_F(PredictionManagerNoUserPermissionsTest,
DISABLE_ON_WIN_MAC_CHROMEOS(
HostsAndFieldTrialsNotPassedWhenNoUserPermissions)) {
HostsAndFieldTrialsNotPassedWhenNoUserPermissions) {
base::HistogramTester histogram_tester;
SetResponseType(PredictionModelsFetcherRemoteResponseType::
......@@ -1006,10 +990,8 @@ class PredictionManagerModelDownloadingBrowserTest
std::unique_ptr<ModelFileObserver> model_file_observer_;
};
IN_PROC_BROWSER_TEST_F(
PredictionManagerModelDownloadingBrowserTest,
DISABLE_ON_WIN_MAC_CHROMEOS(
TestDownloadUrlAcceptedByDownloadServiceButInvalid)) {
IN_PROC_BROWSER_TEST_F(PredictionManagerModelDownloadingBrowserTest,
TestDownloadUrlAcceptedByDownloadServiceButInvalid) {
base::HistogramTester histogram_tester;
SetResponseType(PredictionModelsFetcherRemoteResponseType::
......@@ -1031,9 +1013,8 @@ IN_PROC_BROWSER_TEST_F(
"OptimizationGuide.PredictionModelUpdateVersion.PainfulPageLoad", 0);
}
IN_PROC_BROWSER_TEST_F(
PredictionManagerModelDownloadingBrowserTest,
DISABLE_ON_WIN_MAC_CHROMEOS(TestSuccessfulModelFileFlow)) {
IN_PROC_BROWSER_TEST_F(PredictionManagerModelDownloadingBrowserTest,
TestSuccessfulModelFileFlow) {
// TODO(crbug/1146151): Remove this switch once we can produce a signed model
// file.
base::CommandLine::ForCurrentProcess()->AppendSwitch(
......
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