| Index: chrome/browser/resources/touch_ntp/tools/check | 
| diff --git a/chrome/browser/resources/touch_ntp/tools/check b/chrome/browser/resources/touch_ntp/tools/check | 
| new file mode 100755 | 
| index 0000000000000000000000000000000000000000..52a7dc56ad7fb19c3187b1e6b220e0ac1d31265b | 
| --- /dev/null | 
| +++ b/chrome/browser/resources/touch_ntp/tools/check | 
| @@ -0,0 +1,58 @@ | 
| +#!/bin/bash | 
| + | 
| +# Copyright (c) 2008 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. | 
| + | 
| +# This script checks the touch_ntp code for common errors and style | 
| +# problems using the closure compiler (jscompiler) and closure linter | 
| +# (gjslint) - both of which must be on the path. | 
| +# See http://code.google.com/closure/compiler/ and | 
| +# http://code.google.com/closure/utilities/ for details on these tools. | 
| + | 
| +SOURCES="eventtracker.js touchhandler.js slider.js newtab.js grabber.js " | 
| +SOURCES+="standalone/standalone_hack.js" | 
| + | 
| +# First run the closure compiler looking for syntactic issues. | 
| +# Note that we throw away the output from jscompiler since it's use | 
| +# is not yet common in Chromium and for now we want it to be an optional | 
| +# tool for helping to find bugs, not something that actually changes | 
| +# the embedded JavaScript (making it harder to debug, for example). | 
| + | 
| +# I used to run with '--warning_level VERBOSE' to get full type checking | 
| +# but there are enough limitations in the language and compiler that | 
| +# it doesn't seem worth the benefit (spent more time trying to apease | 
| +# the compiler and reviewers of my code than the compiler saved me). | 
| + | 
| +# Enable support for property get/set syntax as added in ecmascript5. | 
| +# Note that this requires a build of JSCompiler that is newer than | 
| +# Feb 2011. | 
| +CARGS="--language_in=ECMASCRIPT5_STRICT" | 
| + | 
| +CARGS+=" --js_output_file /dev/null" | 
| +for S in $SOURCES tools/externs.js; do | 
| +    CARGS+=" --js $S" | 
| +done | 
| + | 
| +cd `dirname $0`/.. | 
| + | 
| +echo jscompiler $CARGS | 
| +jscompiler $CARGS || exit 1 | 
| + | 
| +# Now run the closure linter looking for style issues. | 
| + | 
| +# GJSLint can't follow the more concice syntax for prototype members and | 
| +# complains about missing @this annotations (filed as bug 4073735).  To | 
| +# cope for now I just just off all missing-JSDoc warnings. | 
| +LARGS="--nojsdoc" | 
| + | 
| +# TODO: Is it worth adding this?  Lots of spacing violations right now. | 
| +# LARGS+=" --strict" | 
| + | 
| +# Might as well check the bit of JS we have embedded in HTML too | 
| +LARGS+=" --check_html newtab.html" | 
| + | 
| +LARGS+=" $SOURCES" | 
| + | 
| +echo gjslint $LARGS | 
| +gjslint $LARGS || exit 1 | 
|  |