ext/src/inject/inject.js
function listenOnChanges(fn) {
    var scriptContent = 'var cartId="' + me.cart + '";var extId="' + chrome.runtime.id + '";$(document).bind("MenuDishesChanged QuantityChanged MealDealRemoved DishRemoved TipUpdated DiscounCouponAdded AddressSelected DeliveryMethodChanged", ' + fn + ')';
    var script = document.createElement('script');
    script.id = 'tmpScript';
    script.appendChild(document.createTextNode(scriptContent));
    (document.body || document.head || document.documentElement).appendChild(script);
    $("#tmpScript").remove();
}
function listenOnChanges(fn) {
    var scriptContent = 'var cartId="' + me.cart + '";var extId="' + chrome.runtime.id + '";$(document).bind("MenuDishesChanged QuantityChanged MealDealRemoved DishRemoved TipUpdated DiscounCouponAdded AddressSelected DeliveryMethodChanged", ' + fn + ')';
    var script = document.createElement('script');
    script.id = 'tmpScript';
    script.appendChild(document.createTextNode(scriptContent));
    (document.body || document.head || document.documentElement).appendChild(script);
    $("#tmpScript").remove();
}
------------ start of web-page context run --------------------
runs in scope of web-page , sends message to background.js