Ahhhh I've spent so much time faffing about with this. Originally in early versions of Fishpowered you changed tabs by swiping from the edge, this was always my plan and worked great until Google released edge navigation gestures which forced me to get into full page gestures as I didn't want to have different gesture defaults for different users.After using this browser for some time, I find that the swipe center to switch tab to be a double edge sword. Sometimes, I have a hard time swiping through a carousel control or something similar. Browser ends up switching to the next tab.
The problem with the full-page gestures is that webview has no hooks for in-page scrolling so it's very hard to know if the user is moving something in the page or trying to switch tabs. In current versions I am using javascript to listen for in-page scrolling but this doesn't work in iframes, is slow to hear back from the page, and some sites (e.g. swiping through images on twitter) have hardcoded things to move based on touch position which is impossible for the browser to detect by listening for scrolling.
For 1.6.0 I'm trialing a new method of taking snapshots where you touch down and moments after dragging your finger along the screen, if the screenshots are different then I can know something has probably moved in the page and block the user from changing tabs (or triggering pull down/up gestures). The problems with this new method are I can only take the snapshots quickly enough in Android 8.0+ (due to available API's), and it can be interfered with when anything moves on the page e.g. gifs, videos. It does work a lot better for sites with faked scrolling like twitter though and allows me to add the pull down/up gestures back in (along with some icons so it works much like Chrome now).