diff options
author | aelias@chromium.org <aelias@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-28 06:34:44 +0000 |
---|---|---|
committer | aelias@chromium.org <aelias@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-28 06:34:44 +0000 |
commit | 9281fc02ac6c3a3b65b3789694ec52756702dbe1 (patch) | |
tree | d1c78d4305cabae465d83a923670d0ec0acfef53 /cc/scrollbar_layer.h | |
parent | c9d37ea870d7c541f3622997f5ec0a28382e8f2e (diff) | |
download | chromium_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.h | 4 |
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; |