summaryrefslogtreecommitdiffstats
path: root/cc/scrollbar_layer.h
diff options
context:
space:
mode:
authoraelias@chromium.org <aelias@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-28 06:34:44 +0000
committeraelias@chromium.org <aelias@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-28 06:34:44 +0000
commit9281fc02ac6c3a3b65b3789694ec52756702dbe1 (patch)
treed1c78d4305cabae465d83a923670d0ec0acfef53 /cc/scrollbar_layer.h
parentc9d37ea870d7c541f3622997f5ec0a28382e8f2e (diff)
downloadchromium_src-9281fc02ac6c3a3b65b3789694ec52756702dbe1.zip
chromium_src-9281fc02ac6c3a3b65b3789694ec52756702dbe1.tar.gz
chromium_src-9281fc02ac6c3a3b65b3789694ec52756702dbe1.tar.bz2
Clamp ScrollbarLayer's texture size to GL_MAX_TEXTURE_SIZE.
When a scale transformation is applied to a scrollbar, its texture size can be larger than the GL maximum. Limit the value of contentsScale to avoid this. Picked up from original patch at https://codereview.chromium.org/11419140/ BUG=161029 Review URL: https://chromiumcodereview.appspot.com/11428042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169869 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/scrollbar_layer.h')
-rw-r--r--cc/scrollbar_layer.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/cc/scrollbar_layer.h b/cc/scrollbar_layer.h
index dcadfc2..6101dfb 100644
--- a/cc/scrollbar_layer.h
+++ b/cc/scrollbar_layer.h
@@ -30,6 +30,7 @@ public:
virtual void update(ResourceUpdateQueue&, const OcclusionTracker*, RenderingStats&) OVERRIDE;
virtual void setLayerTreeHost(LayerTreeHost*) OVERRIDE;
virtual void pushPropertiesTo(LayerImpl*) OVERRIDE;
+ virtual void setContentsScale(float contentsScale) OVERRIDE;
int scrollLayerId() const { return m_scrollLayerId; }
void setScrollLayerId(int id) { m_scrollLayerId = id; }
@@ -45,6 +46,9 @@ private:
void createUpdaterIfNeeded();
gfx::Rect scrollbarLayerRectToContentRect(const gfx::Rect& layerRect) const;
+ int maxTextureSize();
+ float clampScaleToMaxTextureSize(float scale);
+
scoped_ptr<WebKit::WebScrollbar> m_scrollbar;
WebKit::WebScrollbarThemePainter m_painter;
scoped_ptr<WebKit::WebScrollbarThemeGeometry> m_geometry;