From be76bf3d232d57a86e3fced0e73defb8aef37fbf Mon Sep 17 00:00:00 2001
From: Hakim El Hattab <hakim.elhattab@gmail.com>
Date: Sat, 24 Mar 2012 12:48:16 -0400
Subject: [PATCH] classList polyfill included for ie9

---
 README.md        | 2 ++
 index.html       | 4 ++++
 lib/classList.js | 3 +++
 3 files changed, 9 insertions(+)
 create mode 100644 lib/classList.js

diff --git a/README.md b/README.md
index 93bb6a69..647d07c4 100644
--- a/README.md
+++ b/README.md
@@ -64,6 +64,8 @@ Reveal.initialize({
 - Config option for disabling updates to URL, defaults to true
 - Anchors with image children no longer rotate in 3D on hover
 - Support for mouse wheel navigation ([naugtur](https://github.com/naugtur))
+- Delayed updates to URL hash to work around a bug in Chrome
+- Included a classList polyfill for IE9
 
 #### 1.1
 
diff --git a/index.html b/index.html
index 1518eb95..9db7802e 100644
--- a/index.html
+++ b/index.html
@@ -209,7 +209,11 @@
 		</div>
 		
 		<script src="js/reveal.js"></script>
+
+		<!-- Optional libraries for code syntax highlighting and classList support in IE9 -->
 		<script src="lib/highlight.js"></script>
+		<script src="lib/classList.js"></script>
+
 		<script>
 			// Parse the query string into a key/value object
 			var query = {};
diff --git a/lib/classList.js b/lib/classList.js
new file mode 100644
index 00000000..1bb626d2
--- /dev/null
+++ b/lib/classList.js
@@ -0,0 +1,3 @@
+// classList polyfill from https://github.com/remy/polyfills/blob/master/classList.js
+(function(){function c(a){this._element=a;if(a.className!=this.classCache){this._classCache=a.className;var a=this._classCache.split(" "),b;for(b=0;b<a.length;b++)e.call(this,a[b])}}if(!("undefined"===typeof Element||Element.prototype.hasOwnProperty("classList"))){var d=[].indexOf,f=[].slice,e=[].push,g=[].splice,h=[].join;c.prototype={add:function(a){e.call(this,a);this._element.className=f.call(this,0).join(" ")},contains:function(a){return-1!==d.call(this,a)},item:function(a){return this[a]||null},
+remove:function(a){a=d.call(this,a);g.call(this,a,1);this._element.className=f.call(this,0).join(" ")},toString:function(){return h.call(this," ")},toggle:function(a){-1===d.call(this,a)?this.add(a):this.remove(a)}};window.DOMTokenList=c;Element.prototype.__defineGetter__("classList",function(){return new c(this)})}})();
\ No newline at end of file
-- 
GitLab