summaryrefslogtreecommitdiffstats
path: root/patches/chromium/tools/grit/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/chromium/tools/grit/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch')
-rw-r--r--patches/chromium/tools/grit/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/patches/chromium/tools/grit/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch b/patches/chromium/tools/grit/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch
new file mode 100644
index 000000000..9da214cc2
--- /dev/null
+++ b/patches/chromium/tools/grit/0001-GRIT-Allow-grd-files-outside-of-chromium-source-dir.patch
@@ -0,0 +1,43 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Zeno Albisser <zeno.albisser@digia.com>
+Date: Wed, 24 Jul 2013 15:54:50 +0200
+Subject: GRIT: Allow grd files outside of chromium source dir.
+
+When replacing substrings with values from a dictionary,
+the replacements should not be truncated to the length of src_root_dir.
+
+If the basename does not exist as a key in the resource_ids file,
+then fall back to an absolute path.
+
+The precedence is like:
+file in chromium > file basename > absolute file name.
+
+THIS SHOULD BE UPSTREAMABLE.
+---
+ grit/node/misc.py | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/grit/node/misc.py b/grit/node/misc.py
+index 734c57a..33848b2 100755
+--- a/grit/node/misc.py
++++ b/grit/node/misc.py
+@@ -49,7 +49,7 @@ def _ReadFirstIdsFromFile(filename, defines):
+ def ReplaceVariable(matchobj):
+ for key, value in defines.iteritems():
+ if matchobj.group(1) == key:
+- value = os.path.abspath(value)[len(src_root_dir) + 1:]
++ value = os.path.abspath(value)
+ return value
+ return ''
+
+@@ -427,6 +427,10 @@ class GritNode(base.Node):
+ abs_filename = os.path.abspath(filename_or_stream)
+ if abs_filename[:len(src_root_dir)] != src_root_dir:
+ filename = os.path.basename(filename_or_stream)
++ # If the file is not within src_root_dir and the basename is not
++ # found as a key, fall back to using the absolute file name.
++ if not filename in first_ids:
++ filename = abs_filename
+ else:
+ filename = abs_filename[len(src_root_dir) + 1:]
+ filename = filename.replace('\\', '/')