mirror of
https://github.com/fergalmoran/chrometophone.git
synced 2025-12-22 09:41:51 +00:00
47 lines
1.7 KiB
JavaScript
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();
|