#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "chrome/browser/extensions/api/system_private/system_private_api.h"
#include <memory>
#include <utility>
#include "base/values.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/event_router_forwarder.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/api/system_private.h"
#include "components/policy/core/common/policy_pref_names.h"
#include "components/prefs/pref_service.h"
#include "google_apis/google_api_keys.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/ash/components/dbus/update_engine/update_engine_client.h"
#else
#include "chrome/browser/upgrade_detector/upgrade_detector.h"
#endif
namespace {
const char* const kIncognitoModeAvailabilityStrings[] = …;
const char kDownloadProgressKey[] = …;
const char kStateKey[] = …;
const char kNotAvailableState[] = …;
const char kNeedRestartState[] = …;
#if BUILDFLAG(IS_CHROMEOS_ASH)
const char kUpdatingState[] = "Updating";
#endif
}
namespace extensions {
system_private;
ExtensionFunction::ResponseAction
SystemPrivateGetIncognitoModeAvailabilityFunction::Run() { … }
ExtensionFunction::ResponseAction SystemPrivateGetUpdateStatusFunction::Run() { … }
ExtensionFunction::ResponseAction SystemPrivateGetApiKeyFunction::Run() { … }
}