Index: chrome/browser/gtk/browser_window_gtk.cc |
diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc |
index 20d15706868237c3bf143702d5df9997007811bb..01f2194af1c40d40f54e05547cfbc748ddfebde0 100644 |
--- a/chrome/browser/gtk/browser_window_gtk.cc |
+++ b/chrome/browser/gtk/browser_window_gtk.cc |
@@ -656,13 +656,16 @@ gboolean BrowserWindowGtk::OnCustomFrameExpose(GtkWidget* widget, |
} |
CairoCachedSurface* surface = theme_provider->GetSurfaceNamed( |
image_name, widget); |
- surface->SetSource(cr, |
- 0, |
- window->UseCustomFrame() ? 0 : -kCustomFrameBackgroundVerticalOffset); |
- cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REPEAT); |
- cairo_rectangle(cr, event->area.x, event->area.y, |
- event->area.width, event->area.height); |
- cairo_fill(cr); |
+ if (event->area.y < surface->Height()) { |
+ surface->SetSource(cr, |
+ 0, |
+ window->UseCustomFrame() ? 0 : -kCustomFrameBackgroundVerticalOffset); |
+ // The frame background isn't tiled vertically. |
+ cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REPEAT); |
+ cairo_rectangle(cr, event->area.x, event->area.y, |
+ event->area.width, surface->Height() - event->area.y); |
+ cairo_fill(cr); |
+ } |
if (theme_provider->HasCustomImage(IDR_THEME_FRAME_OVERLAY)) { |
CairoCachedSurface* theme_overlay = theme_provider->GetSurfaceNamed( |