Voici la solution possible, n'est pas la meilleure, mais mieux que rien.
Il surveille le presse-papier pour les URL, et si une URL collée est la même que dans l'onglet actuel - nous pouvons considérer qu'il a été copié à partir omnibox.
background.js:
// create element for pasting
const textEl = document.createElement('textarea');
document.body.appendChild(textEl);
var prevPasted = '';
setInterval(function() {
// paste text from clipboard to focused textarea
textEl.focus();
textEl.value = '';
document.execCommand('paste');
const pastedText = textEl.value;
// simple cache check
if (pastedText !== prevPasted) {
prevPasted = pastedText;
if (pastedText.match(/https?:/)) { // you can improve you URL scheme
// get the current tab
chrome.tabs.query({active: true, currentWindow: true}, function (tabs) {
var tab = tabs[0];
// check if current tab has the same URL
if (tab.url === pastedText) {
console.log('Omnibox URL:', pastedText);
}
});
}
}
}, 500);
Ne pas oublier d'ajouter des autorisations clipboardRead et onglets dans le manifeste.
Il n'y a pas d'API intégrée. Vous pouvez cependant écrire votre propre utilitaire OS natif pour le faire, et communiquer via nativeMessaging avec l'extension. – wOxxOm