| 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 "content/common/android/address_parser_internal.h" | 5 #include "content/common/android/address_parser_internal.h" |
| 6 | 6 |
| 7 #include <bitset> | 7 #include <bitset> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 // Accumulative number of states for sorted names indexed by the first letter. | 333 // Accumulative number of states for sorted names indexed by the first letter. |
| 334 // Required a different one since there are codes that don't share their | 334 // Required a different one since there are codes that don't share their |
| 335 // first letter with the name of their state (MP = Northern Mariana Islands). | 335 // first letter with the name of their state (MP = Northern Mariana Islands). |
| 336 static const int state_names_accumulative[24] = { | 336 static const int state_names_accumulative[24] = { |
| 337 0, 5, 5, 8, 10, 10, 12, 14, | 337 0, 5, 5, 8, 10, 10, 12, 14, |
| 338 15, 19, 19, 21, 22, 31, 40, 43, | 338 15, 19, 19, 21, 22, 31, 40, 43, |
| 339 46, 46, 47, 49, 51, 52, 55, 59 | 339 46, 46, 47, 49, 51, 52, 55, 59 |
| 340 }; | 340 }; |
| 341 | 341 |
| 342 DCHECK_EQ(state_names_accumulative[arraysize(state_names_accumulative) - 1], | 342 DCHECK_EQ(state_names_accumulative[arraysize(state_names_accumulative) - 1], |
| 343 static_cast<int>(ARRAYSIZE_UNSAFE(state_names))); | 343 static_cast<int>(arraysize(state_names))); |
| 344 | 344 |
| 345 const Word& first_word = words->at(state_first_word); | 345 const Word& first_word = words->at(state_first_word); |
| 346 int length = first_word.end - first_word.begin; | 346 int length = first_word.end - first_word.begin; |
| 347 if (length < 2 || !IsAsciiAlpha(*first_word.begin)) | 347 if (length < 2 || !IsAsciiAlpha(*first_word.begin)) |
| 348 return false; | 348 return false; |
| 349 | 349 |
| 350 // No state names start with x, y, z. | 350 // No state names start with x, y, z. |
| 351 base::char16 first_letter = base::ToLowerASCII(*first_word.begin); | 351 base::char16 first_letter = base::ToLowerASCII(*first_word.begin); |
| 352 if (first_letter > 'w') | 352 if (first_letter > 'w') |
| 353 return false; | 353 return false; |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 583 static const int location_names_accumulative[25] = { | 583 static const int location_names_accumulative[25] = { |
| 584 0, 7, 19, 40, 44, | 584 0, 7, 19, 40, 44, |
| 585 47, 57, 62, 68, 71, | 585 47, 57, 62, 68, 71, |
| 586 72, 74, 83, 92, 93, | 586 72, 74, 83, 92, 93, |
| 587 96, 109, 109, 121, 135, | 587 96, 109, 109, 121, 135, |
| 588 143, 145, 151, 155, 157 | 588 143, 145, 151, 155, 157 |
| 589 }; | 589 }; |
| 590 | 590 |
| 591 DCHECK_EQ( | 591 DCHECK_EQ( |
| 592 location_names_accumulative[arraysize(location_names_accumulative) - 1], | 592 location_names_accumulative[arraysize(location_names_accumulative) - 1], |
| 593 static_cast<int>(ARRAYSIZE_UNSAFE(location_names))); | 593 static_cast<int>(arraysize(location_names))); |
| 594 | 594 |
| 595 if (!IsAsciiAlpha(*word.begin)) | 595 if (!IsAsciiAlpha(*word.begin)) |
| 596 return false; | 596 return false; |
| 597 | 597 |
| 598 // No location names start with y, z. | 598 // No location names start with y, z. |
| 599 base::char16 first_letter = base::ToLowerASCII(*word.begin); | 599 base::char16 first_letter = base::ToLowerASCII(*word.begin); |
| 600 if (first_letter > 'x') | 600 if (first_letter > 'x') |
| 601 return false; | 601 return false; |
| 602 | 602 |
| 603 DCHECK(first_letter >= 'a'); | 603 DCHECK(first_letter >= 'a'); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 619 } | 619 } |
| 620 | 620 |
| 621 return false; | 621 return false; |
| 622 } | 622 } |
| 623 | 623 |
| 624 } // namespace internal | 624 } // namespace internal |
| 625 | 625 |
| 626 } // namespace address_parser | 626 } // namespace address_parser |
| 627 | 627 |
| 628 } // namespace content | 628 } // namespace content |
| OLD | NEW |