summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-13 00:04:06 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-13 00:04:06 +0000
commit3947c4d60629f25db90519933ea98bf273259fdd (patch)
tree2c64bc019ecad853a0fc83ac5b5e59196c15d6ee /chrome/renderer
parent576537844b224ca246713c57e039d19d0dfefbf7 (diff)
downloadchromium_src-3947c4d60629f25db90519933ea98bf273259fdd.zip
chromium_src-3947c4d60629f25db90519933ea98bf273259fdd.tar.gz
chromium_src-3947c4d60629f25db90519933ea98bf273259fdd.tar.bz2
I have taken over this patch, original authored by Adam Hunter (adamhunter).
The original issue is: http://codereview.chromium.org/144019 -------------- Functionality has been requested in the Extension API for Javascript to take screenshots of the currently visible tab. This changelist builds this function, chrome.tabs.getVisibleScreenCapture. This function takes a single callback function and returns to that function a data URL of a JPEG image of the current screen. A simple sample extension is provided as a use case. BUG=14760 TEST=There is an extension in chrome\test\data\extensions\samples\screenshot, load this extension. It creates a toolstrip button. Click this button, you should get a page with a screenshot of the active tab. The API function is found at chrome.tabs.getVisibleScreenCapture. Review URL: http://codereview.chromium.org/160228 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23259 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/extensions/extension_api_client_unittest.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/chrome/renderer/extensions/extension_api_client_unittest.cc b/chrome/renderer/extensions/extension_api_client_unittest.cc
index 5465a5c..49136c5 100644
--- a/chrome/renderer/extensions/extension_api_client_unittest.cc
+++ b/chrome/renderer/extensions/extension_api_client_unittest.cc
@@ -422,6 +422,18 @@ TEST_F(ExtensionAPIClientTest, RemoveTab) {
"tabs.remove", "2");
}
+TEST_F(ExtensionAPIClientTest, CaptureVisibleTab) {
+ ExpectJsFail("chrome.tabs.captureVisibleTab(0);",
+ "Uncaught Error: Parameter 1 is required.");
+
+ ExpectJsFail("chrome.tabs.captureVisibleTab(function(){}, 0)",
+ "Uncaught Error: Invalid value for argument 0. "
+ "Expected 'integer' but got 'function'.");
+
+ ExpectJsPass("chrome.tabs.captureVisibleTab(null, function(img){});",
+ "tabs.captureVisibleTab", "null");
+}
+
// Bookmark API tests
// TODO(erikkay) add more variations here