diff --git a/chrome/browser/resources/feedback/js/feedback.js b/chrome/browser/resources/feedback/js/feedback.js
index f79e0946feac0..9e39158dd40ef 100644
--- a/chrome/browser/resources/feedback/js/feedback.js
+++ b/chrome/browser/resources/feedback/js/feedback.js
@@ -235,13 +235,18 @@ function initialize() {
       if (feedbackInfo.pageUrl)
         $('page-url-text').value = feedbackInfo.pageUrl;
 
-      takeScreenshot(function(screenshotDataUrl) {
-        $('screenshot-image').src = screenshotDataUrl;
-        feedbackInfo.screenshot = dataUrlToBlob(screenshotDataUrl);
+      takeScreenshot(function(screenshotCanvas) {
         // TODO(rkc):  Remove logging once crbug.com/284662 is closed.
         console.log('FEEDBACK_DEBUG: Taken screenshot. Showing window.');
+
+        // We've taken our screenshot, show the feedback page without any
+        // further delay.
         resizeAppWindow();
         chrome.app.window.current().show();
+
+        var screenshotDataUrl = screenshotCanvas.toDataURL('image/png');
+        $('screenshot-image').src = screenshotDataUrl;
+        feedbackInfo.screenshot = dataUrlToBlob(screenshotDataUrl);
       });
 
       chrome.feedbackPrivate.getUserEmail(function(email) {
diff --git a/chrome/browser/resources/feedback/js/take_screenshot.js b/chrome/browser/resources/feedback/js/take_screenshot.js
index ae9543c8751d1..2985e64fd43a6 100644
--- a/chrome/browser/resources/feedback/js/take_screenshot.js
+++ b/chrome/browser/resources/feedback/js/take_screenshot.js
@@ -4,8 +4,8 @@
 
 /**
  * Function to take the screenshot of the current screen.
- * @param {function(string)} callback Callback for returning the data URL to the
- *                           screenshot.
+ * @param {function(HTMLCanvasElement)} callback Callback for returning the
+ *                                      canvas with the screenshot on it.
  */
 function takeScreenshot(callback) {
   var screenshotStream = null;
@@ -25,7 +25,7 @@ function takeScreenshot(callback) {
       screenshotStream.stop();
       screenshotStream = null;
 
-      callback(canvas.toDataURL('image/png'));
+      callback(canvas);
     }
   }, false);