summaryrefslogtreecommitdiffstats
path: root/tools/grit
diff options
context:
space:
mode:
authortony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-04 20:57:44 +0000
committertony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-04 20:57:44 +0000
commit14bb336e4be8a0e230950c068ce66db41105ba76 (patch)
tree529aa6ca7fa7c1590172773586e6842dd6bc6991 /tools/grit
parent4c802db54be1b757511ea22a72bbb57b30750668 (diff)
downloadchromium_src-14bb336e4be8a0e230950c068ce66db41105ba76.zip
chromium_src-14bb336e4be8a0e230950c068ce66db41105ba76.tar.gz
chromium_src-14bb336e4be8a0e230950c068ce66db41105ba76.tar.bz2
Update the .pak file format to version 2: Make resource ids 16bit
values instead of 32bit values. On gzip compressed locales files, this saves 17k total. Bump the cached theme pak version so the caches get rebuilt. BUG=76285 TEST=Covered by unit tests and manually tested installing themes. Review URL: http://codereview.chromium.org/7555003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95487 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/grit')
-rwxr-xr-xtools/grit/grit/format/data_pack.py7
-rw-r--r--tools/grit/grit/format/data_pack_unittest.py8
2 files changed, 8 insertions, 7 deletions
diff --git a/tools/grit/grit/format/data_pack.py b/tools/grit/grit/format/data_pack.py
index c8a46ad..112c13e 100755
--- a/tools/grit/grit/format/data_pack.py
+++ b/tools/grit/grit/format/data_pack.py
@@ -15,7 +15,7 @@ from grit.node import message
from grit.node import misc
-PACK_FILE_VERSION = 1
+PACK_FILE_VERSION = 2
class DataPack(interface.ItemFormatter):
@@ -60,12 +60,13 @@ class DataPack(interface.ItemFormatter):
ret.append(struct.pack("<II", PACK_FILE_VERSION, len(ids)))
HEADER_LENGTH = 2 * 4 # Two uint32s.
- index_length = len(ids) * 3 * 4 # Each entry is 3 uint32s.
+ # Each entry is 1 uint16 + 2 uint32s.
+ index_length = len(ids) * (2 + 2 * 4)
# Write index.
data_offset = HEADER_LENGTH + index_length
for id in ids:
- ret.append(struct.pack("<III", id, data_offset, len(resources[id])))
+ ret.append(struct.pack("<HII", id, data_offset, len(resources[id])))
data_offset += len(resources[id])
# Write data.
diff --git a/tools/grit/grit/format/data_pack_unittest.py b/tools/grit/grit/format/data_pack_unittest.py
index 353f8c1..77c4ba1 100644
--- a/tools/grit/grit/format/data_pack_unittest.py
+++ b/tools/grit/grit/format/data_pack_unittest.py
@@ -1,5 +1,5 @@
#!/usr/bin/python2.4
-# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -15,9 +15,9 @@ from grit.format import data_pack
class FormatDataPackUnittest(unittest.TestCase):
def testWriteDataPack(self):
- expected = ('\x01\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x008\x00\x00'
- '\x00\x00\x00\x00\x00\x04\x00\x00\x008\x00\x00\x00\x0c\x00\x00\x00'
- '\x06\x00\x00\x00D\x00\x00\x00\x0c\x00\x00\x00\n\x00\x00\x00P\x00'
+ expected = ('\x02\x00\x00\x00\x04\x00\x00\x00\x01\x000\x00\x00'
+ '\x00\x00\x00\x00\x00\x04\x000\x00\x00\x00\x0c\x00\x00\x00'
+ '\x06\x00<\x00\x00\x00\x0c\x00\x00\x00\n\x00H\x00'
'\x00\x00\x00\x00\x00\x00this is id 4this is id 6')
input = { 1: "", 4: "this is id 4", 6: "this is id 6", 10: "" }
output = data_pack.DataPack.WriteDataPack(input)