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

Unified Diff: chrome/test/data/extensions/api_test/system_indicator/test.js

Issue 11361189: Initial skeleton for System Indicator API (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase; Make system_indicator manifest entry grant systemIndicator permission. Created 8 years, 1 month 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/test/data/extensions/api_test/system_indicator/test.js
diff --git a/chrome/test/data/extensions/api_test/system_indicator/test.js b/chrome/test/data/extensions/api_test/system_indicator/test.js
new file mode 100644
index 0000000000000000000000000000000000000000..19899ece1f26a9b471b34ad0c8e76bed046e71dc
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/system_indicator/test.js
@@ -0,0 +1,66 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// System indicator test for Chrome.
+// browser_tests.exe --gtest_filter=ExtensionApiTest.SystemIndicator
+
+var callback = function() {
+ if (chrome.runtime.lastError) {
+ console.log('Error detected:' + chrome.runtime.lastError);
+ chrome.test.fail();
+ } else {
+ chrome.test.succeed();
+ }
+};
+
+chrome.test.runTests([
+ function enableAndDisableNonexistentIcon() {
+ // Disable before enable, just in case.
+ chrome.systemIndicator.disable();
+ chrome.systemIndicator.enable();
+ chrome.systemIndicator.disable();
+ chrome.test.succeed();
+ },
+ function setUrl() {
+ chrome.systemIndicator.setIcon({path: '128.png'}, callback);
+ },
+ function setMultiUrl() {
+ var multiUrl = { '19': '128.png', '38': '128.png'};
+ chrome.systemIndicator.setIcon({path: multiUrl}, callback);
+ },
+ function setImageData() {
+ // Create a canvas, then set the icon using it.
+ var canvas = document.createElement('canvas');
+ canvas.width = 20;
+ canvas.height = 20;
+
+ var canvas_context = canvas.getContext('2d');
+ canvas_context.clearRect(0, 0, 20, 20);
+ canvas_context.fillStyle = '#00FF00';
+ canvas_context.fillRect(5, 5, 15, 15);
+ var data = canvas_context.getImageData(0, 0, 20, 20);
+ chrome.systemIndicator.setIcon({ imageData: data }, callback);
+ },
+ function setMultiImageData() {
+ // Create a canvas, then set the icon using it, and pass in multiple scales.
+ var canvas = document.createElement('canvas');
+ canvas.width = 20;
+ canvas.height = 20;
+
+ var canvas_context = canvas.getContext('2d');
+ canvas_context.clearRect(0, 0, 40, 40);
+ canvas_context.fillStyle = '#00FF00';
+ canvas_context.fillRect(5, 5, 15, 15);
+ var data = canvas_context.getImageData(0, 0, 19, 19);
+ var data2x = canvas_context.getImageData(0, 0, 38, 38);
+ var multiImageData = {
+ '19': data,
+ '38': data2x
+ };
+ chrome.systemIndicator.setIcon({ imageData: multiImageData }, callback);
+ },
+ function setEmptyImageData() {
+ chrome.systemIndicator.setIcon({}, callback);
+ }
+]);

Powered by Google App Engine
This is Rietveld 408576698