1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
|
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "google_apis/default_api_keys.h"
// This file contains a definition of `GetDefaultApiKeysFromDefinedValues()`
// which transforms a bunch of preprocessor defines into a struct that can be
// supplied to the `ApiKeyCache` constructor.
//
// This file is intended to be included several times, specifically for tests
// that manipulate preprocessor defines rather than the struct members.
//
// Please keep this file's list of dependencies minimal.
#if !defined(GOOGLE_API_KEY)
#define GOOGLE_API_KEY google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#if !defined(GOOGLE_METRICS_SIGNING_KEY)
#define GOOGLE_METRICS_SIGNING_KEY google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#if !defined(GOOGLE_CLIENT_ID_MAIN)
#define GOOGLE_CLIENT_ID_MAIN google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#if !defined(GOOGLE_CLIENT_SECRET_MAIN)
#define GOOGLE_CLIENT_SECRET_MAIN google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#if !defined(GOOGLE_CLIENT_ID_REMOTING)
#define GOOGLE_CLIENT_ID_REMOTING google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#if !defined(GOOGLE_CLIENT_SECRET_REMOTING)
#define GOOGLE_CLIENT_SECRET_REMOTING \
google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#if !defined(GOOGLE_CLIENT_ID_REMOTING_HOST)
#define GOOGLE_CLIENT_ID_REMOTING_HOST \
google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#if !defined(GOOGLE_CLIENT_SECRET_REMOTING_HOST)
#define GOOGLE_CLIENT_SECRET_REMOTING_HOST \
google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#if BUILDFLAG(IS_ANDROID)
#if !defined(GOOGLE_API_KEY_ANDROID_NON_STABLE)
#define GOOGLE_API_KEY_ANDROID_NON_STABLE \
google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#endif
#if !defined(GOOGLE_API_KEY_REMOTING)
#define GOOGLE_API_KEY_REMOTING google_apis::DefaultApiKeys::kUnsetApiToken
#endif
// API key for the Speech On-Device API (SODA).
#if !defined(GOOGLE_API_KEY_SODA)
#define GOOGLE_API_KEY_SODA google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#if !BUILDFLAG(IS_ANDROID)
// API key for the HaTS API.
#if !defined(GOOGLE_API_KEY_HATS)
#define GOOGLE_API_KEY_HATS google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#endif
#if BUILDFLAG(IS_CHROMEOS)
// API key for the Nearby Sharing Service.
#if !defined(GOOGLE_API_KEY_SHARING)
#define GOOGLE_API_KEY_SHARING google_apis::DefaultApiKeys::kUnsetApiToken
#endif
// API key for the ReadAloud API.
#if !defined(GOOGLE_API_KEY_READ_ALOUD)
#define GOOGLE_API_KEY_READ_ALOUD google_apis::DefaultApiKeys::kUnsetApiToken
#endif
// API key for the Fresnel API.
#if !defined(GOOGLE_API_KEY_FRESNEL)
#define GOOGLE_API_KEY_FRESNEL google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#if !defined(GOOGLE_API_KEY_BOCA)
#define GOOGLE_API_KEY_BOCA google_apis::DefaultApiKeys::kUnsetApiToken
#endif
// API key for ChromeOS system services to resolve location.
#if !defined(GOOGLE_API_KEY_CROS_SYSTEM_GEO)
#define GOOGLE_API_KEY_CROS_SYSTEM_GEO \
google_apis::DefaultApiKeys::kUnsetApiToken
#endif
// API key for ChromeOS Chrome to resolve location.
#if !defined(GOOGLE_API_KEY_CROS_CHROME_GEO)
#define GOOGLE_API_KEY_CROS_CHROME_GEO \
google_apis::DefaultApiKeys::kUnsetApiToken
#endif
#endif // BUILDFLAG(IS_CHROMEOS)
// These are used as shortcuts for developers and users providing
// OAuth credentials via preprocessor defines or environment
// variables. If set, they will be used to replace any of the client
// IDs and secrets above that have not been set (and only those; they
// will not override already-set values).
#if !defined(GOOGLE_DEFAULT_CLIENT_ID)
#define GOOGLE_DEFAULT_CLIENT_ID ""
#endif
#if !defined(GOOGLE_DEFAULT_CLIENT_SECRET)
#define GOOGLE_DEFAULT_CLIENT_SECRET ""
#endif
constexpr ::google_apis::DefaultApiKeys GetDefaultApiKeysFromDefinedValues() {
return {
// TODO(crbug.com/40214105): Rewrite this condition using
// BUILDFLAG(SUPPORT_EXTERNAL_GOOGLE_API_KEY).
.allow_unset_values =
!BUILDFLAG(GOOGLE_CHROME_BRANDING) || BUILDFLAG(IS_FUCHSIA),
.allow_override_via_environment = !BUILDFLAG(GOOGLE_CHROME_BRANDING),
.google_api_key = GOOGLE_API_KEY,
.google_metrics_signing_key = GOOGLE_METRICS_SIGNING_KEY,
#if BUILDFLAG(IS_ANDROID)
.google_api_key_android_non_stable = GOOGLE_API_KEY_ANDROID_NON_STABLE,
#else
.google_api_key_hats = GOOGLE_API_KEY_HATS,
#endif // BUILDFLAG(IS_ANDROID)
.google_api_key_remoting = GOOGLE_API_KEY_REMOTING,
.google_api_key_soda = GOOGLE_API_KEY_SODA,
#if BUILDFLAG(IS_CHROMEOS)
.google_api_key_sharing = GOOGLE_API_KEY_SHARING,
.google_api_key_read_aloud = GOOGLE_API_KEY_READ_ALOUD,
.google_api_key_fresnel = GOOGLE_API_KEY_FRESNEL,
.google_api_key_boca = GOOGLE_API_KEY_BOCA,
.google_api_key_cros_system_geo_ = GOOGLE_API_KEY_CROS_SYSTEM_GEO,
.google_api_key_cros_chrome_geo_ = GOOGLE_API_KEY_CROS_CHROME_GEO,
#endif
.google_client_id_main = GOOGLE_CLIENT_ID_MAIN,
.google_client_secret_main = GOOGLE_CLIENT_SECRET_MAIN,
.google_client_id_remoting = GOOGLE_CLIENT_ID_REMOTING,
.google_client_secret_remoting = GOOGLE_CLIENT_SECRET_REMOTING,
.google_client_id_remoting_host = GOOGLE_CLIENT_ID_REMOTING_HOST,
.google_client_secret_remoting_host = GOOGLE_CLIENT_SECRET_REMOTING_HOST,
.google_default_client_id = GOOGLE_DEFAULT_CLIENT_ID,
.google_default_client_secret = GOOGLE_DEFAULT_CLIENT_SECRET};
}
|