| Index: content/browser/resources/media/new/util.js | 
| diff --git a/content/browser/resources/media/new/util.js b/content/browser/resources/media/new/util.js | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..fe87fc432afc68d5b49aa19db4124d98eaac4464 | 
| --- /dev/null | 
| +++ b/content/browser/resources/media/new/util.js | 
| @@ -0,0 +1,34 @@ | 
| +// Copyright (c) 2013 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. | 
| + | 
| +/** | 
| + * @fileoverview Some utility functions that don't belong anywhere else in the | 
| + * code. | 
| + */ | 
| + | 
| +var util = (function() { | 
| +  var util = {}; | 
| +  util.object = {}; | 
| +  /** | 
| +   * Calls a function for each element in an object/map/hash. | 
| +   * | 
| +   * @param obj The object to iterate over. | 
| +   * @param f The function to call on every value in the object.  F should have | 
| +   * the following arguments: f(value, key, object) where value is the value | 
| +   * of the property, key is the corresponding key, and obj is the object that | 
| +   * was passed in originally. | 
| +   * @param optObj The object use as 'this' within f. | 
| +   */ | 
| +  util.object.forEach = function(obj, f, optObj) { | 
| +    'use strict'; | 
| +    var key; | 
| +    for (key in obj) { | 
| +      if (obj.hasOwnProperty(key)) { | 
| +        f.call(optObj, obj[key], key, obj); | 
| +      } | 
| +    } | 
| +  }; | 
| + | 
| +  return util; | 
| +}()); | 
|  |