#ifndef CHROME_BROWSER_ANDROID_CONTEXTUALSEARCH_UNHANDLED_TAP_WEB_CONTENTS_OBSERVER_H_
#define CHROME_BROWSER_ANDROID_CONTEXTUALSEARCH_UNHANDLED_TAP_WEB_CONTENTS_OBSERVER_H_
#include "content/public/browser/web_contents_user_data.h"
namespace contextual_search {
typedef base::RepeatingCallback<void(int x_px, int y_px)> UnhandledTapCallback;
class UnhandledTapWebContentsObserver
: public content::WebContentsUserData<UnhandledTapWebContentsObserver> {
public:
explicit UnhandledTapWebContentsObserver(content::WebContents* web_contents);
UnhandledTapWebContentsObserver(const UnhandledTapWebContentsObserver&) =
delete;
UnhandledTapWebContentsObserver& operator=(
const UnhandledTapWebContentsObserver&) = delete;
~UnhandledTapWebContentsObserver() override;
void set_device_scale_factor(float factor) { device_scale_factor_ = factor; }
float device_scale_factor() const { return device_scale_factor_; }
void set_unhandled_tap_callback(UnhandledTapCallback callback) {
unhandled_tap_callback_ = callback;
}
UnhandledTapCallback unhandled_tap_callback() const {
return unhandled_tap_callback_;
}
private:
friend class content::WebContentsUserData<UnhandledTapWebContentsObserver>;
float device_scale_factor_;
UnhandledTapCallback unhandled_tap_callback_;
WEB_CONTENTS_USER_DATA_KEY_DECL();
};
}
#endif