Index: /CKEditor/trunk/_source/core/tools.js
===================================================================
--- /CKEditor/trunk/_source/core/tools.js	(revision 3087)
+++ /CKEditor/trunk/_source/core/tools.js	(revision 3088)
@@ -317,16 +317,25 @@
 	 *		the entry, or -1 if not found.
 	 * @example
-	 * var letters = [ 'a', 'b', 'c' ];
-	 * alert( CKEDITOR.tools.indexOf( letters, 'b' ) );  "1"
-	 */
-	indexOf : function( array, entry )
-	{
-		for ( var i = 0, len = array.length ; i < len ; i++ )
-		{
-			if ( array[ i ] == entry )
-				return i;
-		}
-		return -1;
-	},
+	 * var letters = [ 'a', 'b', 0, 'c', false ]; 
+	 * alert( CKEDITOR.tools.indexOf( letters, '0' ) );  "-1" because 0 !== '0' 
+	 * alert( CKEDITOR.tools.indexOf( letters, false ) );  "4" because 0 !== false 
+	 */
+	indexOf :
+		// #2514: We should try to use Array.indexOf if it does exist.
+		( Array.prototype.indexOf ) ?
+			function( array, entry )
+				{
+					return array.indexOf( entry );
+				}
+		:
+			function( array, entry )
+			{
+				for ( var i = 0, len = array.length ; i < len ; i++ )
+				{
+					if ( array[ i ] === entry )
+						return i;
+				}
+				return -1;
+			},
 
 	bind : function( func, obj )
