I, you should do a content script extension. Content script code will run in the page, and can add a button wherever you like in the page. You hang a click listener to it with .addEventListener (all DOM stuff, nothing Chrome extension specific), and so on. Read about Chrome extensions Content Scripts here.
Your manifest.json should be like this:
{
"name": "My Extension",
"version": "0.1",
"manifest_version": 2,
"description": "A plain text description",
"default_locale": "en",
"content_scripts": [{
"matches": ["http://*/*", "https://*/*"],
"js": ["yourScript.js"]
}],
}
It will inject yourScript.js in every page. Depends on what are you trying to do, know that yourScript.js has some Content Security Policy limitations you can change.