summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/browser_window_gtk.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/gtk/browser_window_gtk.cc')
-rw-r--r--chrome/browser/gtk/browser_window_gtk.cc15
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)) {