diff --git a/src/ng/raf.js b/src/ng/raf.js
index ed0676631116..f0f37f8abbad 100644
--- a/src/ng/raf.js
+++ b/src/ng/raf.js
@@ -13,10 +13,8 @@ function $$RAFProvider() { //rAF
     var rafSupported = !!requestAnimationFrame;
     var raf = rafSupported
       ? function(fn) {
-          var id = requestAnimationFrame(fn);
-          return function() {
-            cancelAnimationFrame(id);
-          };
+          var id = requestAnimationFrame.call($window, fn);
+          return cancelAnimationFrame.bind($window, id);
         }
       : function(fn) {
           var timer = $timeout(fn, 16.66, false); // 1000 / 60 = 16.666
diff --git a/test/extension/manifest.json b/test/extension/manifest.json
new file mode 100644
index 000000000000..6fd03c0594cd
--- /dev/null
+++ b/test/extension/manifest.json
@@ -0,0 +1,15 @@
+{
+  "description": "Test extension for angular.js",
+  "manifest_version": 2,
+  "name": "Angular test",
+  "version": "1.0",
+  "content_scripts": [
+    {
+      "matches": ["https://www.google.ch/*"],
+      "js": [
+	"angular.js",
+	"test.js"]
+    }
+  ]
+
+}
diff --git a/test/extension/test.js b/test/extension/test.js
new file mode 100644
index 000000000000..cb976ad7c661
--- /dev/null
+++ b/test/extension/test.js
@@ -0,0 +1,9 @@
+var html = document.querySelector('html');
+html.setAttribute('ng-app', '');
+
+var buttonDiv = document.createElement('div');
+buttonDiv.setAttribute('ng-show', 'true');
+buttonDiv.innerHTML = 'Hello!';
+
+var hplogo = document.getElementById('hplogo');
+hplogo.insertBefore(buttonDiv, hplogo.childNodes[0]);