#ifndef ANDROID_WEBVIEW_RENDERER_AW_RENDER_VIEW_EXT_H_
#define ANDROID_WEBVIEW_RENDERER_AW_RENDER_VIEW_EXT_H_
#include "base/timer/timer.h"
#include "third_party/blink/public/web/web_view_observer.h"
#include "ui/gfx/geometry/size.h"
namespace android_webview {
class AwRenderViewExt : public blink::WebViewObserver {
public:
AwRenderViewExt(const AwRenderViewExt&) = delete;
AwRenderViewExt& operator=(const AwRenderViewExt&) = delete;
static void WebViewCreated(blink::WebView* web_view,
bool created_by_renderer);
static AwRenderViewExt* FromWebView(blink::WebView* web_view);
bool created_by_renderer() { return created_by_renderer_; }
private:
AwRenderViewExt(blink::WebView* web_view, bool created_by_renderer);
~AwRenderViewExt() override;
void DidCommitCompositorFrame() override;
void DidUpdateMainFrameLayout() override;
void OnDestruct() override;
void UpdateContentsSize();
gfx::Size last_sent_contents_size_;
bool needs_contents_size_update_ = true;
bool created_by_renderer_;
};
}
#endif