1effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// found in the LICENSE file. 4effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/common/extensions/api/webstore/webstore_api_constants.h" 6effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "base/macros.h" 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "chrome/common/extensions/webstore_install_result.h" 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 10effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace extensions { 11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace api { 12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace webstore { 13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// IMPORTANT: Keep this list in sync with both the definition in 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// chrome/common/extensions/api/webstore.json and 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// chrome/common/extensions/webstore_install_result.h! 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)const char* kInstallResultCodes[] = { 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "success", 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "otherError", 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "aborted", 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "installInProgress", 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "notPermitted", 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "invalidId", 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "webstoreRequestError", 255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "invalidWebstoreResponse", 265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "invalidManifest", 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "iconError", 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "userCancelled", 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "blacklisted", 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "missingDependencies", 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "requirementViolations", 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "blockedByPolicy", 335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "launchFeatureDisabled", 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "launchUnsupportedExtensionType", 355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) "launchInProgress", 365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}; 375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)COMPILE_ASSERT(arraysize(kInstallResultCodes) == 395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) webstore_install::RESULT_LAST + 1, 405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) must_keep_webstore_install_result_and_api_constants_in_sync); 415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 42effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// The "downloading" stage begins when the installer starts downloading modules 43effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// for the extension. 44effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kInstallStageDownloading[] = "downloading"; 45effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 46effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// The "installing" stage begins once all downloads are complete, and the 47effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// CrxInstaller begins. 48effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kInstallStageInstalling[] = "installing"; 49effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 50effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// The method in custom_webstore_bindings.js triggered when we enter a new 51effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// install stage ("downloading" or "installing"). 52effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kOnInstallStageChangedMethodName[] = "onInstallStageChanged"; 53effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 54effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// The method in custom_webstore_bindings.js triggered when we update 55effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// download progress. 56effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kOnDownloadProgressMethodName[] = "onDownloadProgress"; 57effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 58effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch} // namespace webstore 59effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch} // namespace api 60effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch} // namespace extensions 61