diff --git a/chromium/third_party/WebKit/Source/build/scripts/rule_bison.py b/chromium/third_party/WebKit/Source/build/scripts/rule_bison.py
index 870f3b56f2862288e6240398bc65dd6fa4428373..e72e87e56fe4386cd3dcf25ddd1cf37500cca226 100755
--- a/chromium/third_party/WebKit/Source/build/scripts/rule_bison.py
+++ b/chromium/third_party/WebKit/Source/build/scripts/rule_bison.py
@@ -41,11 +41,12 @@ import os
 import os.path
 import subprocess
 import sys
+from utilities import abs
 
 assert len(sys.argv) == 3 or len(sys.argv) == 4
 
-inputFile = sys.argv[1]
-outputDir = sys.argv[2]
+inputFile = abs(sys.argv[1])
+outputDir = abs(sys.argv[2])
 bisonExe = 'bison'
 if len(sys.argv) > 3:
     bisonExe = sys.argv[3]
diff --git a/chromium/third_party/WebKit/Source/build/scripts/utilities.py b/chromium/third_party/WebKit/Source/build/scripts/utilities.py
new file mode 100644
index 0000000000000000000000000000000000000000..f236b04cc77598ca7eab201e48c61684e5b316b6
--- /dev/null
+++ b/chromium/third_party/WebKit/Source/build/scripts/utilities.py
@@ -0,0 +1,10 @@
+# Copyright 2014 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.
+
+import os
+
+def abs(filename):
+    # open, abspath, etc. are all limited to the 260 char MAX_PATH and this causes
+    # problems when we try to resolve long relative paths in the WebKit directory structure.
+    return os.path.normpath(os.path.join(os.getcwd(), filename))