Upstream version 11.39.266.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  * 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  */
17 remoting.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  */
42 remoting.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 };