Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5266)

Unified Diff: chrome/browser/ui/gtk/browser_window_gtk.cc

Issue 8866002: GTK: Stamp out GtkThemeService::GetSurfaceNamed(). (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/gtk/find_bar_gtk.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/gtk/browser_window_gtk.cc
diff --git a/chrome/browser/ui/gtk/browser_window_gtk.cc b/chrome/browser/ui/gtk/browser_window_gtk.cc
index 2ecbc30b4ae801d8e265cb270c5b832d8d0d267a..862b8344ab6a969a8e78d15c44cebd6aa6155180 100644
--- a/chrome/browser/ui/gtk/browser_window_gtk.cc
+++ b/chrome/browser/ui/gtk/browser_window_gtk.cc
@@ -93,9 +93,11 @@
#include "ui/base/gtk/gtk_hig_constants.h"
#include "ui/base/keycodes/keyboard_codes.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/resource/resource_bundle.h"
#include "ui/base/x/active_window_watcher_x.h"
#include "ui/gfx/gtk_util.h"
#include "ui/gfx/image/cairo_cached_surface.h"
+#include "ui/gfx/image/image.h"
#include "ui/gfx/rect.h"
#include "ui/gfx/skia_utils_gtk.h"
@@ -444,20 +446,19 @@ gboolean BrowserWindowGtk::OnCustomFrameExpose(GtkWidget* widget,
void BrowserWindowGtk::DrawContentShadow(cairo_t* cr) {
// Draw the shadow above the toolbar. Tabs on the tabstrip will draw over us.
- GtkThemeService* theme_provider = GtkThemeService::GetFrom(
- browser()->profile());
+ ResourceBundle& rb = ResourceBundle::GetSharedInstance();
int left_x, top_y;
gtk_widget_translate_coordinates(toolbar_->widget(),
GTK_WIDGET(window_), 0, 0, &left_x,
&top_y);
int center_width = window_vbox_->allocation.width;
- gfx::CairoCachedSurface* top_center = theme_provider->GetSurfaceNamed(
- IDR_CONTENT_TOP_CENTER, GTK_WIDGET(window_));
- gfx::CairoCachedSurface* top_right = theme_provider->GetSurfaceNamed(
- IDR_CONTENT_TOP_RIGHT_CORNER, GTK_WIDGET(window_));
- gfx::CairoCachedSurface* top_left = theme_provider->GetSurfaceNamed(
- IDR_CONTENT_TOP_LEFT_CORNER, GTK_WIDGET(window_));
+ gfx::CairoCachedSurface* top_center =
+ rb.GetNativeImageNamed(IDR_CONTENT_TOP_CENTER).ToCairo();
+ gfx::CairoCachedSurface* top_right =
+ rb.GetNativeImageNamed(IDR_CONTENT_TOP_RIGHT_CORNER).ToCairo();
+ gfx::CairoCachedSurface* top_left =
+ rb.GetNativeImageNamed(IDR_CONTENT_TOP_LEFT_CORNER).ToCairo();
int center_left_x = left_x;
if (ShouldDrawContentDropShadow()) {
@@ -519,8 +520,8 @@ void BrowserWindowGtk::DrawContentShadow(cairo_t* cr) {
// drawn by the bottom corners.
int side_height = bottom_y - side_y - 1;
if (side_height > 0) {
- gfx::CairoCachedSurface* left = theme_provider->GetSurfaceNamed(
- IDR_CONTENT_LEFT_SIDE, GTK_WIDGET(window_));
+ gfx::CairoCachedSurface* left =
+ rb.GetNativeImageNamed(IDR_CONTENT_LEFT_SIDE).ToCairo();
left->SetSource(cr, GTK_WIDGET(window_),
left_x - kContentShadowThickness, side_y);
cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REPEAT);
@@ -531,8 +532,8 @@ void BrowserWindowGtk::DrawContentShadow(cairo_t* cr) {
side_height);
cairo_fill(cr);
- gfx::CairoCachedSurface* right = theme_provider->GetSurfaceNamed(
- IDR_CONTENT_RIGHT_SIDE, GTK_WIDGET(window_));
+ gfx::CairoCachedSurface* right =
+ rb.GetNativeImageNamed(IDR_CONTENT_RIGHT_SIDE).ToCairo();
int right_side_x =
right_x + top_right->Width() - kContentShadowThickness - 1;
right->SetSource(cr, GTK_WIDGET(window_), right_side_x, side_y);
@@ -547,21 +548,21 @@ void BrowserWindowGtk::DrawContentShadow(cairo_t* cr) {
// Draw the bottom corners. The bottom corners also draw the bottom row of
// pixels of the side shadows.
- gfx::CairoCachedSurface* bottom_left = theme_provider->GetSurfaceNamed(
- IDR_CONTENT_BOTTOM_LEFT_CORNER, GTK_WIDGET(window_));
+ gfx::CairoCachedSurface* bottom_left =
+ rb.GetNativeImageNamed(IDR_CONTENT_BOTTOM_LEFT_CORNER).ToCairo();
bottom_left->SetSource(cr, GTK_WIDGET(window_),
left_x - kContentShadowThickness, bottom_y - 1);
cairo_paint(cr);
- gfx::CairoCachedSurface* bottom_right = theme_provider->GetSurfaceNamed(
- IDR_CONTENT_BOTTOM_RIGHT_CORNER, GTK_WIDGET(window_));
+ gfx::CairoCachedSurface* bottom_right =
+ rb.GetNativeImageNamed(IDR_CONTENT_BOTTOM_RIGHT_CORNER).ToCairo();
bottom_right->SetSource(cr, GTK_WIDGET(window_), right_x - 1, bottom_y - 1);
cairo_paint(cr);
// Finally, draw the bottom row. Since we don't overlap the contents, we clip
// the top row of pixels.
- gfx::CairoCachedSurface* bottom = theme_provider->GetSurfaceNamed(
- IDR_CONTENT_BOTTOM_CENTER, GTK_WIDGET(window_));
+ gfx::CairoCachedSurface* bottom =
+ rb.GetNativeImageNamed(IDR_CONTENT_BOTTOM_CENTER).ToCairo();
bottom->SetSource(cr, GTK_WIDGET(window_), left_x + 1, bottom_y - 1);
cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REPEAT);
cairo_rectangle(cr,
@@ -575,16 +576,15 @@ void BrowserWindowGtk::DrawContentShadow(cairo_t* cr) {
void BrowserWindowGtk::DrawPopupFrame(cairo_t* cr,
GtkWidget* widget,
GdkEventExpose* event) {
- GtkThemeService* theme_provider = GtkThemeService::GetFrom(
- browser()->profile());
+ ResourceBundle& rb = ResourceBundle::GetSharedInstance();
// Like DrawCustomFrame(), except that we use the unthemed resources to draw
// the background. We do this because we can't rely on sane images in the
// theme that we can draw text on. (We tried using the tab background, but
// that has inverse saturation from what the user usually expects).
int image_name = GetThemeFrameResource();
- gfx::CairoCachedSurface* surface = theme_provider->GetUnthemedSurfaceNamed(
- image_name, widget);
+ gfx::CairoCachedSurface* surface =
+ rb.GetNativeImageNamed(image_name).ToCairo();
surface->SetSource(cr, widget, 0, GetVerticalOffset());
cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REFLECT);
cairo_rectangle(cr, event->area.x, event->area.y,
@@ -600,8 +600,8 @@ void BrowserWindowGtk::DrawCustomFrame(cairo_t* cr,
int image_name = GetThemeFrameResource();
- gfx::CairoCachedSurface* surface = theme_provider->GetSurfaceNamed(
- image_name, widget);
+ gfx::CairoCachedSurface* surface = theme_provider->GetImageNamed(
+ image_name)->ToCairo();
if (event->area.y < surface->Height()) {
surface->SetSource(cr, widget, 0, GetVerticalOffset());
@@ -614,9 +614,9 @@ void BrowserWindowGtk::DrawCustomFrame(cairo_t* cr,
if (theme_provider->HasCustomImage(IDR_THEME_FRAME_OVERLAY) &&
!browser()->profile()->IsOffTheRecord()) {
- gfx::CairoCachedSurface* theme_overlay = theme_provider->GetSurfaceNamed(
+ gfx::CairoCachedSurface* theme_overlay = theme_provider->GetImageNamed(
IsActive() ? IDR_THEME_FRAME_OVERLAY
- : IDR_THEME_FRAME_OVERLAY_INACTIVE, widget);
+ : IDR_THEME_FRAME_OVERLAY_INACTIVE)->ToCairo();
theme_overlay->SetSource(cr, widget, 0, GetVerticalOffset());
cairo_paint(cr);
}
« no previous file with comments | « no previous file | chrome/browser/ui/gtk/find_bar_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698