| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/browser/extensions/extension_tabs_module.h" | 5 #include "chrome/browser/extensions/extension_tabs_module.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/base64.h" | 10 #include "base/base64.h" |
| (...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 410 if (args->HasKey(keys::kUrlKey)) { | 410 if (args->HasKey(keys::kUrlKey)) { |
| 411 Value* url_value; | 411 Value* url_value; |
| 412 std::vector<std::string> url_strings; | 412 std::vector<std::string> url_strings; |
| 413 args->Get(keys::kUrlKey, &url_value); | 413 args->Get(keys::kUrlKey, &url_value); |
| 414 | 414 |
| 415 // First, get all the URLs the client wants to open. | 415 // First, get all the URLs the client wants to open. |
| 416 if (url_value->IsType(Value::TYPE_STRING)) { | 416 if (url_value->IsType(Value::TYPE_STRING)) { |
| 417 std::string url_string; | 417 std::string url_string; |
| 418 url_value->GetAsString(&url_string); | 418 url_value->GetAsString(&url_string); |
| 419 url_strings.push_back(url_string); | 419 url_strings.push_back(url_string); |
| 420 } else if (const ListValue* url_list = url_value->AsList()) { | 420 } else if (url_value->IsType(Value::TYPE_LIST)) { |
| 421 const ListValue* url_list = static_cast<const ListValue*>(url_value); |
| 421 for (size_t i = 0; i < url_list->GetSize(); ++i) { | 422 for (size_t i = 0; i < url_list->GetSize(); ++i) { |
| 422 std::string url_string; | 423 std::string url_string; |
| 423 EXTENSION_FUNCTION_VALIDATE(url_list->GetString(i, &url_string)); | 424 EXTENSION_FUNCTION_VALIDATE(url_list->GetString(i, &url_string)); |
| 424 url_strings.push_back(url_string); | 425 url_strings.push_back(url_string); |
| 425 } | 426 } |
| 426 } | 427 } |
| 427 | 428 |
| 428 // Second, resolve, validate and convert them to GURLs. | 429 // Second, resolve, validate and convert them to GURLs. |
| 429 for (std::vector<std::string>::iterator i = url_strings.begin(); | 430 for (std::vector<std::string>::iterator i = url_strings.begin(); |
| 430 i != url_strings.end(); ++i) { | 431 i != url_strings.end(); ++i) { |
| (...skipping 944 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1375 // called for every API call the extension made. | 1376 // called for every API call the extension made. |
| 1376 GotLanguage(language); | 1377 GotLanguage(language); |
| 1377 } | 1378 } |
| 1378 | 1379 |
| 1379 void DetectTabLanguageFunction::GotLanguage(const std::string& language) { | 1380 void DetectTabLanguageFunction::GotLanguage(const std::string& language) { |
| 1380 result_.reset(Value::CreateStringValue(language.c_str())); | 1381 result_.reset(Value::CreateStringValue(language.c_str())); |
| 1381 SendResponse(true); | 1382 SendResponse(true); |
| 1382 | 1383 |
| 1383 Release(); // Balanced in Run() | 1384 Release(); // Balanced in Run() |
| 1384 } | 1385 } |
| OLD | NEW |