summaryrefslogtreecommitdiffstats
path: root/webkit/plugins/ppapi
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/plugins/ppapi')
-rw-r--r--webkit/plugins/ppapi/ppb_scrollbar_impl.cc3
-rw-r--r--webkit/plugins/ppapi/ppb_widget_impl.cc7
-rw-r--r--webkit/plugins/ppapi/ppb_widget_impl.h3
3 files changed, 12 insertions, 1 deletions
diff --git a/webkit/plugins/ppapi/ppb_scrollbar_impl.cc b/webkit/plugins/ppapi/ppb_scrollbar_impl.cc
index d6aa704..1a190bb 100644
--- a/webkit/plugins/ppapi/ppb_scrollbar_impl.cc
+++ b/webkit/plugins/ppapi/ppb_scrollbar_impl.cc
@@ -138,7 +138,10 @@ PP_Bool PPB_Scrollbar_Impl::PaintInternal(const gfx::Rect& rect,
skia::PlatformCanvas* canvas = image->GetPlatformCanvas();
if (!canvas || !scrollbar_.get())
return PP_FALSE;
+ canvas->save();
+ canvas->scale(scale(), scale());
scrollbar_->paint(webkit_glue::ToWebCanvas(canvas), rect);
+ canvas->restore();
#if defined(OS_WIN)
if (base::win::GetVersion() == base::win::VERSION_XP)
diff --git a/webkit/plugins/ppapi/ppb_widget_impl.cc b/webkit/plugins/ppapi/ppb_widget_impl.cc
index 306a1b5..8fe0386 100644
--- a/webkit/plugins/ppapi/ppb_widget_impl.cc
+++ b/webkit/plugins/ppapi/ppb_widget_impl.cc
@@ -22,7 +22,8 @@ namespace webkit {
namespace ppapi {
PPB_Widget_Impl::PPB_Widget_Impl(PP_Instance instance)
- : Resource(::ppapi::OBJECT_IS_IMPL, instance) {
+ : Resource(::ppapi::OBJECT_IS_IMPL, instance),
+ scale_(1.0f) {
memset(&location_, 0, sizeof(location_));
}
@@ -59,6 +60,10 @@ void PPB_Widget_Impl::SetLocation(const PP_Rect* location) {
SetLocationInternal(location);
}
+void PPB_Widget_Impl::SetScale(float scale) {
+ scale_ = scale;
+}
+
void PPB_Widget_Impl::Invalidate(const PP_Rect* dirty) {
PluginInstance* plugin_instance = ResourceHelper::GetPluginInstance(this);
if (!plugin_instance)
diff --git a/webkit/plugins/ppapi/ppb_widget_impl.h b/webkit/plugins/ppapi/ppb_widget_impl.h
index caaab2a..7fd143e 100644
--- a/webkit/plugins/ppapi/ppb_widget_impl.h
+++ b/webkit/plugins/ppapi/ppb_widget_impl.h
@@ -37,6 +37,7 @@ class PPB_Widget_Impl : public ::ppapi::Resource,
virtual PP_Bool HandleEvent(PP_Resource pp_input_event) OVERRIDE;
virtual PP_Bool GetLocation(PP_Rect* location) OVERRIDE;
virtual void SetLocation(const PP_Rect* location) OVERRIDE;
+ virtual void SetScale(float scale) OVERRIDE;
// Notifies the plugin instance that the given rect needs to be repainted.
void Invalidate(const PP_Rect* dirty);
@@ -48,9 +49,11 @@ class PPB_Widget_Impl : public ::ppapi::Resource,
virtual void SetLocationInternal(const PP_Rect* location) = 0;
PP_Rect location() const { return location_; }
+ float scale() const { return scale_; }
private:
PP_Rect location_;
+ float scale_;
DISALLOW_COPY_AND_ASSIGN(PPB_Widget_Impl);
};