diff --git a/extension/background.html b/extension/background.html index 4f8b3dc..a36dec9 100644 --- a/extension/background.html +++ b/extension/background.html @@ -19,21 +19,6 @@ diff --git a/extension/help.html b/extension/help.html index 58413cd..17647bf 100644 --- a/extension/help.html +++ b/extension/help.html @@ -32,23 +32,10 @@ body,td { function loadHandler() { if (document.location.hash == '#signed_in') { var bg = chrome.extension.getBackgroundPage(); - bg.maybeActivateBrowserChannel(); // TODO: Replace with initializeBrowserChannel() when out of beta - + bg.initializeBrowserChannel(); document.getElementById('signed_in_div').innerHTML = '

' + chrome.i18n.getMessage('signed_in_message') + '

'; } - - // TODO: Remove when out of beta - document.getElementById('p2c_checkbox').checked = (localStorage['activateBrowserChannel'] == 'true'); - } - - // TODO: Remove when out of beta - function checkBoxHandler() { - document.getElementById('p2c_checkbox').checked ? - localStorage['activateBrowserChannel'] = 'true' : - localStorage['activateBrowserChannel'] = 'false'; - var bg = chrome.extension.getBackgroundPage(); - bg.initializeBrowserChannel(); } @@ -97,10 +84,6 @@ body,td {
- - -
Enable Phone to Chrome Feature (Beta)
-
©2010 Google - - -
diff --git a/extension/send_logic.js b/extension/send_logic.js index 15d6159..2df37c3 100644 --- a/extension/send_logic.js +++ b/extension/send_logic.js @@ -21,7 +21,7 @@ var signInUrl = baseUrl + '/signin?extret=' + encodeURIComponent(chrome.extension.getURL('help.html')) + '%23signed_in&ver=' + apiVersion; var signOutUrl = baseUrl + '/signout?extret=' + encodeURIComponent(chrome.extension.getURL('signed_out.html')) + '&ver=' + apiVersion; -var channelUrl = baseUrl + '/browserchannel?ver=' + apiVersion; +var registerUrl = baseUrl + '/register?ver=' + apiVersion; var STATUS_SUCCESS = 'success'; var STATUS_LOGIN_REQUIRED = 'login_required'; @@ -62,13 +62,25 @@ function sendToPhone(title, url, msgType, selection, listener) { } function initializeBrowserChannel() { + // TODO: Enable for v2.2 + return; + console.log('Initializing browser channel'); - req.open('POST', channelUrl, true); - req.setRequestHeader('X-Same-Domain', 'true'); // XSRF protector + + var deviceRegistrationId = localStorage['deviceRegistrationId']; + if (deviceRegistrationId == undefined) { + deviceRegistrationId = (Math.random() + '').substring(3); + localStorage['deviceRegistrationId'] = deviceRegistrationId; + } + + req.open('POST', registerUrl, true); + req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + req.setRequestHeader('X-Same-Domain', 'true'); // XSRF protector + req.onreadystatechange = function() { if (this.readyState == 4) { if (req.status == 200) { - var channelId = req.responseText; + var channelId = req.responseText.substring(3); // expect 'OK '; channel = new goog.appengine.Channel(channelId); socket = channel.open(); socket.onopen = function() { @@ -90,14 +102,17 @@ function initializeBrowserChannel() { } } } else if (req.status == 400) { - if (req.responseText == 'LOGIN_REQUIRED') { + if (req.responseText.indexOf('LOGIN_REQUIRED') == 0) { console.log('Not initializing browser channel because user not logged in'); + } else if (req.responseText.indexOf('NOT_ENABLED') == 0) { + console.log('Not initializing browser channel because feature not enabled for user'); } } else { setTimeout('initializeBrowserChannel()', BROWSER_CHANNEL_RETRY_INTERVAL_MS); } } }; - req.send(); + var data = 'devregid=' + deviceRegistrationId + '&deviceType=chrome' + '&deviceName=Chrome'; + req.send(data); }