blob: 5953872ee8478e5f67c779cc3c7dd94de20500d4 [file] [log] [blame]
Avi Drissman4a8573c2022-09-09 19:35:541// Copyright 2022 The Chromium Authors
Tom Andersond5044f52022-05-02 21:52:212// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/obsolete_system/obsolete_system.h"
6
7#include "base/linux_util.h"
8#include "base/strings/string_util.h"
9#include "chrome/grit/chromium_strings.h"
10#include "ui/base/l10n/l10n_util.h"
11
12const char kLinuxObsoleteUrl[] =
13 "https://support.google.com/chrome/?p=unsupported_linux";
14
15// This list contains the 2 most recently obsoleted distros according to
16// `kLinuxObsoleteUrl`.
17const char* const kObsoleteDistros[] = {
18 "Ubuntu 14.04", "Ubuntu 16.04", "Debian 8", "Debian 9",
19 "Fedora 30", "Fedora 31", "openSUSE Leap 15.0", "openSUSE Leap 15.1",
20};
21
Avi Drissmanc58a7362023-01-25 23:12:5522namespace ObsoleteSystem {
23
24bool IsObsoleteNowOrSoon() {
Tom Andersond5044f52022-05-02 21:52:2125 auto distro = base::GetLinuxDistro();
26 for (const char* obsolete : kObsoleteDistros) {
Avi Drissmanc58a7362023-01-25 23:12:5527 if (base::StartsWith(distro, obsolete)) {
Tom Andersond5044f52022-05-02 21:52:2128 return true;
Avi Drissmanc58a7362023-01-25 23:12:5529 }
Tom Andersond5044f52022-05-02 21:52:2130 }
31 return false;
32}
33
Avi Drissmanc58a7362023-01-25 23:12:5534std::u16string LocalizedObsoleteString() {
Tom Andersond5044f52022-05-02 21:52:2135 return l10n_util::GetStringUTF16(IDS_LINUX_OBSOLETE);
36}
37
Avi Drissmanc58a7362023-01-25 23:12:5538bool IsEndOfTheLine() {
Tom Andersond5044f52022-05-02 21:52:2139 return false;
40}
41
Avi Drissmanc58a7362023-01-25 23:12:5542const char* GetLinkURL() {
Tom Andersond5044f52022-05-02 21:52:2143 return kLinuxObsoleteUrl;
44}
Avi Drissmanc58a7362023-01-25 23:12:5545
46} // namespace ObsoleteSystem