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

Side by Side Diff: chrome/common/extensions/docs/examples/apps/cycler/cycler.js

Issue 21854002: Remove experimental.record api completely (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased the patch Created 7 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 function $(criterion) {
6 return document.querySelector(criterion);
7 }
8
9 var cyclerUI = new (function () {
10 this.urlList = [];
11 this.cacheDir = "";
12
13 this.captureTab = $("#capture-tab");
14 this.captureTabLabel = $("#capture-tab-label");
15 this.captureButton = $("#capture-test");
16 this.captureErrorDiv = $("#capture-errors-display");
17 this.captureErrorList = $("#capture-errors");
18
19 this.playbackTab = $("#playback-tab");
20 this.playbackTabLabel = $("#playback-tab-label");
21 this.playbackURLs = $("#playback-urls");
22 this.playbackCache = $("#playback-cache-dir");
23 this.playbackButton = $("#playback-test");
24 this.playbackErrorDiv = $("#playback-errors-display");
25 this.playbackErrorList = $("#playback-errors");
26
27 this.playbackURLs.innerText = this.playbackCache.innerText = noTestMessage;
28
29 this.enableTab = function(tabLabel, tab) {
30 var tabList = document.querySelectorAll(".tab");
31 var tabLabelList = document.querySelectorAll(".tab-label");
32
33 for (var i = 0; i < tabList.length; i++)
34 if (tabList[i] == tab)
35 tabList[i].style.visibility = "visible";
36 else
37 tabList[i].style.visibility = "hidden";
38
39 for (var i = 0; i < tabLabelList.length; i++)
40 if (tabLabelList[i] == tabLabel) {
41 tabLabelList[i].classList.add("enabled-tab-label");
42 tabLabelList[i].classList.remove("disabled-tab-label");
43 } else {
44 tabLabelList[i].classList.remove("enabled-tab-label");
45 tabLabelList[i].classList.add("disabled-tab-label");
46 }
47 }
48
49 this.chooseCapture = function() {
50 this.enableTab(this.captureTabLabel, this.captureTab);
51 }
52
53 this.chooseReplay = function() {
54 this.enableTab(this.playbackTabLabel, this.playbackTab);
55 }
56
57 this.captureTest = function() {
58 var errorList = $("#capture-errors");
59 var errors = [];
60
61 this.cacheDir = $("#capture-cache-dir").value;
62 this.urlList = $("#capture-urls").value.split("\n");
63
64 if (errors.length > 0) {
65 this.captureErrorList.innerText = errors.join("\n");
66 this.captureErrorDiv.className = "error-list-show";
67 }
68 else {
69 this.captureErrorDiv.className = "error-list-hide";
70 this.captureButton.disabled = true;
71 chrome.experimental.record.captureURLs(this.urlList, this.cacheDir,
72 this.onCaptureDone.bind(this));
73 }
74 }
75
76 this.onCaptureDone = function(errors) {
77
78 this.captureButton.disabled = false;
79 if (errors.length > 0) {
80 this.captureErrorList.innerText = errors.join("\n");
81 this.captureErrorDiv.className = "error-list-show";
82 this.playbackButton.disabled = true;
83 this.playbackCache.innerText = this.playbackURLs.innerText =
84 noTestMessage;
85 }
86 else {
87 this.captureErrorDiv.className = "error-list-hide";
88 this.playbackButton.disabled = false;
89 this.playbackURLs.innerText = this.urlList.join("\n");
90 this.playbackCache.innerText = this.cacheDir;
91 }
92 }
93
94 this.playbackTest = function() {
95 var extensionPath = $("#extension-dir").value;
96 var repeatCount = parseInt($('#repeat-count').value);
97 var errors = [];
98
99 // Check local errors
100 if (isNaN(repeatCount))
101 errors.push("Enter a number for repeat count");
102 else if (repeatCount < 1 || repeatCount > 100)
103 errors.push("Repeat count must be between 1 and 100");
104
105 if (errors.length > 0) {
106 this.playbackErrorList.innerText = errors.join("\n");
107 this.playbackErrorDiv.className = "error-list-show";
108 } else {
109 this.playbackErrorDiv.className = "error-list-hide";
110 this.playbackButton.disabled = true;
111 chrome.experimental.record.playbackURLs(
112 this.urlList,
113 this.cacheDir,
114 repeatCount,
115 {"extensionPath": extensionPath},
116 this.onReplayDone.bind(this));
117 }
118 }
119
120 this.onReplayDone = function(result) {
121 var playbackResult = $("#playback-result");
122
123 this.playbackButton.disabled = false;
124
125 if (result.errors.length > 0) {
126 this.playbackErrorList.innerText = result.errors.join("<br>");
127 this.playbackErrorDiv.className = "error-list-show";
128 }
129 else {
130 this.playbackErrorDiv.className = "error-list-hide";
131 playbackResult.innerText = "Test took " + result.runTime + "mS :\n" +
132 result.stats;
133 }
134 }
135
136 this.captureButton.addEventListener("click", this.captureTest.bind(this));
137 this.playbackButton.addEventListener("click", this.playbackTest.bind(this));
138 this.captureTabLabel.addEventListener("click", this.chooseCapture.bind(this));
139 this.playbackTabLabel.addEventListener("click", this.chooseReplay.bind(this));
140 this.enableTab(this.captureTabLabel, this.captureTab);
141 })();
142
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698