OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * @type {string} | 6 * @type {string} |
7 * @const | 7 * @const |
8 */ | 8 */ |
9 var SRT_DOWNLOAD_PAGE = 'https://www.google.com/chrome/cleanup-tool/'; | 9 var SRT_DOWNLOAD_PAGE = 'https://www.google.com/chrome/cleanup-tool/'; |
10 | 10 |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 // that value since the API uses an integer value, and a conflict in data | 194 // that value since the API uses an integer value, and a conflict in data |
195 // types will cause the report to fail to be sent. | 195 // types will cause the report to fail to be sent. |
196 productId = null; | 196 productId = null; |
197 } | 197 } |
198 feedbackInfo.productId = productId; | 198 feedbackInfo.productId = productId; |
199 | 199 |
200 // Request sending the report, show the landing page (if allowed), and close | 200 // Request sending the report, show the landing page (if allowed), and close |
201 // this window right away. The FeedbackRequest object that represents this | 201 // this window right away. The FeedbackRequest object that represents this |
202 // report will take care of sending the report in the background. | 202 // report will take care of sending the report in the background. |
203 sendFeedbackReport(useSystemInfo); | 203 sendFeedbackReport(useSystemInfo); |
204 window.close(); | 204 scheduleWindowClose(); |
205 return true; | 205 return true; |
206 } | 206 } |
207 | 207 |
208 /** | 208 /** |
209 * Click listener for the cancel button. | 209 * Click listener for the cancel button. |
210 * @param {Event} e The click event being handled. | 210 * @param {Event} e The click event being handled. |
211 */ | 211 */ |
212 function cancel(e) { | 212 function cancel(e) { |
213 e.preventDefault(); | 213 e.preventDefault(); |
214 window.close(); | 214 scheduleWindowClose(); |
215 } | 215 } |
216 | 216 |
217 /** | 217 /** |
218 * Converts a blob data URL to a blob object. | 218 * Converts a blob data URL to a blob object. |
219 * @param {string} url The data URL to convert. | 219 * @param {string} url The data URL to convert. |
220 * @return {Blob} Blob object containing the data. | 220 * @return {Blob} Blob object containing the data. |
221 */ | 221 */ |
222 function dataUrlToBlob(url) { | 222 function dataUrlToBlob(url) { |
223 var mimeString = url.split(',')[0].split(':')[1].split(';')[0]; | 223 var mimeString = url.split(',')[0].split(':')[1].split(';')[0]; |
224 var data = atob(url.split(',')[1]); | 224 var data = atob(url.split(',')[1]); |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 function onSystemInformation() { | 274 function onSystemInformation() { |
275 isSystemInfoReady = true; | 275 isSystemInfoReady = true; |
276 // In case the sys_info_page needs to be notified by this event, do so. | 276 // In case the sys_info_page needs to be notified by this event, do so. |
277 if (sysInfoPageOnSysInfoReadyCallback != null) { | 277 if (sysInfoPageOnSysInfoReadyCallback != null) { |
278 sysInfoPageOnSysInfoReadyCallback(feedbackInfo.systemInformation); | 278 sysInfoPageOnSysInfoReadyCallback(feedbackInfo.systemInformation); |
279 sysInfoPageOnSysInfoReadyCallback = null; | 279 sysInfoPageOnSysInfoReadyCallback = null; |
280 } | 280 } |
281 } | 281 } |
282 | 282 |
283 /** | 283 /** |
| 284 * Close the window after 100ms delay. |
| 285 */ |
| 286 function scheduleWindowClose() { |
| 287 setTimeout(function() { window.close();}, 100); |
| 288 } |
| 289 |
| 290 /** |
284 * Initializes our page. | 291 * Initializes our page. |
285 * Flow: | 292 * Flow: |
286 * .) DOMContent Loaded -> . Request feedbackInfo object | 293 * .) DOMContent Loaded -> . Request feedbackInfo object |
287 * . Setup page event handlers | 294 * . Setup page event handlers |
288 * .) Feedback Object Received -> . take screenshot | 295 * .) Feedback Object Received -> . take screenshot |
289 * . request email | 296 * . request email |
290 * . request System info | 297 * . request System info |
291 * . request i18n strings | 298 * . request i18n strings |
292 * .) Screenshot taken -> . Show Feedback window. | 299 * .) Screenshot taken -> . Show Feedback window. |
293 */ | 300 */ |
(...skipping 11 matching lines...) Expand all Loading... |
305 $('srt-decline-button').onclick = function() { | 312 $('srt-decline-button').onclick = function() { |
306 isShowingSrtPrompt = false; | 313 isShowingSrtPrompt = false; |
307 chrome.feedbackPrivate.logSrtPromptResult(SrtPromptResult.DECLINED); | 314 chrome.feedbackPrivate.logSrtPromptResult(SrtPromptResult.DECLINED); |
308 $('srt-prompt').hidden = true; | 315 $('srt-prompt').hidden = true; |
309 $('content-pane').hidden = false; | 316 $('content-pane').hidden = false; |
310 }; | 317 }; |
311 | 318 |
312 $('srt-accept-button').onclick = function() { | 319 $('srt-accept-button').onclick = function() { |
313 chrome.feedbackPrivate.logSrtPromptResult(SrtPromptResult.ACCEPTED); | 320 chrome.feedbackPrivate.logSrtPromptResult(SrtPromptResult.ACCEPTED); |
314 window.open(SRT_DOWNLOAD_PAGE, '_blank'); | 321 window.open(SRT_DOWNLOAD_PAGE, '_blank'); |
315 window.close(); | 322 scheduleWindowClose(); |
316 }; | 323 }; |
317 | 324 |
318 $('close-button').addEventListener('click', function() { | 325 $('close-button').addEventListener('click', function() { |
319 if (isShowingSrtPrompt) { | 326 if (isShowingSrtPrompt) { |
320 chrome.feedbackPrivate.logSrtPromptResult(SrtPromptResult.CLOSED); | 327 chrome.feedbackPrivate.logSrtPromptResult(SrtPromptResult.CLOSED); |
321 } | 328 } |
322 }); | 329 }); |
323 } else { | 330 } else { |
324 $('srt-prompt').hidden = true; | 331 $('srt-prompt').hidden = true; |
325 } | 332 } |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
447 $('cancel-button').onclick = cancel; | 454 $('cancel-button').onclick = cancel; |
448 $('remove-attached-file').onclick = clearAttachedFile; | 455 $('remove-attached-file').onclick = clearAttachedFile; |
449 // <if expr="chromeos"> | 456 // <if expr="chromeos"> |
450 $('performance-info-checkbox').addEventListener( | 457 $('performance-info-checkbox').addEventListener( |
451 'change', performanceFeedbackChanged); | 458 'change', performanceFeedbackChanged); |
452 // </if> | 459 // </if> |
453 }); | 460 }); |
454 } | 461 } |
455 | 462 |
456 initialize(); | 463 initialize(); |
OLD | NEW |