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

Side by Side Diff: chrome/tools/extensions/chromium_extension.py

Issue 119283: Always output 32bit integer values in header of CRX file.... (Closed) Base URL: svn://chrome-svn.corp.google.com/chrome/trunk/src/
Patch Set: Created 11 years, 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # chromium_extension.py 6 # chromium_extension.py
7 7
8 import array 8 import array
9 import hashlib 9 import hashlib
10 import logging 10 import logging
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 # This is a bit odd - we're actually appending a new zip file to the end 97 # This is a bit odd - we're actually appending a new zip file to the end
98 # of the manifest. Believe it or not, this is actually an explicit 98 # of the manifest. Believe it or not, this is actually an explicit
99 # feature of the zip format, and many zip utilities (this library 99 # feature of the zip format, and many zip utilities (this library
100 # and three others I tried) can still read the underlying zip file. 100 # and three others I tried) can still read the underlying zip file.
101 if os.path.exists(path): 101 if os.path.exists(path):
102 os.remove(path) 102 os.remove(path)
103 out = open(path, "wb") 103 out = open(path, "wb")
104 out.write("Cr24") # Extension file magic number 104 out.write("Cr24") # Extension file magic number
105 # The rest of the header is currently made up of three ints: 105 # The rest of the header is currently made up of three ints:
106 # version, header size, manifest size 106 # version, header size, manifest size
107 header = array.array("l") 107 header = array.array("i")
108 header.append(1) # version 108 header.append(1) # version
109 header.append(16) # header size 109 header.append(16) # header size
110 manifest_json = json.dumps(manifest); 110 manifest_json = json.dumps(manifest);
111 header.append(len(manifest_json)) # manifest size 111 header.append(len(manifest_json)) # manifest size
112 header.tofile(out) 112 header.tofile(out)
113 out.write(manifest_json); 113 out.write(manifest_json);
114 zip = open(zip_path, "rb") 114 zip = open(zip_path, "rb")
115 while True: 115 while True:
116 buf = zip.read(32 * 1024) 116 buf = zip.read(32 * 1024)
117 if not len(buf): 117 if not len(buf):
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 parser.error("missing required option --outfile") 163 parser.error("missing required option --outfile")
164 ext = ExtensionDir(options.indir) 164 ext = ExtensionDir(options.indir)
165 ext.writeToPackage(options.outfile) 165 ext.writeToPackage(options.outfile)
166 pkg = ExtensionPackage(options.outfile) 166 pkg = ExtensionPackage(options.outfile)
167 return 0 167 return 0
168 168
169 169
170 if __name__ == "__main__": 170 if __name__ == "__main__":
171 retcode = Run() 171 retcode = Run()
172 sys.exit(retcode) 172 sys.exit(retcode)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698