Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6818)

Unified Diff: chrome/common/extensions/docs/examples/api/tabs/screenshot/background.js

Issue 490133002: Fixed Screenshot extension example (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/docs/examples/api/tabs/screenshot/background.js
diff --git a/chrome/common/extensions/docs/examples/api/tabs/screenshot/background.js b/chrome/common/extensions/docs/examples/api/tabs/screenshot/background.js
index 4124857248261f40e234d7c8f49e94bfc92cd0b6..ecba5f40078bb7465b7004426e5520fbb986e354 100644
--- a/chrome/common/extensions/docs/examples/api/tabs/screenshot/background.js
+++ b/chrome/common/extensions/docs/examples/api/tabs/screenshot/background.js
@@ -9,49 +9,26 @@
// open.
var id = 100;
-function takeScreenshot() {
- chrome.tabs.captureVisibleTab(null, function(img) {
+// Listen for a click on the camera icon. On that click, take a screenshot.
+chrome.browserAction.onClicked.addListener(function() {
+
+ chrome.tabs.captureVisibleTab(function(img) {
var screenshotUrl = img;
var viewTabUrl = chrome.extension.getURL('screenshot.html?id=' + id++)
- chrome.tabs.create({url: viewTabUrl}, function(tab) {
- var targetId = tab.id;
-
- var addSnapshotImageToTab = function(tabId, changedProps) {
- // We are waiting for the tab we opened to finish loading.
- // Check that the the tab's id matches the tab we opened,
- // and that the tab is done loading.
- if (tabId != targetId || changedProps.status != "complete")
- return;
-
- // Passing the above test means this is the event we were waiting for.
- // There is nothing we need to do for future onUpdated events, so we
- // use removeListner to stop geting called when onUpdated events fire.
- chrome.tabs.onUpdated.removeListener(addSnapshotImageToTab);
-
- // Look through all views to find the window which will display
- // the screenshot. The url of the tab which will display the
- // screenshot includes a query parameter with a unique id, which
- // ensures that exactly one view will have the matching URL.
- var views = chrome.extension.getViews();
- for (var i = 0; i < views.length; i++) {
- var view = views[i];
- if (view.location.href == viewTabUrl) {
- view.setScreenshotUrl(screenshotUrl);
- break;
- }
+ chrome.tabs.create({url: viewTabUrl}, function() {
not at google - send to devlin 2014/08/21 15:00:50 You still do need to do the onUpdated dance here.
+ // Look through all views to find the window which will display
+ // the screenshot. The url of the tab which will display the
+ // screenshot includes a query parameter with a unique id, which
+ // ensures that exactly one view will have the matching URL.
+ var views = chrome.extension.getViews();
+ for (var i = 0; i < views.length; i++) {
+ var view = views[i];
+ if (view.location.href == viewTabUrl) {
+ view.setScreenshotUrl(screenshotUrl);
+ break;
}
- };
- chrome.tabs.onUpdated.addListener(addSnapshotImageToTab);
+ }
});
});
-}
-
-// Listen for a click on the camera icon. On that click, take a screenshot.
-chrome.browserAction.onClicked.addListener(function(tab) {
- if (tab.url.match("^https?://code.google.com")) {
- takeScreenshot();
- } else {
- alert('This sample can only take screenshots of code.google.com pages');
- }
});

Powered by Google App Engine
This is Rietveld 408576698