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

Unified Diff: webkit/plugins/ppapi/ppb_scrollbar_impl.h

Issue 7538006: Pepper and WebKit API change to support a plugin knowing if a scrollbar is an overlay one. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Keep the logic to call WebScrollbarGroupImpl's methods in WebKit entirely Created 9 years, 4 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
Index: webkit/plugins/ppapi/ppb_scrollbar_impl.h
===================================================================
--- webkit/plugins/ppapi/ppb_scrollbar_impl.h (revision 95773)
+++ webkit/plugins/ppapi/ppb_scrollbar_impl.h (working copy)
@@ -16,25 +16,24 @@
namespace webkit {
namespace ppapi {
+class PPB_ScrollbarGroup_Impl;
class PluginInstance;
class PPB_Scrollbar_Impl : public PPB_Widget_Impl,
public ::ppapi::thunk::PPB_Scrollbar_API,
public WebKit::WebScrollbarClient {
public:
- PPB_Scrollbar_Impl(PluginInstance* instance, bool vertical);
+ static PP_Resource Create(PP_Resource scrollbar_group,
+ bool vertical);
+
virtual ~PPB_Scrollbar_Impl();
// ResourceObjectBase override.
virtual PPB_Scrollbar_API* AsPPB_Scrollbar_API() OVERRIDE;
- // Returns a pointer to the interface implementing PPB_Scrollbar_0_3 that is
- // exposed to the plugin. New code should use the thunk system for the new
- // version of this API.
- static const PPB_Scrollbar_0_3_Dev* Get0_3Interface();
-
// PPB_Scrollbar_API implementation.
virtual uint32_t GetThickness() OVERRIDE;
+ virtual bool IsOverlay() OVERRIDE;
virtual uint32_t GetValue() OVERRIDE;
virtual void SetValue(uint32_t value) OVERRIDE;
virtual void SetDocumentSize(uint32_t size) OVERRIDE;
@@ -42,6 +41,9 @@
virtual void ScrollBy(PP_ScrollBy_Dev unit, int32_t multiplier) OVERRIDE;
private:
+ PPB_Scrollbar_Impl(PPB_ScrollbarGroup_Impl* group);
+ void Init(bool vertical);
+
// PPB_Widget private implementation.
virtual PP_Bool PaintInternal(const gfx::Rect& rect,
PPB_ImageData_Impl* image) OVERRIDE;
@@ -51,6 +53,8 @@
// WebKit::WebScrollbarClient implementation.
virtual void valueChanged(WebKit::WebScrollbar* scrollbar) OVERRIDE;
+ // TODO(jam): add OVERRIDE once WebKit is rolled
+ virtual void overlayChanged(WebKit::WebScrollbar* scrollbar);
virtual void invalidateScrollbarRect(WebKit::WebScrollbar* scrollbar,
const WebKit::WebRect& rect) OVERRIDE;
virtual void getTickmarks(
@@ -61,7 +65,8 @@
gfx::Rect dirty_;
std::vector<WebKit::WebRect> tickmarks_;
- scoped_ptr<WebKit::WebScrollbar> scrollbar_;
+ scoped_refptr<PPB_ScrollbarGroup_Impl> scrollbar_group_;
+ scoped_ptr<WebKit::WebScrollbar> scrollbar_;
DISALLOW_COPY_AND_ASSIGN(PPB_Scrollbar_Impl);
};

Powered by Google App Engine
This is Rietveld 408576698