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 * Attach appropriate event handlers and show or hide the feedback button based
11 * on whether or not the current version of Chrome recognizes Chrome Remote
12 * Desktop as an authorized feedback source.
13 *
14 * @param {HTMLElement} container The menu containing the help and feedback
15 *     items.
16 */
17remoting.manageHelpAndFeedback = function(container) {
18  var showHelp = function() {
19    window.open('https://www.google.com/support/chrome/bin/answer.py?' +
20                'answer=1649523');
21  }
22  var helpButton = container.querySelector('.menu-help');
23  base.debug.assert(helpButton != null);
24  helpButton.addEventListener('click', showHelp, false);
25  var feedbackButton = container.querySelector('.menu-feedback');
26  base.debug.assert(feedbackButton != null);
27  var chromeVersion = parseInt(
28      window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10);
29  if (chromeVersion >= 35) {
30    feedbackButton.addEventListener('click',
31                                    remoting.sendFeedback_,
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.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};