| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/updater/external_constants_default.h" |
| |
| #include <optional> |
| #include <vector> |
| |
| #include "base/memory/scoped_refptr.h" |
| #include "base/time/time.h" |
| #include "base/values.h" |
| #include "build/branding_buildflags.h" |
| #include "build/build_config.h" |
| #include "chrome/updater/constants.h" |
| #include "chrome/updater/external_constants.h" |
| #include "chrome/updater/updater_branding.h" |
| #include "components/crx_file/crx_verifier.h" |
| #include "url/gurl.h" |
| |
| namespace updater { |
| namespace { |
| |
| class DefaultExternalConstants : public ExternalConstants { |
| public: |
| DefaultExternalConstants() : ExternalConstants(nullptr) {} |
| |
| // Overrides of ExternalConstants: |
| std::vector<GURL> UpdateURL() const override { |
| return std::vector<GURL>{GURL(UPDATE_CHECK_URL)}; |
| } |
| |
| GURL CrashUploadURL() const override { return GURL(CRASH_UPLOAD_URL); } |
| |
| GURL AppLogoURL() const override { return GURL(APP_LOGO_URL); } |
| |
| GURL EventLoggingURL() const override { |
| return GURL(UPDATER_EVENT_LOGGING_URL); |
| } |
| |
| bool UseCUP() const override { return true; } |
| |
| base::TimeDelta InitialDelay() const override { return kInitialDelay; } |
| |
| base::TimeDelta ServerKeepAliveTime() const override { |
| return kServerKeepAliveTime; |
| } |
| |
| crx_file::VerifierFormat CrxVerifierFormat() const override { |
| return crx_file::VerifierFormat::CRX3_WITH_PUBLISHER_PROOF; |
| } |
| |
| base::Value::Dict DictPolicies() const override { |
| return base::Value::Dict(); |
| } |
| |
| base::TimeDelta OverinstallTimeout() const override { |
| return base::Minutes(2); |
| } |
| |
| base::TimeDelta IdleCheckPeriod() const override { return base::Minutes(5); } |
| |
| std::optional<bool> IsMachineManaged() const override { return std::nullopt; } |
| |
| base::TimeDelta CecaConnectionTimeout() const override { |
| return kCecaConnectionTimeout; |
| } |
| |
| base::TimeDelta MinimumEventLoggingCooldown() const override { |
| return kMinimumEventLoggingCooldown; |
| } |
| |
| std::optional<std::string> GetEventLoggingPermissionProvider() |
| const override { |
| #if BUILDFLAG(GOOGLE_CHROME_BRANDING) && BUILDFLAG(IS_MAC) |
| return BROWSER_NAME_STRING; |
| #elif BUILDFLAG(GOOGLE_CHROME_BRANDING) && BUILDFLAG(IS_WIN) |
| return BROWSER_APP_ID; |
| #else |
| return std::nullopt; |
| #endif |
| } |
| |
| private: |
| ~DefaultExternalConstants() override = default; |
| }; |
| |
| } // namespace |
| |
| scoped_refptr<ExternalConstants> CreateDefaultExternalConstants() { |
| return base::MakeRefCounted<DefaultExternalConstants>(); |
| } |
| |
| } // namespace updater |