| 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 "chrome/renderer/extensions/webstore_bindings.h" | 5 #include "chrome/renderer/extensions/webstore_bindings.h" | 
| 6 | 6 | 
| 7 #include "base/strings/string_util.h" | 7 #include "base/strings/string_util.h" | 
| 8 #include "chrome/common/extensions/api/webstore/webstore_api_constants.h" | 8 #include "chrome/common/extensions/api/webstore/webstore_api_constants.h" | 
| 9 #include "chrome/common/extensions/chrome_extension_messages.h" | 9 #include "chrome/common/extensions/chrome_extension_messages.h" | 
| 10 #include "components/crx_file/id_util.h" | 10 #include "components/crx_file/id_util.h" | 
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 203 } | 203 } | 
| 204 | 204 | 
| 205 void WebstoreBindings::OnInlineWebstoreInstallResponse( | 205 void WebstoreBindings::OnInlineWebstoreInstallResponse( | 
| 206     int install_id, | 206     int install_id, | 
| 207     bool success, | 207     bool success, | 
| 208     const std::string& error, | 208     const std::string& error, | 
| 209     webstore_install::Result result) { | 209     webstore_install::Result result) { | 
| 210   v8::Isolate* isolate = context()->isolate(); | 210   v8::Isolate* isolate = context()->isolate(); | 
| 211   v8::HandleScope handle_scope(isolate); | 211   v8::HandleScope handle_scope(isolate); | 
| 212   v8::Context::Scope context_scope(context()->v8_context()); | 212   v8::Context::Scope context_scope(context()->v8_context()); | 
| 213   v8::Handle<v8::Value> argv[] = { | 213   v8::Local<v8::Value> argv[] = { | 
| 214     v8::Integer::New(isolate, install_id), | 214     v8::Integer::New(isolate, install_id), | 
| 215     v8::Boolean::New(isolate, success), | 215     v8::Boolean::New(isolate, success), | 
| 216     v8::String::NewFromUtf8(isolate, error.c_str()), | 216     v8::String::NewFromUtf8(isolate, error.c_str()), | 
| 217     v8::String::NewFromUtf8( | 217     v8::String::NewFromUtf8( | 
| 218         isolate, api::webstore::kInstallResultCodes[static_cast<int>(result)]) | 218         isolate, api::webstore::kInstallResultCodes[static_cast<int>(result)]) | 
| 219   }; | 219   }; | 
| 220   context()->module_system()->CallModuleMethod( | 220   context()->module_system()->CallModuleMethod( | 
| 221       "webstore", "onInstallResponse", arraysize(argv), argv); | 221       "webstore", "onInstallResponse", arraysize(argv), argv); | 
| 222 } | 222 } | 
| 223 | 223 | 
| 224 void WebstoreBindings::OnInlineInstallStageChanged(int stage) { | 224 void WebstoreBindings::OnInlineInstallStageChanged(int stage) { | 
| 225   const char* stage_string = NULL; | 225   const char* stage_string = NULL; | 
| 226   api::webstore::InstallStage install_stage = | 226   api::webstore::InstallStage install_stage = | 
| 227       static_cast<api::webstore::InstallStage>(stage); | 227       static_cast<api::webstore::InstallStage>(stage); | 
| 228   switch (install_stage) { | 228   switch (install_stage) { | 
| 229     case api::webstore::INSTALL_STAGE_DOWNLOADING: | 229     case api::webstore::INSTALL_STAGE_DOWNLOADING: | 
| 230       stage_string = api::webstore::kInstallStageDownloading; | 230       stage_string = api::webstore::kInstallStageDownloading; | 
| 231       break; | 231       break; | 
| 232     case api::webstore::INSTALL_STAGE_INSTALLING: | 232     case api::webstore::INSTALL_STAGE_INSTALLING: | 
| 233       stage_string = api::webstore::kInstallStageInstalling; | 233       stage_string = api::webstore::kInstallStageInstalling; | 
| 234       break; | 234       break; | 
| 235   } | 235   } | 
| 236   v8::Isolate* isolate = context()->isolate(); | 236   v8::Isolate* isolate = context()->isolate(); | 
| 237   v8::HandleScope handle_scope(isolate); | 237   v8::HandleScope handle_scope(isolate); | 
| 238   v8::Context::Scope context_scope(context()->v8_context()); | 238   v8::Context::Scope context_scope(context()->v8_context()); | 
| 239   v8::Handle<v8::Value> argv[] = { | 239   v8::Local<v8::Value> argv[] = { | 
| 240       v8::String::NewFromUtf8(isolate, stage_string)}; | 240       v8::String::NewFromUtf8(isolate, stage_string)}; | 
| 241   context()->module_system()->CallModuleMethod( | 241   context()->module_system()->CallModuleMethod( | 
| 242       "webstore", "onInstallStageChanged", arraysize(argv), argv); | 242       "webstore", "onInstallStageChanged", arraysize(argv), argv); | 
| 243 } | 243 } | 
| 244 | 244 | 
| 245 void WebstoreBindings::OnInlineInstallDownloadProgress(int percent_downloaded) { | 245 void WebstoreBindings::OnInlineInstallDownloadProgress(int percent_downloaded) { | 
| 246   v8::Isolate* isolate = context()->isolate(); | 246   v8::Isolate* isolate = context()->isolate(); | 
| 247   v8::HandleScope handle_scope(isolate); | 247   v8::HandleScope handle_scope(isolate); | 
| 248   v8::Context::Scope context_scope(context()->v8_context()); | 248   v8::Context::Scope context_scope(context()->v8_context()); | 
| 249   v8::Handle<v8::Value> argv[] = { | 249   v8::Local<v8::Value> argv[] = { | 
| 250       v8::Number::New(isolate, percent_downloaded / 100.0)}; | 250       v8::Number::New(isolate, percent_downloaded / 100.0)}; | 
| 251   context()->module_system()->CallModuleMethod( | 251   context()->module_system()->CallModuleMethod( | 
| 252       "webstore", "onDownloadProgress", arraysize(argv), argv); | 252       "webstore", "onDownloadProgress", arraysize(argv), argv); | 
| 253 } | 253 } | 
| 254 | 254 | 
| 255 }  // namespace extensions | 255 }  // namespace extensions | 
| OLD | NEW | 
|---|