Files
chrometophone/extension/background.js
burke.davey 7bad62e50c Event pages, and other cleanup.
Credits: Aaron Boodman
2013-07-27 02:41:26 +00:00

47 lines
1.7 KiB
JavaScript

/*
* Copyright 2010 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function onClickHandler(info, tab) {
var url = info.srcUrl;
if (url == undefined) url = info.linkUrl;
if (url == undefined) url = tab.url;
var msgType = info.mediaType;
if (msgType == undefined) msgType = 'page';
var sel = info.selectionText;
if (sel == undefined) sel = '';
var bg = chrome.extension.getBackgroundPage();
bg.sendToPhone(tab.title, url, msgType, sel, function(status) {
if (status == STATUS_LOGIN_REQUIRED) {
// user will have to click the link again
// TODO: encode the parameters, re-do the post after login
// or TODO: display the 'login required' message first, if regToken is null
chrome.tabs.create({url: signInUrl});
}
});
}
if (chrome.contextMenus) {
chrome.contextMenus.create({'title': chrome.i18n.getMessage('app_name_short'),
'documentUrlPatterns': [ 'http://*/*', 'https://*/*' ],
'contexts': ['link', 'selection', 'image', 'video', 'audio'],
'id': '0'});
chrome.contextMenus.onClicked.addListener(onClickHandler);
}
initializeBrowserChannel();