1a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// found in the LICENSE file. 4a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 5a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch'use strict'; 6a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 7a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochvar remoting = remoting || {}; 8a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 9a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch/** 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) * Attach appropriate event handlers and show or hide the feedback button based 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) * on whether or not the current version of Chrome recognizes Chrome Remote 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) * Desktop as an authorized feedback source. 13a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch * 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) * @param {HTMLElement} container The menu containing the help and feedback 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) * items. 16a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch */ 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)remoting.manageHelpAndFeedback = function(container) { 180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch var showHelp = function() { 190529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch window.open('https://www.google.com/support/chrome/bin/answer.py?' + 200529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 'answer=1649523'); 210529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch } 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) var helpButton = container.querySelector('.menu-help'); 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) base.debug.assert(helpButton != null); 240529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch helpButton.addEventListener('click', showHelp, false); 255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) var feedbackButton = container.querySelector('.menu-feedback'); 265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) base.debug.assert(feedbackButton != null); 27a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch var chromeVersion = parseInt( 28a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10); 29a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch if (chromeVersion >= 35) { 300529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch feedbackButton.addEventListener('click', 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) remoting.sendFeedback_, 320529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch false); 33a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } else { 34a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch feedbackButton.hidden = true; 35a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 36a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}; 37a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 38a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch/** 39a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch * Pass the current version of Chrome Remote Desktop to the Google Feedback 40a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch * extension and instruct it to show the feedback dialog. 41a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch */ 425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)remoting.sendFeedback_ = function() { 43a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch var message = { 44a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch requestFeedback: true, 45a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch feedbackInfo: { 46a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch description: '', 47a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch systemInformation: [ 48a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch { key: 'version', value: remoting.getExtensionInfo() } 49a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch ] 50a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 51a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch }; 52a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch var kFeedbackExtensionId = 'gfdkimpbcpahaombhbimeihdjnejgicl'; 53a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch chrome.runtime.sendMessage(kFeedbackExtensionId, message, function() {}); 54a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch};