| OLD | NEW | 
|    1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #include "google_apis/google_api_keys.h" |    5 #include "google_apis/google_api_keys.h" | 
|    6  |    6  | 
|    7 // If you add more includes to this list, you also need to add them to |    7 // If you add more includes to this list, you also need to add them to | 
|    8 // google_api_keys_unittest.cc. |    8 // google_api_keys_unittest.cc. | 
|    9  |    9  | 
|   10 #include <stddef.h> |   10 #include <stddef.h> | 
|   11  |   11  | 
|   12 #include <memory> |   12 #include <memory> | 
|   13  |   13  | 
|   14 #include "base/command_line.h" |   14 #include "base/command_line.h" | 
|   15 #include "base/environment.h" |   15 #include "base/environment.h" | 
|   16 #include "base/lazy_instance.h" |   16 #include "base/lazy_instance.h" | 
|   17 #include "base/logging.h" |   17 #include "base/logging.h" | 
|   18 #include "base/strings/stringize_macros.h" |   18 #include "base/strings/stringize_macros.h" | 
|   19 #include "google_apis/gaia/gaia_switches.h" |   19 #include "google_apis/gaia/gaia_switches.h" | 
|   20  |   20  | 
 |   21 #if defined(OS_MACOSX) | 
 |   22 #include "google_apis/google_api_keys_mac.h" | 
 |   23 #endif | 
 |   24  | 
|   21 #if defined(GOOGLE_CHROME_BUILD) || defined(USE_OFFICIAL_GOOGLE_API_KEYS) |   25 #if defined(GOOGLE_CHROME_BUILD) || defined(USE_OFFICIAL_GOOGLE_API_KEYS) | 
|   22 #include "google_apis/internal/google_chrome_api_keys.h" |   26 #include "google_apis/internal/google_chrome_api_keys.h" | 
|   23 #endif |   27 #endif | 
|   24  |   28  | 
|   25 // Used to indicate an unset key/id/secret.  This works better with |   29 // Used to indicate an unset key/id/secret.  This works better with | 
|   26 // various unit tests than leaving the token empty. |   30 // various unit tests than leaving the token empty. | 
|   27 #define DUMMY_API_TOKEN "dummytoken" |   31 #define DUMMY_API_TOKEN "dummytoken" | 
|   28  |   32  | 
|   29 #if !defined(GOOGLE_API_KEY) |   33 #if !defined(GOOGLE_API_KEY) | 
|   30 #define GOOGLE_API_KEY DUMMY_API_TOKEN |   34 #define GOOGLE_API_KEY DUMMY_API_TOKEN | 
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  229   // environment variable, or finally a value baked into the build. |  233   // environment variable, or finally a value baked into the build. | 
|  230   // |command_line_switch| may be NULL. |  234   // |command_line_switch| may be NULL. | 
|  231   static std::string CalculateKeyValue(const char* baked_in_value, |  235   static std::string CalculateKeyValue(const char* baked_in_value, | 
|  232                                        const char* environment_variable_name, |  236                                        const char* environment_variable_name, | 
|  233                                        const char* command_line_switch, |  237                                        const char* command_line_switch, | 
|  234                                        const std::string& default_if_unset, |  238                                        const std::string& default_if_unset, | 
|  235                                        base::Environment* environment, |  239                                        base::Environment* environment, | 
|  236                                        base::CommandLine* command_line) { |  240                                        base::CommandLine* command_line) { | 
|  237     std::string key_value = baked_in_value; |  241     std::string key_value = baked_in_value; | 
|  238     std::string temp; |  242     std::string temp; | 
 |  243 #if defined(OS_MACOSX) | 
 |  244     // macOS and iOS can also override the API key with a value from the | 
 |  245     // Info.plist. | 
 |  246     temp = ::google_apis::GetAPIKeyFromInfoPlist(environment_variable_name); | 
 |  247     if (!temp.empty()) { | 
 |  248       key_value = temp; | 
 |  249       VLOG(1) << "Overriding API key " << environment_variable_name | 
 |  250               << " with value " << key_value << " from Info.plist."; | 
 |  251     } | 
 |  252 #endif | 
|  239     if (environment->GetVar(environment_variable_name, &temp)) { |  253     if (environment->GetVar(environment_variable_name, &temp)) { | 
|  240       key_value = temp; |  254       key_value = temp; | 
|  241       VLOG(1) << "Overriding API key " << environment_variable_name |  255       VLOG(1) << "Overriding API key " << environment_variable_name | 
|  242               << " with value " << key_value << " from environment variable."; |  256               << " with value " << key_value << " from environment variable."; | 
|  243     } |  257     } | 
|  244  |  258  | 
|  245     if (command_line_switch && command_line->HasSwitch(command_line_switch)) { |  259     if (command_line_switch && command_line->HasSwitch(command_line_switch)) { | 
|  246       key_value = command_line->GetSwitchValueASCII(command_line_switch); |  260       key_value = command_line->GetSwitchValueASCII(command_line_switch); | 
|  247       VLOG(1) << "Overriding API key " << environment_variable_name |  261       VLOG(1) << "Overriding API key " << environment_variable_name | 
|  248               << " with value " << key_value << " from command-line switch."; |  262               << " with value " << key_value << " from command-line switch."; | 
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  319  |  333  | 
|  320 bool IsGoogleChromeAPIKeyUsed() { |  334 bool IsGoogleChromeAPIKeyUsed() { | 
|  321 #if defined(GOOGLE_CHROME_BUILD) || defined(USE_OFFICIAL_GOOGLE_API_KEYS) |  335 #if defined(GOOGLE_CHROME_BUILD) || defined(USE_OFFICIAL_GOOGLE_API_KEYS) | 
|  322   return true; |  336   return true; | 
|  323 #else |  337 #else | 
|  324   return false; |  338   return false; | 
|  325 #endif |  339 #endif | 
|  326 } |  340 } | 
|  327  |  341  | 
|  328 }  // namespace google_apis |  342 }  // namespace google_apis | 
| OLD | NEW |