IndexedDB: Size the Vector in encodeInt/encodeVarInt/encodeString
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Jul 2012 07:12:23 +0000 (07:12 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Jul 2012 07:12:23 +0000 (07:12 +0000)
commit9dd3a3121a94f8e53345b40748360441350c7188
tree961f6d2f0bc4bb8d6f31a8dc443141cde4254cf5
parent0acacb149323d85f80fddf096141e6502ff8df14
IndexedDB: Size the Vector in encodeInt/encodeVarInt/encodeString
https://bugs.webkit.org/show_bug.cgi?id=91813

Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-07-31
Reviewed by Kentaro Hara.

To avoid memory re-allocation in Vector, init the capability or size of Vector in encodeInt(), encodeVarInt(),
encodeBool(), encodeIDBKey() etc.

No new tests - Low level functions covered by existing layout tests and also covered by Chromium
webkit_unit_tests IDBLevelIDBCodingTest.* which validates the sizes of buffers returned by encodeVarInt.

* Modules/indexeddb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::encodeInt):
(WebCore::IDBLevelDBCoding::encodeVarInt):
(WebCore::IDBLevelDBCoding::encodeString):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@124179 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.cpp
Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.h
Source/WebKit/chromium/tests/IDBLevelDBCodingTest.cpp