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.
5 // For open-source builds, the redirect URL ends in /dev. For official builds,
6 // it ends in /rel/{extension-id}. This distinction is handled by the manifest;
7 // all we have to do here is check the extension id in the case that there is
8 // one, to allow the official beta and dev channels to co-exist.
10 var extensionId = chrome.i18n.getMessage('@@extension_id');
11 var officialPath = '/talkgadget/oauth/chrome-remote-desktop/rel/' + extensionId;
12 var unofficialPath = '/talkgadget/oauth/chrome-remote-desktop/dev';
14 if (window.location.pathname == officialPath ||
15 window.location.pathname == unofficialPath) {
16 var query = window.location.search.substring(1);
17 var parts = query.split('&');
19 for (var i = 0; i < parts.length; i++) {
20 var pair = parts[i].split('=');
21 queryArgs[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
24 // Chrome may not deliver the message if window.close() is called after
25 // sendMessage(), see crbug.com/444130 . To ensure the message is delivered
26 // wait for a response before closing the window.
27 chrome.extension.sendMessage(queryArgs, function() { window.close(); });