| Index: chrome/browser/android/compositor/layer/thumbnail_layer.cc
|
| diff --git a/chrome/browser/android/compositor/layer/thumbnail_layer.cc b/chrome/browser/android/compositor/layer/thumbnail_layer.cc
|
| index 169f26c6708311c115d07e5b5ddadc451de65780..1d90ecaa99fc9f21084168cbc36cb24c233fe736 100644
|
| --- a/chrome/browser/android/compositor/layer/thumbnail_layer.cc
|
| +++ b/chrome/browser/android/compositor/layer/thumbnail_layer.cc
|
| @@ -23,6 +23,8 @@ void ThumbnailLayer::SetThumbnail(Thumbnail* thumbnail) {
|
|
|
| void ThumbnailLayer::Clip(const gfx::Rect& clipping) {
|
| last_clipping_ = clipping;
|
| + clipped_ = true;
|
| +
|
| gfx::Size clipped_content = gfx::Size(content_size_.width() - clipping.x(),
|
| content_size_.height() - clipping.y());
|
| clipped_content.SetToMin(clipping.size());
|
| @@ -36,6 +38,12 @@ void ThumbnailLayer::Clip(const gfx::Rect& clipping) {
|
| (clipping.y() + clipped_content.height()) / resource_size_.height()));
|
| }
|
|
|
| +void ThumbnailLayer::ClearClip() {
|
| + layer_->SetUV(gfx::PointF(0.f, 0.f), gfx::PointF(1.f, 1.f));
|
| + layer_->SetBounds(gfx::Size(content_size_.width(), content_size_.height()));
|
| + clipped_ = false;
|
| +}
|
| +
|
| void ThumbnailLayer::AddSelfToParentOrReplaceAt(scoped_refptr<cc::Layer> parent,
|
| size_t index) {
|
| if (index >= parent->children().size())
|
| @@ -60,7 +68,10 @@ void ThumbnailLayer::UpdateSizes(const gfx::SizeF& content_size,
|
| if (content_size != content_size_ || resource_size != resource_size_) {
|
| content_size_ = content_size;
|
| resource_size_ = resource_size;
|
| - Clip(last_clipping_);
|
| + if (clipped_)
|
| + Clip(last_clipping_);
|
| + else
|
| + ClearClip();
|
| }
|
| }
|
|
|
|
|