• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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'use strict';
6
7var remoting = remoting || {};
8
9/**
10 * Show or hide the feedback button based on whether or not the current version
11 * of Chrome recognizes Chrome Remote Desktop as an authorized feedback source.
12 *
13 * @param {HTMLElement} helpIcon The parent <span> for the help icon and the
14 *     <ul> containing the help and feedback entries.
15 * @param {HTMLElement} helpButton The Help <li> associated with the help icon.
16 * @param {HTMLElement} feedbackButton The Feedback <li> associated with the
17 *     help icon.
18 * @constructor
19 */
20remoting.Feedback = function(helpIcon, helpButton, feedbackButton) {
21  var menuButton = new remoting.MenuButton(helpIcon);
22  var showHelp = function() {
23    window.open('https://www.google.com/support/chrome/bin/answer.py?' +
24                'answer=1649523');
25  }
26  helpButton.addEventListener('click', showHelp, false);
27  var chromeVersion = parseInt(
28      window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10);
29  if (chromeVersion >= 35) {
30    feedbackButton.addEventListener('click',
31                                    this.sendFeedback_.bind(this),
32                                    false);
33  } else {
34    feedbackButton.hidden = true;
35  }
36};
37
38/**
39 * Pass the current version of Chrome Remote Desktop to the Google Feedback
40 * extension and instruct it to show the feedback dialog.
41 */
42remoting.Feedback.prototype.sendFeedback_ = function() {
43  var message = {
44    requestFeedback: true,
45    feedbackInfo: {
46      description: '',
47      systemInformation: [
48        { key: 'version', value: remoting.getExtensionInfo() }
49      ]
50    }
51  };
52  var kFeedbackExtensionId = 'gfdkimpbcpahaombhbimeihdjnejgicl';
53  chrome.runtime.sendMessage(kFeedbackExtensionId, message, function() {});
54};