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

Side by Side Diff: chrome/browser/gpu_blacklist.cc

Issue 10837044: Correct const accessors in base/values.(h|cc), Part II (ListValue) (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: David's comments Created 8 years, 4 months 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
« no previous file with comments | « chrome/browser/gpu_blacklist.h ('k') | chrome/browser/net/predictor.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/gpu_blacklist.h" 5 #include "chrome/browser/gpu_blacklist.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/json/json_reader.h" 8 #include "base/json/json_reader.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/string_number_conversions.h" 10 #include "base/string_number_conversions.h"
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 (value2_ <= value && value <= value_)); 308 (value2_ <= value && value <= value_));
309 } 309 }
310 310
311 bool GpuBlacklist::FloatInfo::IsValid() const { 311 bool GpuBlacklist::FloatInfo::IsValid() const {
312 return op_ != kUnknown; 312 return op_ != kUnknown;
313 } 313 }
314 314
315 // static 315 // static
316 GpuBlacklist::ScopedGpuBlacklistEntry 316 GpuBlacklist::ScopedGpuBlacklistEntry
317 GpuBlacklist::GpuBlacklistEntry::GetGpuBlacklistEntryFromValue( 317 GpuBlacklist::GpuBlacklistEntry::GetGpuBlacklistEntryFromValue(
318 DictionaryValue* value, bool top_level) { 318 const DictionaryValue* value, bool top_level) {
319 DCHECK(value); 319 DCHECK(value);
320 ScopedGpuBlacklistEntry entry(new GpuBlacklistEntry()); 320 ScopedGpuBlacklistEntry entry(new GpuBlacklistEntry());
321 321
322 size_t dictionary_entry_count = 0; 322 size_t dictionary_entry_count = 0;
323 323
324 if (top_level) { 324 if (top_level) {
325 uint32 id; 325 uint32 id;
326 if (!value->GetInteger("id", reinterpret_cast<int*>(&id)) || 326 if (!value->GetInteger("id", reinterpret_cast<int*>(&id)) ||
327 !entry->SetId(id)) { 327 !entry->SetId(id)) {
328 LOG(WARNING) << "Malformed id entry " << entry->id(); 328 LOG(WARNING) << "Malformed id entry " << entry->id();
329 return NULL; 329 return NULL;
330 } 330 }
331 dictionary_entry_count++; 331 dictionary_entry_count++;
332 332
333 bool disabled; 333 bool disabled;
334 if (value->GetBoolean("disabled", &disabled)) { 334 if (value->GetBoolean("disabled", &disabled)) {
335 entry->SetDisabled(disabled); 335 entry->SetDisabled(disabled);
336 dictionary_entry_count++; 336 dictionary_entry_count++;
337 } 337 }
338 } 338 }
339 339
340 std::string description; 340 std::string description;
341 if (value->GetString("description", &description)) { 341 if (value->GetString("description", &description)) {
342 entry->description_ = description; 342 entry->description_ = description;
343 dictionary_entry_count++; 343 dictionary_entry_count++;
344 } else { 344 } else {
345 entry->description_ = "The GPU is unavailable for an unexplained reason."; 345 entry->description_ = "The GPU is unavailable for an unexplained reason.";
346 } 346 }
347 347
348 ListValue* cr_bugs; 348 const ListValue* cr_bugs;
349 if (value->GetList("cr_bugs", &cr_bugs)) { 349 if (value->GetList("cr_bugs", &cr_bugs)) {
350 for (size_t i = 0; i < cr_bugs->GetSize(); ++i) { 350 for (size_t i = 0; i < cr_bugs->GetSize(); ++i) {
351 int bug_id; 351 int bug_id;
352 if (cr_bugs->GetInteger(i, &bug_id)) { 352 if (cr_bugs->GetInteger(i, &bug_id)) {
353 entry->cr_bugs_.push_back(bug_id); 353 entry->cr_bugs_.push_back(bug_id);
354 } else { 354 } else {
355 LOG(WARNING) << "Malformed cr_bugs entry " << entry->id(); 355 LOG(WARNING) << "Malformed cr_bugs entry " << entry->id();
356 return NULL; 356 return NULL;
357 } 357 }
358 } 358 }
359 dictionary_entry_count++; 359 dictionary_entry_count++;
360 } 360 }
361 361
362 ListValue* webkit_bugs; 362 const ListValue* webkit_bugs;
363 if (value->GetList("webkit_bugs", &webkit_bugs)) { 363 if (value->GetList("webkit_bugs", &webkit_bugs)) {
364 for (size_t i = 0; i < webkit_bugs->GetSize(); ++i) { 364 for (size_t i = 0; i < webkit_bugs->GetSize(); ++i) {
365 int bug_id; 365 int bug_id;
366 if (webkit_bugs->GetInteger(i, &bug_id)) { 366 if (webkit_bugs->GetInteger(i, &bug_id)) {
367 entry->webkit_bugs_.push_back(bug_id); 367 entry->webkit_bugs_.push_back(bug_id);
368 } else { 368 } else {
369 LOG(WARNING) << "Malformed webkit_bugs entry " << entry->id(); 369 LOG(WARNING) << "Malformed webkit_bugs entry " << entry->id();
370 return NULL; 370 return NULL;
371 } 371 }
372 } 372 }
373 dictionary_entry_count++; 373 dictionary_entry_count++;
374 } 374 }
375 375
376 DictionaryValue* os_value = NULL; 376 const DictionaryValue* os_value = NULL;
377 if (value->GetDictionary("os", &os_value)) { 377 if (value->GetDictionary("os", &os_value)) {
378 std::string os_type; 378 std::string os_type;
379 std::string os_version_op = "any"; 379 std::string os_version_op = "any";
380 std::string os_version_string; 380 std::string os_version_string;
381 std::string os_version_string2; 381 std::string os_version_string2;
382 os_value->GetString("type", &os_type); 382 os_value->GetString("type", &os_type);
383 DictionaryValue* os_version_value = NULL; 383 const DictionaryValue* os_version_value = NULL;
384 if (os_value->GetDictionary("version", &os_version_value)) { 384 if (os_value->GetDictionary("version", &os_version_value)) {
385 os_version_value->GetString("op", &os_version_op); 385 os_version_value->GetString("op", &os_version_op);
386 os_version_value->GetString("number", &os_version_string); 386 os_version_value->GetString("number", &os_version_string);
387 os_version_value->GetString("number2", &os_version_string2); 387 os_version_value->GetString("number2", &os_version_string2);
388 } 388 }
389 if (!entry->SetOsInfo(os_type, os_version_op, os_version_string, 389 if (!entry->SetOsInfo(os_type, os_version_op, os_version_string,
390 os_version_string2)) { 390 os_version_string2)) {
391 LOG(WARNING) << "Malformed os entry " << entry->id(); 391 LOG(WARNING) << "Malformed os entry " << entry->id();
392 return NULL; 392 return NULL;
393 } 393 }
394 dictionary_entry_count++; 394 dictionary_entry_count++;
395 } 395 }
396 396
397 std::string vendor_id; 397 std::string vendor_id;
398 if (value->GetString("vendor_id", &vendor_id)) { 398 if (value->GetString("vendor_id", &vendor_id)) {
399 if (!entry->SetVendorId(vendor_id)) { 399 if (!entry->SetVendorId(vendor_id)) {
400 LOG(WARNING) << "Malformed vendor_id entry " << entry->id(); 400 LOG(WARNING) << "Malformed vendor_id entry " << entry->id();
401 return NULL; 401 return NULL;
402 } 402 }
403 dictionary_entry_count++; 403 dictionary_entry_count++;
404 } 404 }
405 405
406 ListValue* device_id_list; 406 const ListValue* device_id_list;
407 if (value->GetList("device_id", &device_id_list)) { 407 if (value->GetList("device_id", &device_id_list)) {
408 for (size_t i = 0; i < device_id_list->GetSize(); ++i) { 408 for (size_t i = 0; i < device_id_list->GetSize(); ++i) {
409 std::string device_id; 409 std::string device_id;
410 if (!device_id_list->GetString(i, &device_id) || 410 if (!device_id_list->GetString(i, &device_id) ||
411 !entry->AddDeviceId(device_id)) { 411 !entry->AddDeviceId(device_id)) {
412 LOG(WARNING) << "Malformed device_id entry " << entry->id(); 412 LOG(WARNING) << "Malformed device_id entry " << entry->id();
413 return NULL; 413 return NULL;
414 } 414 }
415 } 415 }
416 dictionary_entry_count++; 416 dictionary_entry_count++;
(...skipping 10 matching lines...) Expand all
427 427
428 std::string multi_gpu_category; 428 std::string multi_gpu_category;
429 if (value->GetString("multi_gpu_category", &multi_gpu_category)) { 429 if (value->GetString("multi_gpu_category", &multi_gpu_category)) {
430 if (!entry->SetMultiGpuCategory(multi_gpu_category)) { 430 if (!entry->SetMultiGpuCategory(multi_gpu_category)) {
431 LOG(WARNING) << "Malformed multi_gpu_category entry " << entry->id(); 431 LOG(WARNING) << "Malformed multi_gpu_category entry " << entry->id();
432 return NULL; 432 return NULL;
433 } 433 }
434 dictionary_entry_count++; 434 dictionary_entry_count++;
435 } 435 }
436 436
437 DictionaryValue* driver_vendor_value = NULL; 437 const DictionaryValue* driver_vendor_value = NULL;
438 if (value->GetDictionary("driver_vendor", &driver_vendor_value)) { 438 if (value->GetDictionary("driver_vendor", &driver_vendor_value)) {
439 std::string vendor_op; 439 std::string vendor_op;
440 std::string vendor_value; 440 std::string vendor_value;
441 driver_vendor_value->GetString("op", &vendor_op); 441 driver_vendor_value->GetString("op", &vendor_op);
442 driver_vendor_value->GetString("value", &vendor_value); 442 driver_vendor_value->GetString("value", &vendor_value);
443 if (!entry->SetDriverVendorInfo(vendor_op, vendor_value)) { 443 if (!entry->SetDriverVendorInfo(vendor_op, vendor_value)) {
444 LOG(WARNING) << "Malformed driver_vendor entry " << entry->id(); 444 LOG(WARNING) << "Malformed driver_vendor entry " << entry->id();
445 return NULL; 445 return NULL;
446 } 446 }
447 dictionary_entry_count++; 447 dictionary_entry_count++;
448 } 448 }
449 449
450 DictionaryValue* driver_version_value = NULL; 450 const DictionaryValue* driver_version_value = NULL;
451 if (value->GetDictionary("driver_version", &driver_version_value)) { 451 if (value->GetDictionary("driver_version", &driver_version_value)) {
452 std::string driver_version_op = "any"; 452 std::string driver_version_op = "any";
453 std::string driver_version_style; 453 std::string driver_version_style;
454 std::string driver_version_string; 454 std::string driver_version_string;
455 std::string driver_version_string2; 455 std::string driver_version_string2;
456 driver_version_value->GetString("op", &driver_version_op); 456 driver_version_value->GetString("op", &driver_version_op);
457 driver_version_value->GetString("style", &driver_version_style); 457 driver_version_value->GetString("style", &driver_version_style);
458 driver_version_value->GetString("number", &driver_version_string); 458 driver_version_value->GetString("number", &driver_version_string);
459 driver_version_value->GetString("number2", &driver_version_string2); 459 driver_version_value->GetString("number2", &driver_version_string2);
460 if (!entry->SetDriverVersionInfo(driver_version_op, 460 if (!entry->SetDriverVersionInfo(driver_version_op,
461 driver_version_style, 461 driver_version_style,
462 driver_version_string, 462 driver_version_string,
463 driver_version_string2)) { 463 driver_version_string2)) {
464 LOG(WARNING) << "Malformed driver_version entry " << entry->id(); 464 LOG(WARNING) << "Malformed driver_version entry " << entry->id();
465 return NULL; 465 return NULL;
466 } 466 }
467 dictionary_entry_count++; 467 dictionary_entry_count++;
468 } 468 }
469 469
470 DictionaryValue* driver_date_value = NULL; 470 const DictionaryValue* driver_date_value = NULL;
471 if (value->GetDictionary("driver_date", &driver_date_value)) { 471 if (value->GetDictionary("driver_date", &driver_date_value)) {
472 std::string driver_date_op = "any"; 472 std::string driver_date_op = "any";
473 std::string driver_date_string; 473 std::string driver_date_string;
474 std::string driver_date_string2; 474 std::string driver_date_string2;
475 driver_date_value->GetString("op", &driver_date_op); 475 driver_date_value->GetString("op", &driver_date_op);
476 driver_date_value->GetString("number", &driver_date_string); 476 driver_date_value->GetString("number", &driver_date_string);
477 driver_date_value->GetString("number2", &driver_date_string2); 477 driver_date_value->GetString("number2", &driver_date_string2);
478 if (!entry->SetDriverDateInfo(driver_date_op, driver_date_string, 478 if (!entry->SetDriverDateInfo(driver_date_op, driver_date_string,
479 driver_date_string2)) { 479 driver_date_string2)) {
480 LOG(WARNING) << "Malformed driver_date entry " << entry->id(); 480 LOG(WARNING) << "Malformed driver_date entry " << entry->id();
481 return NULL; 481 return NULL;
482 } 482 }
483 dictionary_entry_count++; 483 dictionary_entry_count++;
484 } 484 }
485 485
486 DictionaryValue* gl_vendor_value = NULL; 486 const DictionaryValue* gl_vendor_value = NULL;
487 if (value->GetDictionary("gl_vendor", &gl_vendor_value)) { 487 if (value->GetDictionary("gl_vendor", &gl_vendor_value)) {
488 std::string vendor_op; 488 std::string vendor_op;
489 std::string vendor_value; 489 std::string vendor_value;
490 gl_vendor_value->GetString("op", &vendor_op); 490 gl_vendor_value->GetString("op", &vendor_op);
491 gl_vendor_value->GetString("value", &vendor_value); 491 gl_vendor_value->GetString("value", &vendor_value);
492 if (!entry->SetGLVendorInfo(vendor_op, vendor_value)) { 492 if (!entry->SetGLVendorInfo(vendor_op, vendor_value)) {
493 LOG(WARNING) << "Malformed gl_vendor entry " << entry->id(); 493 LOG(WARNING) << "Malformed gl_vendor entry " << entry->id();
494 return NULL; 494 return NULL;
495 } 495 }
496 dictionary_entry_count++; 496 dictionary_entry_count++;
497 } 497 }
498 498
499 DictionaryValue* gl_renderer_value = NULL; 499 const DictionaryValue* gl_renderer_value = NULL;
500 if (value->GetDictionary("gl_renderer", &gl_renderer_value)) { 500 if (value->GetDictionary("gl_renderer", &gl_renderer_value)) {
501 std::string renderer_op; 501 std::string renderer_op;
502 std::string renderer_value; 502 std::string renderer_value;
503 gl_renderer_value->GetString("op", &renderer_op); 503 gl_renderer_value->GetString("op", &renderer_op);
504 gl_renderer_value->GetString("value", &renderer_value); 504 gl_renderer_value->GetString("value", &renderer_value);
505 if (!entry->SetGLRendererInfo(renderer_op, renderer_value)) { 505 if (!entry->SetGLRendererInfo(renderer_op, renderer_value)) {
506 LOG(WARNING) << "Malformed gl_renderer entry " << entry->id(); 506 LOG(WARNING) << "Malformed gl_renderer entry " << entry->id();
507 return NULL; 507 return NULL;
508 } 508 }
509 dictionary_entry_count++; 509 dictionary_entry_count++;
510 } 510 }
511 511
512 DictionaryValue* perf_graphics_value = NULL; 512 const DictionaryValue* perf_graphics_value = NULL;
513 if (value->GetDictionary("perf_graphics", &perf_graphics_value)) { 513 if (value->GetDictionary("perf_graphics", &perf_graphics_value)) {
514 std::string op; 514 std::string op;
515 std::string float_value; 515 std::string float_value;
516 std::string float_value2; 516 std::string float_value2;
517 perf_graphics_value->GetString("op", &op); 517 perf_graphics_value->GetString("op", &op);
518 perf_graphics_value->GetString("value", &float_value); 518 perf_graphics_value->GetString("value", &float_value);
519 perf_graphics_value->GetString("value2", &float_value2); 519 perf_graphics_value->GetString("value2", &float_value2);
520 if (!entry->SetPerfGraphicsInfo(op, float_value, float_value2)) { 520 if (!entry->SetPerfGraphicsInfo(op, float_value, float_value2)) {
521 LOG(WARNING) << "Malformed perf_graphics entry " << entry->id(); 521 LOG(WARNING) << "Malformed perf_graphics entry " << entry->id();
522 return NULL; 522 return NULL;
523 } 523 }
524 dictionary_entry_count++; 524 dictionary_entry_count++;
525 } 525 }
526 526
527 DictionaryValue* perf_gaming_value = NULL; 527 const DictionaryValue* perf_gaming_value = NULL;
528 if (value->GetDictionary("perf_gaming", &perf_gaming_value)) { 528 if (value->GetDictionary("perf_gaming", &perf_gaming_value)) {
529 std::string op; 529 std::string op;
530 std::string float_value; 530 std::string float_value;
531 std::string float_value2; 531 std::string float_value2;
532 perf_gaming_value->GetString("op", &op); 532 perf_gaming_value->GetString("op", &op);
533 perf_gaming_value->GetString("value", &float_value); 533 perf_gaming_value->GetString("value", &float_value);
534 perf_gaming_value->GetString("value2", &float_value2); 534 perf_gaming_value->GetString("value2", &float_value2);
535 if (!entry->SetPerfGamingInfo(op, float_value, float_value2)) { 535 if (!entry->SetPerfGamingInfo(op, float_value, float_value2)) {
536 LOG(WARNING) << "Malformed perf_gaming entry " << entry->id(); 536 LOG(WARNING) << "Malformed perf_gaming entry " << entry->id();
537 return NULL; 537 return NULL;
538 } 538 }
539 dictionary_entry_count++; 539 dictionary_entry_count++;
540 } 540 }
541 541
542 DictionaryValue* perf_overall_value = NULL; 542 const DictionaryValue* perf_overall_value = NULL;
543 if (value->GetDictionary("perf_overall", &perf_overall_value)) { 543 if (value->GetDictionary("perf_overall", &perf_overall_value)) {
544 std::string op; 544 std::string op;
545 std::string float_value; 545 std::string float_value;
546 std::string float_value2; 546 std::string float_value2;
547 perf_overall_value->GetString("op", &op); 547 perf_overall_value->GetString("op", &op);
548 perf_overall_value->GetString("value", &float_value); 548 perf_overall_value->GetString("value", &float_value);
549 perf_overall_value->GetString("value2", &float_value2); 549 perf_overall_value->GetString("value2", &float_value2);
550 if (!entry->SetPerfOverallInfo(op, float_value, float_value2)) { 550 if (!entry->SetPerfOverallInfo(op, float_value, float_value2)) {
551 LOG(WARNING) << "Malformed perf_overall entry " << entry->id(); 551 LOG(WARNING) << "Malformed perf_overall entry " << entry->id();
552 return NULL; 552 return NULL;
553 } 553 }
554 dictionary_entry_count++; 554 dictionary_entry_count++;
555 } 555 }
556 556
557 if (top_level) { 557 if (top_level) {
558 ListValue* blacklist_value = NULL; 558 const ListValue* blacklist_value = NULL;
559 if (!value->GetList("blacklist", &blacklist_value)) { 559 if (!value->GetList("blacklist", &blacklist_value)) {
560 LOG(WARNING) << "Malformed blacklist entry " << entry->id(); 560 LOG(WARNING) << "Malformed blacklist entry " << entry->id();
561 return NULL; 561 return NULL;
562 } 562 }
563 std::vector<std::string> blacklist; 563 std::vector<std::string> blacklist;
564 for (size_t i = 0; i < blacklist_value->GetSize(); ++i) { 564 for (size_t i = 0; i < blacklist_value->GetSize(); ++i) {
565 std::string feature; 565 std::string feature;
566 if (blacklist_value->GetString(i, &feature)) { 566 if (blacklist_value->GetString(i, &feature)) {
567 blacklist.push_back(feature); 567 blacklist.push_back(feature);
568 } else { 568 } else {
569 LOG(WARNING) << "Malformed blacklist entry " << entry->id(); 569 LOG(WARNING) << "Malformed blacklist entry " << entry->id();
570 return NULL; 570 return NULL;
571 } 571 }
572 } 572 }
573 if (!entry->SetBlacklistedFeatures(blacklist)) { 573 if (!entry->SetBlacklistedFeatures(blacklist)) {
574 LOG(WARNING) << "Malformed blacklist entry " << entry->id(); 574 LOG(WARNING) << "Malformed blacklist entry " << entry->id();
575 return NULL; 575 return NULL;
576 } 576 }
577 dictionary_entry_count++; 577 dictionary_entry_count++;
578 } 578 }
579 579
580 if (top_level) { 580 if (top_level) {
581 ListValue* exception_list_value = NULL; 581 const ListValue* exception_list_value = NULL;
582 if (value->GetList("exceptions", &exception_list_value)) { 582 if (value->GetList("exceptions", &exception_list_value)) {
583 for (size_t i = 0; i < exception_list_value->GetSize(); ++i) { 583 for (size_t i = 0; i < exception_list_value->GetSize(); ++i) {
584 DictionaryValue* exception_value = NULL; 584 const DictionaryValue* exception_value = NULL;
585 if (!exception_list_value->GetDictionary(i, &exception_value)) { 585 if (!exception_list_value->GetDictionary(i, &exception_value)) {
586 LOG(WARNING) << "Malformed exceptions entry " << entry->id(); 586 LOG(WARNING) << "Malformed exceptions entry " << entry->id();
587 return NULL; 587 return NULL;
588 } 588 }
589 ScopedGpuBlacklistEntry exception( 589 ScopedGpuBlacklistEntry exception(
590 GetGpuBlacklistEntryFromValue(exception_value, false)); 590 GetGpuBlacklistEntryFromValue(exception_value, false));
591 if (exception == NULL) { 591 if (exception == NULL) {
592 LOG(WARNING) << "Malformed exceptions entry " << entry->id(); 592 LOG(WARNING) << "Malformed exceptions entry " << entry->id();
593 return NULL; 593 return NULL;
594 } 594 }
595 if (exception->contains_unknown_fields_) { 595 if (exception->contains_unknown_fields_) {
596 LOG(WARNING) << "Exception with unknown fields " << entry->id(); 596 LOG(WARNING) << "Exception with unknown fields " << entry->id();
597 entry->contains_unknown_fields_ = true; 597 entry->contains_unknown_fields_ = true;
598 } else { 598 } else {
599 entry->AddException(exception); 599 entry->AddException(exception);
600 } 600 }
601 } 601 }
602 dictionary_entry_count++; 602 dictionary_entry_count++;
603 } 603 }
604 604
605 DictionaryValue* browser_version_value = NULL; 605 const DictionaryValue* browser_version_value = NULL;
606 // browser_version is processed in LoadGpuBlacklist(). 606 // browser_version is processed in LoadGpuBlacklist().
607 if (value->GetDictionary("browser_version", &browser_version_value)) 607 if (value->GetDictionary("browser_version", &browser_version_value))
608 dictionary_entry_count++; 608 dictionary_entry_count++;
609 } 609 }
610 610
611 if (value->size() != dictionary_entry_count) { 611 if (value->size() != dictionary_entry_count) {
612 LOG(WARNING) << "Entry with unknown fields " << entry->id(); 612 LOG(WARNING) << "Entry with unknown fields " << entry->id();
613 entry->contains_unknown_fields_ = true; 613 entry->contains_unknown_fields_ = true;
614 } 614 }
615 return entry; 615 return entry;
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
968 if (!version_->IsValid()) 968 if (!version_->IsValid())
969 return false; 969 return false;
970 970
971 const ListValue* list = NULL; 971 const ListValue* list = NULL;
972 if (!parsed_json.GetList("entries", &list)) 972 if (!parsed_json.GetList("entries", &list))
973 return false; 973 return false;
974 974
975 uint32 max_entry_id = 0; 975 uint32 max_entry_id = 0;
976 bool contains_unknown_fields = false; 976 bool contains_unknown_fields = false;
977 for (size_t i = 0; i < list->GetSize(); ++i) { 977 for (size_t i = 0; i < list->GetSize(); ++i) {
978 DictionaryValue* list_item = NULL; 978 const DictionaryValue* list_item = NULL;
979 bool valid = list->GetDictionary(i, &list_item); 979 bool valid = list->GetDictionary(i, &list_item);
980 if (!valid || list_item == NULL) 980 if (!valid || list_item == NULL)
981 return false; 981 return false;
982 // Check browser version compatibility: if the entry is not for the 982 // Check browser version compatibility: if the entry is not for the
983 // current browser version, don't process it. 983 // current browser version, don't process it.
984 BrowserVersionSupport browser_version_support = 984 BrowserVersionSupport browser_version_support =
985 IsEntrySupportedByCurrentBrowserVersion(list_item); 985 IsEntrySupportedByCurrentBrowserVersion(list_item);
986 if (browser_version_support == kMalformed) 986 if (browser_version_support == kMalformed)
987 return false; 987 return false;
988 if (browser_version_support == kUnsupported) 988 if (browser_version_support == kUnsupported)
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
1131 1131
1132 void GpuBlacklist::Clear() { 1132 void GpuBlacklist::Clear() {
1133 blacklist_.clear(); 1133 blacklist_.clear();
1134 active_entries_.clear(); 1134 active_entries_.clear();
1135 max_entry_id_ = 0; 1135 max_entry_id_ = 0;
1136 contains_unknown_fields_ = false; 1136 contains_unknown_fields_ = false;
1137 } 1137 }
1138 1138
1139 GpuBlacklist::BrowserVersionSupport 1139 GpuBlacklist::BrowserVersionSupport
1140 GpuBlacklist::IsEntrySupportedByCurrentBrowserVersion( 1140 GpuBlacklist::IsEntrySupportedByCurrentBrowserVersion(
1141 DictionaryValue* value) { 1141 const DictionaryValue* value) {
1142 DCHECK(value); 1142 DCHECK(value);
1143 DictionaryValue* browser_version_value = NULL; 1143 const DictionaryValue* browser_version_value = NULL;
1144 if (value->GetDictionary("browser_version", &browser_version_value)) { 1144 if (value->GetDictionary("browser_version", &browser_version_value)) {
1145 std::string version_op = "any"; 1145 std::string version_op = "any";
1146 std::string version_string; 1146 std::string version_string;
1147 std::string version_string2; 1147 std::string version_string2;
1148 browser_version_value->GetString("op", &version_op); 1148 browser_version_value->GetString("op", &version_op);
1149 browser_version_value->GetString("number", &version_string); 1149 browser_version_value->GetString("number", &version_string);
1150 browser_version_value->GetString("number2", &version_string2); 1150 browser_version_value->GetString("number2", &version_string2);
1151 scoped_ptr<VersionInfo> browser_version_info; 1151 scoped_ptr<VersionInfo> browser_version_info;
1152 browser_version_info.reset( 1152 browser_version_info.reset(
1153 new VersionInfo(version_op, "", version_string, version_string2)); 1153 new VersionInfo(version_op, "", version_string, version_string2));
(...skipping 22 matching lines...) Expand all
1176 if (op == ">") 1176 if (op == ">")
1177 return kGT; 1177 return kGT;
1178 if (op == ">=") 1178 if (op == ">=")
1179 return kGE; 1179 return kGE;
1180 if (op == "any") 1180 if (op == "any")
1181 return kAny; 1181 return kAny;
1182 if (op == "between") 1182 if (op == "between")
1183 return kBetween; 1183 return kBetween;
1184 return kUnknown; 1184 return kUnknown;
1185 } 1185 }
OLDNEW
« no previous file with comments | « chrome/browser/gpu_blacklist.h ('k') | chrome/browser/net/predictor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698