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

Unified Diff: Source/devtools/scripts/compile_frontend.py

Issue 332173004: DevTools: [ClosureCompiler] Fix injected script errors on a newer compiler (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Address comments Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/inspector/InjectedScriptCanvasModuleSource.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/scripts/compile_frontend.py
diff --git a/Source/devtools/scripts/compile_frontend.py b/Source/devtools/scripts/compile_frontend.py
index 66e98a00d3b9a26afca7f3ab95ef5f2ac4ea2931..6858f01a25eb7874dfec51972a3e26e75a766429 100755
--- a/Source/devtools/scripts/compile_frontend.py
+++ b/Source/devtools/scripts/compile_frontend.py
@@ -92,7 +92,7 @@ type_checked_jsdoc_tags_or = "|".join(type_checked_jsdoc_tags_list)
# Basic regex for invalid JsDoc types: an object type name ([A-Z][A-Za-z0-9.]+[A-Za-z0-9]) not preceded by '!', '?', ':' (this, new), or '.' (object property).
invalid_type_regex = re.compile(r"@(?:" + type_checked_jsdoc_tags_or + r")\s*\{.*(?<![!?:.A-Za-z0-9])([A-Z][A-Za-z0-9.]+[A-Za-z0-9])[^/]*\}")
-invalid_type_designator_regex = re.compile(r"@(?:" + type_checked_jsdoc_tags_or + r")\s*.*([?!])=?\}")
+invalid_type_designator_regex = re.compile(r"@(?:" + type_checked_jsdoc_tags_or + r")\s*.*(?<![{: ])([?!])=?\}")
importscript_regex = re.compile(r"importScript\(\s*[\"']")
error_warning_regex = re.compile(r"(?:WARNING|ERROR)")
@@ -189,9 +189,6 @@ jsdocValidatorProc = verify_jsdoc_extra()
modules_dir = tempfile.mkdtemp()
common_closure_args = " --summary_detail_level 3 --compilation_level SIMPLE_OPTIMIZATIONS --warning_level VERBOSE --language_in ECMASCRIPT5 --accept_const_keyword --module_output_path_prefix %s/" % modules_dir
-compiler_args_file = tempfile.NamedTemporaryFile(mode='wt', delete=False)
-closure_runner_command = "%s -jar %s --compiler-args-file %s" % (java_exec, closure_runner_jar, compiler_args_file.name)
-
spawned_compiler_command = "%s -jar %s %s \\\n" % (java_exec, closure_compiler_jar, common_closure_args)
modules_by_name = {}
@@ -267,6 +264,9 @@ def dump_module(name, recursively, processed_modules):
print "Compiling frontend..."
+compiler_args_file = tempfile.NamedTemporaryFile(mode='wt', delete=False)
+closure_runner_command = "%s -jar %s --compiler-args-file %s" % (java_exec, closure_runner_jar, compiler_args_file.name)
+
for module in modules:
closure_args = common_closure_args
closure_args += " --externs " + global_externs_file
@@ -279,9 +279,8 @@ modular_compiler_proc = subprocess.Popen(closure_runner_command, stdout=subproce
def unclosure_injected_script(sourceFileName, outFileName):
- sourceFile = open(sourceFileName, "r")
- source = sourceFile.read()
- sourceFile.close()
+ with open(sourceFileName, "r") as sourceFile:
+ source = sourceFile.read()
def replace_function(matchobj):
return re.sub(r"@param", "param", matchobj.group(1) or "") + "\n//" + matchobj.group(2)
@@ -292,9 +291,11 @@ def unclosure_injected_script(sourceFileName, outFileName):
# Comment out its return statement
source = re.sub(r"\n(\s*return\s+[^;]+;\s*\n\}\)\s*)$", "\n/*\\1*/", source)
- outFileName = open(outFileName, "w")
- outFileName.write(source)
- outFileName.close()
+ # Replace the "var Object" override with a "self.Object" one
+ source = re.sub(r"\nvar Object =", "\nself.Object =", source, count=1)
+
+ with open(outFileName, "w") as outFileName:
+ outFileName.write(source)
injectedScriptSourceTmpFile = path.join(inspector_path, "InjectedScriptSourceTmp.js")
injectedScriptCanvasModuleSourceTmpFile = path.join(inspector_path, "InjectedScriptCanvasModuleSourceTmp.js")
« no previous file with comments | « Source/core/inspector/InjectedScriptCanvasModuleSource.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698