summaryrefslogtreecommitdiffstats
path: root/chrome/test/data
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/test/data
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/test/data')
-rwxr-xr-xchrome/test/data/extensions/samples/screenshot/manifest.json9
-rwxr-xr-xchrome/test/data/extensions/samples/screenshot/screenshot.html14
-rwxr-xr-xchrome/test/data/extensions/samples/screenshot/screenshot.js23
-rwxr-xr-xchrome/test/data/extensions/samples/screenshot/toolstrip.html10
4 files changed, 56 insertions, 0 deletions
diff --git a/chrome/test/data/extensions/samples/screenshot/manifest.json b/chrome/test/data/extensions/samples/screenshot/manifest.json
new file mode 100755
index 0000000..644c82d
--- /dev/null
+++ b/chrome/test/data/extensions/samples/screenshot/manifest.json
@@ -0,0 +1,9 @@
+{
+ "name": "Test Screenshot Extension",
+ "version": "1.0",
+ "description": "Test extension for testing screenshot functionality",
+ "toolstrips": [
+ "toolstrip.html"
+ ],
+ "permissions": ["tabs"]
+}
diff --git a/chrome/test/data/extensions/samples/screenshot/screenshot.html b/chrome/test/data/extensions/samples/screenshot/screenshot.html
new file mode 100755
index 0000000..90ac7aa
--- /dev/null
+++ b/chrome/test/data/extensions/samples/screenshot/screenshot.html
@@ -0,0 +1,14 @@
+<html>
+<script>
+function setScreenshotUrl(url) {
+ document.getElementById('target').src = url;
+}
+</script>
+<body>
+ Image here:
+ <p>
+ <img id="target" src="white.jpg" width="640" height="480">
+ <p>
+ End image
+ </body>
+</html>
diff --git a/chrome/test/data/extensions/samples/screenshot/screenshot.js b/chrome/test/data/extensions/samples/screenshot/screenshot.js
new file mode 100755
index 0000000..904c229
--- /dev/null
+++ b/chrome/test/data/extensions/samples/screenshot/screenshot.js
@@ -0,0 +1,23 @@
+function takeScreenshot() {
+ chrome.tabs.captureVisibleTab(null, function(img) {
+ var screenshotUrl = img;
+ var viewTabUrl = chrome.extension.getURL('screenshot.html');
+
+ chrome.tabs.create({url: viewTabUrl}, function(tab) {
+ var targetId = tab.id;
+
+ chrome.tabs.onUpdated.addListener(function(tabId, changedProps) {
+ if (tabId == targetId &&
+ changedProps.status == "complete") {
+ var views = chrome.self.getViews();
+ for (var i = 0; i < views.length; i++) {
+ var view = views[i];
+ if (view.location.href == viewTabUrl) {
+ view.setScreenshotUrl(screenshotUrl);
+ }
+ }
+ }
+ });
+ })
+ });
+}; \ No newline at end of file
diff --git a/chrome/test/data/extensions/samples/screenshot/toolstrip.html b/chrome/test/data/extensions/samples/screenshot/toolstrip.html
new file mode 100755
index 0000000..56c7450
--- /dev/null
+++ b/chrome/test/data/extensions/samples/screenshot/toolstrip.html
@@ -0,0 +1,10 @@
+<html>
+ <head>
+ <script src='screenshot.js' type='text/javascript' />
+ </head>
+ <body>
+ <div onclick="takeScreenshot();" class="toolstrip-button">
+ <span>Take Screenshot</span>
+ </div>
+ </body>
+</html> \ No newline at end of file