| Index: chrome/browser/resources/touch_ntp/tools/externs.js | 
| diff --git a/chrome/browser/resources/touch_ntp/tools/externs.js b/chrome/browser/resources/touch_ntp/tools/externs.js | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..f86d21ae9de361e1a1e7ba2522138b5de3979794 | 
| --- /dev/null | 
| +++ b/chrome/browser/resources/touch_ntp/tools/externs.js | 
| @@ -0,0 +1,40 @@ | 
| +// Copyright (c) 2011 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. | 
| + | 
| +// externs.js contains variable declarations for the closure compiler | 
| +// This isn't actually used when running the code. | 
| + | 
| +// JSCompiler doesn't know about this new Element property | 
| +Element.prototype.classList = {}; | 
| +/** @param {string} c */ | 
| +Element.prototype.classList.remove = function(c) {}; | 
| +/** @param {string} c */ | 
| +Element.prototype.classList.add = function(c) {}; | 
| +/** @param {string} c */ | 
| +Element.prototype.classList.contains = function(c) {}; | 
| + | 
| +/** | 
| + *  @constructor | 
| + *  @extends {Event} | 
| + */ | 
| +var CustomEvent = function() {}; | 
| +CustomEvent.prototype.initCustomEvent = | 
| +  function(eventType, bubbles, cancellable, detail) {}; | 
| +/** @type {TouchHandler.EventDetail} */ | 
| +CustomEvent.prototype.detail; | 
| + | 
| + | 
| +/** @param {string} s | 
| + *  @return {string} | 
| + */ | 
| +var url = function(s) {}; | 
| + | 
| +/** | 
| + * @param {string} type | 
| + * @param {EventListener|function(Event):(boolean|undefined)} listener | 
| + * @param {boolean=} opt_useCapture | 
| + * @return {undefined} | 
| + * @suppress {checkTypes} | 
| + */ | 
| +Window.prototype.addEventListener = function(type, listener, opt_useCapture) {}; | 
|  |