| Index: Source/web/WebPopupMenuImpl.h
|
| diff --git a/Source/web/WebPopupMenuImpl.h b/Source/web/WebPopupMenuImpl.h
|
| index 7a4594f3e8752c9f5e591b94d30b668f09f054ad..66219b5be5ed16160db5ea344cd4be56dbb667b7 100644
|
| --- a/Source/web/WebPopupMenuImpl.h
|
| +++ b/Source/web/WebPopupMenuImpl.h
|
| @@ -33,6 +33,7 @@
|
|
|
| #include "WebPopupMenu.h"
|
| #include "platform/scroll/FramelessScrollViewClient.h"
|
| +#include "public/platform/WebContentLayerClient.h"
|
| #include "public/platform/WebPoint.h"
|
| #include "public/platform/WebSize.h"
|
| #include "wtf/OwnPtr.h"
|
| @@ -49,17 +50,17 @@ class Widget;
|
| }
|
|
|
| namespace blink {
|
| +class WebContentLayer;
|
| class WebGestureEvent;
|
| class WebKeyboardEvent;
|
| +class WebLayerTreeView;
|
| class WebMouseEvent;
|
| class WebMouseWheelEvent;
|
| class WebRange;
|
| struct WebRect;
|
| class WebTouchEvent;
|
|
|
| -class WebPopupMenuImpl : public WebPopupMenu,
|
| - public WebCore::FramelessScrollViewClient,
|
| - public RefCounted<WebPopupMenuImpl> {
|
| +class WebPopupMenuImpl : public WebPopupMenu, public WebCore::FramelessScrollViewClient, public WebContentLayerClient, public RefCounted<WebPopupMenuImpl> {
|
| WTF_MAKE_FAST_ALLOCATED;
|
| public:
|
| // WebWidget functions:
|
| @@ -70,6 +71,8 @@ public:
|
| virtual void willEndLiveResize() OVERRIDE FINAL;
|
| virtual void animate(double frameBeginTime) OVERRIDE FINAL;
|
| virtual void layout() OVERRIDE FINAL;
|
| + virtual void enterForceCompositingMode(bool enable) OVERRIDE FINAL;
|
| + virtual void didExitCompositingMode() OVERRIDE FINAL;
|
| virtual void paint(WebCanvas*, const WebRect&, PaintOptions = ReadbackFromCompositorIfAvailable) OVERRIDE FINAL;
|
| virtual void themeChanged() OVERRIDE FINAL;
|
| virtual bool handleInputEvent(const WebInputEvent&) OVERRIDE FINAL;
|
| @@ -87,6 +90,10 @@ public:
|
| virtual void setTextDirection(WebTextDirection) OVERRIDE FINAL;
|
| virtual bool isAcceleratedCompositingActive() const OVERRIDE FINAL { return false; }
|
| virtual bool isPopupMenu() const OVERRIDE FINAL { return true; }
|
| + virtual void willCloseLayerTreeView() OVERRIDE FINAL;
|
| +
|
| + // WebContentLayerClient
|
| + virtual void paintContents(WebCanvas*, const WebRect& clip, bool canPaintLCDTest, WebFloatRect& opaque) OVERRIDE FINAL;
|
|
|
| // WebPopupMenuImpl
|
| void initialize(WebCore::FramelessScrollView* widget, const WebRect& bounds);
|
| @@ -127,6 +134,10 @@ public:
|
| WebWidgetClient* m_client;
|
| WebSize m_size;
|
|
|
| + WebLayerTreeView* m_layerTreeView;
|
| + OwnPtr<WebContentLayer> m_rootLayer;
|
| + bool m_isAcceleratedCompositingActive;
|
| +
|
| WebPoint m_lastMousePosition;
|
|
|
| // This is a non-owning ref. The popup will notify us via popupClosed()
|
|
|