Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / remoting / webapp / feedback.js
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
7 var 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  */
20 remoting.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  */
42 remoting.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 };