#ifndef CHROME_BROWSER_ANDROID_TAB_ANDROID_H_
#define CHROME_BROWSER_ANDROID_TAB_ANDROID_H_
#include <jni.h>
#include "base/android/jni_helper.h"
#include "base/android/scoped_java_ref.h"
#include "base/callback_forward.h"
#include "base/string16.h"
class GURL;
class SkBitmap;
namespace browser_sync {
class SyncedTabDelegate;
}
namespace content {
struct ContextMenuParams;
class WebContents;
}
class TabAndroid {
public:
TabAndroid();
static TabAndroid* FromWebContents(content::WebContents* web_contents);
static TabAndroid* GetNativeTab(JNIEnv* env, jobject obj);
virtual browser_sync::SyncedTabDelegate* GetSyncedTabDelegate() = 0;
int id() const {
return tab_id_;
}
virtual void OnReceivedHttpAuthRequest(jobject auth_handler,
const string16& host,
const string16& realm) = 0;
virtual void ShowContextMenu(const content::ContextMenuParams& params) = 0;
virtual void ShowCustomContextMenu(
const content::ContextMenuParams& params,
const base::Callback<void(int)>& callback) = 0;
virtual void AddShortcutToBookmark(
const GURL& url, const string16& title, const SkBitmap& skbitmap,
int r_value, int g_value, int b_value) = 0;
protected:
virtual ~TabAndroid();
int tab_id_;
};
#endif