diff options
-rw-r--r-- | chrome/renderer/pepper_scrollbar_widget.cc | 6 | ||||
-rw-r--r-- | chrome/renderer/pepper_scrollbar_widget.h | 2 | ||||
-rw-r--r-- | chrome/renderer/pepper_widget.cc | 8 | ||||
-rw-r--r-- | third_party/npapi/bindings/npapi_extensions.h | 11 |
4 files changed, 18 insertions, 9 deletions
diff --git a/chrome/renderer/pepper_scrollbar_widget.cc b/chrome/renderer/pepper_scrollbar_widget.cc index 1f13ec5..4d45200 100644 --- a/chrome/renderer/pepper_scrollbar_widget.cc +++ b/chrome/renderer/pepper_scrollbar_widget.cc @@ -21,8 +21,9 @@ const float PepperScrollbarWidget::kInitialAutoscrollTimerDelay = 0.25f; const float PepperScrollbarWidget::kAutoscrollTimerDelay = 0.05f; -PepperScrollbarWidget::PepperScrollbarWidget() - : vertical_(true), +PepperScrollbarWidget::PepperScrollbarWidget( + const NPScrollbarCreateParams& params) + : vertical_(params.vertical), enabled_(true), length_(0), total_length_(0), @@ -122,7 +123,6 @@ void PepperScrollbarWidget::SetProperty( NPRect* r = static_cast<NPRect*>(value); gfx::Point location(r->left, r->top); gfx::Size size(r->right - r->left, r->bottom - r->top); - vertical_ = size.height() > size.width(); SetLocation(location, vertical_ ? size.height() : size.width(), total_length_); diff --git a/chrome/renderer/pepper_scrollbar_widget.h b/chrome/renderer/pepper_scrollbar_widget.h index a762bb8..9d37fdb 100644 --- a/chrome/renderer/pepper_scrollbar_widget.h +++ b/chrome/renderer/pepper_scrollbar_widget.h @@ -16,7 +16,7 @@ // instead. class PepperScrollbarWidget : public PepperWidget { public: - PepperScrollbarWidget(); + PepperScrollbarWidget(const NPScrollbarCreateParams& params); ~PepperScrollbarWidget(); virtual void Destroy(); diff --git a/chrome/renderer/pepper_widget.cc b/chrome/renderer/pepper_widget.cc index 5fa2fc5..b733cc7 100644 --- a/chrome/renderer/pepper_widget.cc +++ b/chrome/renderer/pepper_widget.cc @@ -16,11 +16,15 @@ static int g_next_id; typedef base::hash_map<int, PepperWidget*> WidgetMap; static base::LazyInstance<WidgetMap> g_widgets(base::LINKER_INITIALIZED); -NPError NPCreateWidget(NPP instance, NPWidgetType type, NPWidgetID* id) { +NPError NPCreateWidget(NPP instance, + NPWidgetType type, + void* params, + NPWidgetID* id) { PepperWidget* widget; switch(type) { case NPWidgetTypeScrollbar: - widget = new PepperScrollbarWidget(); + widget = new PepperScrollbarWidget( + *static_cast<NPScrollbarCreateParams*>(params)); break; default: return NPERR_INVALID_PARAM; diff --git a/third_party/npapi/bindings/npapi_extensions.h b/third_party/npapi/bindings/npapi_extensions.h index bdc0dd0..603e58a 100644 --- a/third_party/npapi/bindings/npapi_extensions.h +++ b/third_party/npapi/bindings/npapi_extensions.h @@ -434,10 +434,14 @@ typedef enum { NPWidgetTypeScrollbar = 0, } NPWidgetType; -typedef struct _NPTickMarks { +typedef struct _NPScrollbarCreateParams { + bool vertical; +} NPScrollbarCreateParams; + +typedef struct _NPScrollbarTickMarks { uint32 count; uint32* tickmarks; -} NPTickMarks; +} NPScrollbarTickMarks; typedef enum { NPWidgetPropertyLocation = 0, // Set only. variable is NPRect*. @@ -445,7 +449,7 @@ typedef enum { NPWidgetPropertyScrollbarThickness = 2, // Get only. variable is int32*. NPWidgetPropertyScrollbarPosition = 3, // variable is int32*. NPWidgetPropertyScrollbarDocumentSize = 4, // Set only. variable is int32*. - // Set only. variable is NPTickMarks*. + // Set only. variable is NPScrollbarTickMarks*. NPWidgetPropertyScrollbarTickMarks = 5, // Set only. variable is bool* (true for forward, false for backward). NPWidgetPropertyScrollbarScrollByLine = 6, @@ -462,6 +466,7 @@ typedef enum { typedef NPError (*NPCreateWidgetPtr) ( NPP instance, NPWidgetType type, + void* params, // Widget specific. NPWidgetID* id); // Destroys a widget. |