Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Side by Side Diff: chrome/browser/extensions/api/extension_action/extension_action_api.cc

Issue 2539363004: Make base::Value::TYPE a scoped enum. (Closed)
Patch Set: Rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/browser/extensions/api/extension_action/extension_action_api.h" 5 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 bool ExtensionActionFunction::ExtractDataFromArguments() { 365 bool ExtensionActionFunction::ExtractDataFromArguments() {
366 // There may or may not be details (depends on the function). 366 // There may or may not be details (depends on the function).
367 // The tabId might appear in details (if it exists), as the first 367 // The tabId might appear in details (if it exists), as the first
368 // argument besides the action type (depends on the function), or be omitted 368 // argument besides the action type (depends on the function), or be omitted
369 // entirely. 369 // entirely.
370 base::Value* first_arg = NULL; 370 base::Value* first_arg = NULL;
371 if (!args_->Get(0, &first_arg)) 371 if (!args_->Get(0, &first_arg))
372 return true; 372 return true;
373 373
374 switch (first_arg->GetType()) { 374 switch (first_arg->GetType()) {
375 case base::Value::TYPE_INTEGER: 375 case base::Value::Type::INTEGER:
376 CHECK(first_arg->GetAsInteger(&tab_id_)); 376 CHECK(first_arg->GetAsInteger(&tab_id_));
377 break; 377 break;
378 378
379 case base::Value::TYPE_DICTIONARY: { 379 case base::Value::Type::DICTIONARY: {
380 // Found the details argument. 380 // Found the details argument.
381 details_ = static_cast<base::DictionaryValue*>(first_arg); 381 details_ = static_cast<base::DictionaryValue*>(first_arg);
382 // Still need to check for the tabId within details. 382 // Still need to check for the tabId within details.
383 base::Value* tab_id_value = NULL; 383 base::Value* tab_id_value = NULL;
384 if (details_->Get("tabId", &tab_id_value)) { 384 if (details_->Get("tabId", &tab_id_value)) {
385 switch (tab_id_value->GetType()) { 385 switch (tab_id_value->GetType()) {
386 case base::Value::TYPE_NULL: 386 case base::Value::Type::NONE:
387 // OK; tabId is optional, leave it default. 387 // OK; tabId is optional, leave it default.
388 return true; 388 return true;
389 case base::Value::TYPE_INTEGER: 389 case base::Value::Type::INTEGER:
390 CHECK(tab_id_value->GetAsInteger(&tab_id_)); 390 CHECK(tab_id_value->GetAsInteger(&tab_id_));
391 return true; 391 return true;
392 default: 392 default:
393 // Boom. 393 // Boom.
394 return false; 394 return false;
395 } 395 }
396 } 396 }
397 // Not found; tabId is optional, leave it default. 397 // Not found; tabId is optional, leave it default.
398 break; 398 break;
399 } 399 }
400 400
401 case base::Value::TYPE_NULL: 401 case base::Value::Type::NONE:
402 // The tabId might be an optional argument. 402 // The tabId might be an optional argument.
403 break; 403 break;
404 404
405 default: 405 default:
406 return false; 406 return false;
407 } 407 }
408 408
409 return true; 409 return true;
410 } 410 }
411 411
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 NotifyChange(); 495 NotifyChange();
496 return RespondNow(NoArguments()); 496 return RespondNow(NoArguments());
497 } 497 }
498 498
499 ExtensionFunction::ResponseAction 499 ExtensionFunction::ResponseAction
500 ExtensionActionSetBadgeBackgroundColorFunction::RunExtensionAction() { 500 ExtensionActionSetBadgeBackgroundColorFunction::RunExtensionAction() {
501 EXTENSION_FUNCTION_VALIDATE(details_); 501 EXTENSION_FUNCTION_VALIDATE(details_);
502 base::Value* color_value = NULL; 502 base::Value* color_value = NULL;
503 EXTENSION_FUNCTION_VALIDATE(details_->Get("color", &color_value)); 503 EXTENSION_FUNCTION_VALIDATE(details_->Get("color", &color_value));
504 SkColor color = 0; 504 SkColor color = 0;
505 if (color_value->IsType(base::Value::TYPE_LIST)) { 505 if (color_value->IsType(base::Value::Type::LIST)) {
506 base::ListValue* list = NULL; 506 base::ListValue* list = NULL;
507 EXTENSION_FUNCTION_VALIDATE(details_->GetList("color", &list)); 507 EXTENSION_FUNCTION_VALIDATE(details_->GetList("color", &list));
508 EXTENSION_FUNCTION_VALIDATE(list->GetSize() == 4); 508 EXTENSION_FUNCTION_VALIDATE(list->GetSize() == 4);
509 509
510 int color_array[4] = {0}; 510 int color_array[4] = {0};
511 for (size_t i = 0; i < arraysize(color_array); ++i) { 511 for (size_t i = 0; i < arraysize(color_array); ++i) {
512 EXTENSION_FUNCTION_VALIDATE(list->GetInteger(i, &color_array[i])); 512 EXTENSION_FUNCTION_VALIDATE(list->GetInteger(i, &color_array[i]));
513 } 513 }
514 514
515 color = SkColorSetARGB(color_array[3], color_array[0], 515 color = SkColorSetARGB(color_array[3], color_array[0],
516 color_array[1], color_array[2]); 516 color_array[1], color_array[2]);
517 } else if (color_value->IsType(base::Value::TYPE_STRING)) { 517 } else if (color_value->IsType(base::Value::Type::STRING)) {
518 std::string color_string; 518 std::string color_string;
519 EXTENSION_FUNCTION_VALIDATE(details_->GetString("color", &color_string)); 519 EXTENSION_FUNCTION_VALIDATE(details_->GetString("color", &color_string));
520 if (!image_util::ParseCssColorString(color_string, &color)) 520 if (!image_util::ParseCssColorString(color_string, &color))
521 return RespondNow(Error(kInvalidColorError)); 521 return RespondNow(Error(kInvalidColorError));
522 } 522 }
523 523
524 extension_action_->SetBadgeBackgroundColor(tab_id_, color); 524 extension_action_->SetBadgeBackgroundColor(tab_id_, color);
525 NotifyChange(); 525 NotifyChange();
526 return RespondNow(NoArguments()); 526 return RespondNow(NoArguments());
527 } 527 }
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 if (host->extension_host_type() != VIEW_TYPE_EXTENSION_POPUP || 627 if (host->extension_host_type() != VIEW_TYPE_EXTENSION_POPUP ||
628 host->extension()->id() != extension_->id()) 628 host->extension()->id() != extension_->id())
629 return; 629 return;
630 630
631 SendResponse(true); 631 SendResponse(true);
632 response_sent_ = true; 632 response_sent_ = true;
633 registrar_.RemoveAll(); 633 registrar_.RemoveAll();
634 } 634 }
635 635
636 } // namespace extensions 636 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698