Create LongStringDictionary and replace SimpleStringDictionary on iOS

This relands fd0a0d2b7a which was reverted
in 5dad29423e, with a fix for guarding
kMaxSuffixLength which only used in assert()s with macros which breaks
chromium.mac/ios-device.

Change-Id: I5ee21b7f290517d6e7a0ef90b693b97f92392549
Reviewed-on: https://chromium-review.googlesource.com/751922
Reviewed-by: Mark Mentovai <mark@chromium.org>
This commit is contained in:
Yi Wang 2017-11-02 11:43:35 -07:00 committed by Mark Mentovai
parent 550c6227bb
commit 8e9080bc53
7 changed files with 602 additions and 21 deletions

View file

@ -209,20 +209,22 @@ class NonAllocatingMap {
// Given |key|, removes any associated value. |key| must not be NULL. If
// the key is not found, this is a noop.
void RemoveKey(const char* key) {
bool RemoveKey(const char* key) {
assert(key);
if (!key)
return;
return false;
Entry* entry = GetEntryForKey(key);
if (entry) {
entry->key[0] = '\0';
entry->value[0] = '\0';
return true;
}
#ifndef NDEBUG
assert(GetEntryForKey(key) == NULL);
#endif
return false;
}
// Places a serialized version of the map into |map| and returns the size.