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

Side by Side Diff: content/browser/dom_storage/session_storage_database.cc

Issue 2121513002: Replace string::find(prefix) == 0 pattern with base::StartsWith(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix typos Created 4 years, 5 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/browser/dom_storage/session_storage_database.h" 5 #include "content/browser/dom_storage/session_storage_database.h"
6 6
7 #include <inttypes.h> 7 #include <inttypes.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <vector> 10 #include <vector>
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 if (!DatabaseErrorCheck(it->status().ok())) { 291 if (!DatabaseErrorCheck(it->status().ok())) {
292 db_->ReleaseSnapshot(options.snapshot); 292 db_->ReleaseSnapshot(options.snapshot);
293 return false; 293 return false;
294 } 294 }
295 295
296 // Skip the dummy entry "namespace-" and iterate the namespaces. 296 // Skip the dummy entry "namespace-" and iterate the namespaces.
297 std::string current_namespace_start_key; 297 std::string current_namespace_start_key;
298 std::string current_namespace_id; 298 std::string current_namespace_id;
299 for (it->Next(); it->Valid(); it->Next()) { 299 for (it->Next(); it->Valid(); it->Next()) {
300 std::string key = it->key().ToString(); 300 std::string key = it->key().ToString();
301 if (key.find(namespace_prefix) != 0) { 301 if (!base::StartsWith(key, namespace_prefix,
302 base::CompareCase::SENSITIVE)) {
302 // Iterated past the "namespace-" keys. 303 // Iterated past the "namespace-" keys.
303 break; 304 break;
304 } 305 }
305 // For each namespace, the first key is "namespace-<namespaceid>-", and the 306 // For each namespace, the first key is "namespace-<namespaceid>-", and the
306 // subsequent keys are "namespace-<namespaceid>-<origin>". Read the unique 307 // subsequent keys are "namespace-<namespaceid>-<origin>". Read the unique
307 // "<namespaceid>" parts from the keys. 308 // "<namespaceid>" parts from the keys.
308 if (current_namespace_start_key.empty() || 309 if (current_namespace_start_key.empty() ||
309 key.substr(0, current_namespace_start_key.length()) != 310 key.substr(0, current_namespace_start_key.length()) !=
310 current_namespace_start_key) { 311 current_namespace_start_key) {
311 // The key is of the form "namespace-<namespaceid>-" for a new 312 // The key is of the form "namespace-<namespaceid>-" for a new
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 // The namespace_start_key is not found when the namespace doesn't contain 491 // The namespace_start_key is not found when the namespace doesn't contain
491 // any areas. We don't need to do anything. 492 // any areas. We don't need to do anything.
492 return true; 493 return true;
493 } 494 }
494 if (!DatabaseErrorCheck(it->status().ok())) 495 if (!DatabaseErrorCheck(it->status().ok()))
495 return false; 496 return false;
496 497
497 // Skip the dummy entry "namespace-<namespaceid>-" and iterate the origins. 498 // Skip the dummy entry "namespace-<namespaceid>-" and iterate the origins.
498 for (it->Next(); it->Valid(); it->Next()) { 499 for (it->Next(); it->Valid(); it->Next()) {
499 std::string key = it->key().ToString(); 500 std::string key = it->key().ToString();
500 if (key.find(namespace_start_key) != 0) { 501 if (!base::StartsWith(key, namespace_start_key,
502 base::CompareCase::SENSITIVE)) {
501 // Iterated past the origins for this namespace. 503 // Iterated past the origins for this namespace.
502 break; 504 break;
503 } 505 }
504 std::string origin = key.substr(namespace_start_key.length()); 506 std::string origin = key.substr(namespace_start_key.length());
505 std::string map_id = it->value().ToString(); 507 std::string map_id = it->value().ToString();
506 (*areas)[origin] = map_id; 508 (*areas)[origin] = map_id;
507 } 509 }
508 return true; 510 return true;
509 } 511 }
510 512
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 return false; 544 return false;
543 // Advance the iterator 2 times (we still haven't really deleted 545 // Advance the iterator 2 times (we still haven't really deleted
544 // namespace_key). 546 // namespace_key).
545 it->Next(); 547 it->Next();
546 if (!ConsistencyCheck(it->Valid())) 548 if (!ConsistencyCheck(it->Valid()))
547 return false; 549 return false;
548 it->Next(); 550 it->Next();
549 if (!it->Valid()) 551 if (!it->Valid())
550 return true; 552 return true;
551 std::string key = it->key().ToString(); 553 std::string key = it->key().ToString();
552 if (key.find(namespace_start_key) != 0) 554 if (!base::StartsWith(key, namespace_start_key, base::CompareCase::SENSITIVE))
553 batch->Delete(namespace_start_key); 555 batch->Delete(namespace_start_key);
554 return true; 556 return true;
555 } 557 }
556 558
557 bool SessionStorageDatabase::GetMapForArea(const std::string& namespace_id, 559 bool SessionStorageDatabase::GetMapForArea(const std::string& namespace_id,
558 const std::string& origin, 560 const std::string& origin,
559 const leveldb::ReadOptions& options, 561 const leveldb::ReadOptions& options,
560 bool* exists, std::string* map_id) { 562 bool* exists, std::string* map_id) {
561 std::string namespace_key = NamespaceKey(namespace_id, origin); 563 std::string namespace_key = NamespaceKey(namespace_id, origin);
562 leveldb::Status s = db_->Get(options, namespace_key, map_id); 564 leveldb::Status s = db_->Get(options, namespace_key, map_id);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 // If the key is not found, the status of the iterator won't be IsNotFound(), 603 // If the key is not found, the status of the iterator won't be IsNotFound(),
602 // but the iterator will be invalid. The map needs to exist, otherwise we have 604 // but the iterator will be invalid. The map needs to exist, otherwise we have
603 // a stale map_id in the database. 605 // a stale map_id in the database.
604 if (!ConsistencyCheck(it->Valid())) 606 if (!ConsistencyCheck(it->Valid()))
605 return false; 607 return false;
606 if (!DatabaseErrorCheck(it->status().ok())) 608 if (!DatabaseErrorCheck(it->status().ok()))
607 return false; 609 return false;
608 // Skip the dummy entry "map-<mapid>-". 610 // Skip the dummy entry "map-<mapid>-".
609 for (it->Next(); it->Valid(); it->Next()) { 611 for (it->Next(); it->Valid(); it->Next()) {
610 std::string key = it->key().ToString(); 612 std::string key = it->key().ToString();
611 if (key.find(map_start_key) != 0) { 613 if (!base::StartsWith(key, map_start_key, base::CompareCase::SENSITIVE)) {
612 // Iterated past the keys in this map. 614 // Iterated past the keys in this map.
613 break; 615 break;
614 } 616 }
615 // Key is of the form "map-<mapid>-<key>". 617 // Key is of the form "map-<mapid>-<key>".
616 base::string16 key16 = 618 base::string16 key16 =
617 base::UTF8ToUTF16(key.substr(map_start_key.length())); 619 base::UTF8ToUTF16(key.substr(map_start_key.length()));
618 if (only_keys) { 620 if (only_keys) {
619 (*result)[key16] = base::NullableString16(); 621 (*result)[key16] = base::NullableString16();
620 } else { 622 } else {
621 // Convert the raw data stored in std::string (it->value()) to raw data 623 // Convert the raw data stored in std::string (it->value()) to raw data
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
762 std::string SessionStorageDatabase::MapKey(const std::string& map_id, 764 std::string SessionStorageDatabase::MapKey(const std::string& map_id,
763 const std::string& key) { 765 const std::string& key) {
764 return base::StringPrintf("map-%s-%s", map_id.c_str(), key.c_str()); 766 return base::StringPrintf("map-%s-%s", map_id.c_str(), key.c_str());
765 } 767 }
766 768
767 const char* SessionStorageDatabase::NextMapIdKey() { 769 const char* SessionStorageDatabase::NextMapIdKey() {
768 return "next-map-id"; 770 return "next-map-id";
769 } 771 }
770 772
771 } // namespace content 773 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698