Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(861)

Unified Diff: Source/web/WebPopupMenuImpl.h

Issue 132173005: Use compositor with select popups. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Source/web/WebPopupMenuImpl.cpp » ('j') | Source/web/WebPopupMenuImpl.cpp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/WebPopupMenuImpl.h
diff --git a/Source/web/WebPopupMenuImpl.h b/Source/web/WebPopupMenuImpl.h
index 20c92e4fe65fba5ecdf6bc69172ac2046a291bd0..5ebf213a180741af4888f3c7c60b808d702bb107 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,20 @@ 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
jamesr 2014/01/21 21:59:23 this formatting is very funky - I don't think we d
+ , public WebContentLayerClient
+ , public RefCounted<WebPopupMenuImpl> {
WTF_MAKE_FAST_ALLOCATED;
public:
// WebWidget functions:
@@ -70,6 +74,8 @@ public:
virtual void willEndLiveResize() OVERRIDE;
virtual void animate(double frameBeginTime) OVERRIDE;
virtual void layout() OVERRIDE;
+ virtual void enterForceCompositingMode(bool enable) OVERRIDE;
+ virtual void didExitCompositingMode() OVERRIDE;
virtual void paint(WebCanvas*, const WebRect&, PaintOptions = ReadbackFromCompositorIfAvailable) OVERRIDE;
virtual void themeChanged() OVERRIDE;
virtual bool handleInputEvent(const WebInputEvent&) OVERRIDE;
@@ -87,6 +93,10 @@ public:
virtual void setTextDirection(WebTextDirection) OVERRIDE;
virtual bool isAcceleratedCompositingActive() const OVERRIDE { return false; }
virtual bool isPopupMenu() const OVERRIDE { return true; }
+ virtual void willCloseLayerTreeView() OVERRIDE;
+
+ // WebContentLayerClient
+ virtual void paintContents(WebCanvas*, const WebRect& clip, bool canPaintLCDTest, WebFloatRect& opaque) OVERRIDE;
// WebPopupMenuImpl
void initialize(WebCore::FramelessScrollView* widget, const WebRect& bounds);
@@ -127,6 +137,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()
« no previous file with comments | « no previous file | Source/web/WebPopupMenuImpl.cpp » ('j') | Source/web/WebPopupMenuImpl.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698