diff options
Diffstat (limited to 'chrome/browser/gtk/browser_window_gtk.cc')
-rw-r--r-- | chrome/browser/gtk/browser_window_gtk.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc index 4342ff6..7bf9932 100644 --- a/chrome/browser/gtk/browser_window_gtk.cc +++ b/chrome/browser/gtk/browser_window_gtk.cc @@ -360,6 +360,8 @@ gboolean BrowserWindowGtk::OnCustomFrameExpose(GtkWidget* widget, // TODO(tc): This will have to be dynamic once themes are supported. Maybe // detect the theme install and delete the pointer? static NineBox* custom_frame_border = NULL; + static NineBox* default_background = NULL; + static NineBox* default_background_otr = NULL; if (window->use_custom_frame_.GetValue()) { ThemeProvider* theme_provider = @@ -376,9 +378,22 @@ gboolean BrowserWindowGtk::OnCustomFrameExpose(GtkWidget* widget, IDR_WINDOW_BOTTOM_LEFT_CORNER, IDR_WINDOW_BOTTOM_CENTER, IDR_WINDOW_BOTTOM_RIGHT_CORNER); + default_background = new NineBox(theme_provider, + 0, IDR_THEME_FRAME, 0, 0, 0, 0, 0, 0, 0); + default_background_otr = new NineBox(theme_provider, + 0, IDR_THEME_FRAME_INCOGNITO, 0, 0, 0, 0, 0, 0, 0); } + // Draw the default background. // TODO(tc): Handle maximized windows. + cairo_t* cr = gdk_cairo_create(GDK_DRAWABLE(widget->window)); + cairo_rectangle(cr, event->area.x, event->area.y, event->area.width, + event->area.height); + cairo_clip(cr); + NineBox* image = window->browser()->profile()->IsOffTheRecord() + ? default_background_otr : default_background; + image->RenderTopCenterStrip(cr, event->area.x, 0, event->area.width); + cairo_destroy(cr); // TODO(tc): Draw the theme overlay. The windows code is below. // if (theme_provider->HasCustomImage(IDR_THEME_FRAME_OVERLAY)) { |