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

Unified Diff: chrome/browser/ui/libgtk2ui/gtk2_border.cc

Issue 171413002: linux_aura: Keep GTK state from leaking between profiles. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix mac compile. Created 6 years, 10 months 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 | « chrome/browser/ui/libgtk2ui/gtk2_border.h ('k') | chrome/browser/ui/libgtk2ui/gtk2_ui.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/libgtk2ui/gtk2_border.cc
diff --git a/chrome/browser/ui/libgtk2ui/gtk2_border.cc b/chrome/browser/ui/libgtk2ui/gtk2_border.cc
index 4e8bfd158725cfa72af04558986e089263531cbd..8cffcd3feda7dc367cc10bd384380de92cc3c150 100644
--- a/chrome/browser/ui/libgtk2ui/gtk2_border.cc
+++ b/chrome/browser/ui/libgtk2ui/gtk2_border.cc
@@ -8,6 +8,7 @@
#include "chrome/browser/ui/libgtk2ui/gtk2_ui.h"
#include "third_party/skia/include/effects/SkLerpXfermode.h"
+#include "ui/base/theme_provider.h"
#include "ui/gfx/animation/animation.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/image/image_skia_source.h"
@@ -73,7 +74,6 @@ Gtk2Border::Gtk2Border(Gtk2UI* gtk2_ui,
views::LabelButton* owning_button,
scoped_ptr<views::Border> border)
: gtk2_ui_(gtk2_ui),
- use_gtk_(gtk2_ui_->GetUseSystemTheme()),
owning_button_(owning_button),
border_(border.Pass()) {
gtk2_ui_->AddGtkBorder(this);
@@ -83,7 +83,7 @@ Gtk2Border::~Gtk2Border() {
gtk2_ui_->RemoveGtkBorder(this);
}
-void Gtk2Border::InvalidateAndSetUsesGtk(bool use_gtk) {
+void Gtk2Border::InvalidateGtkImages() {
for (int i = 0; i < kNumberOfFocusedStates; ++i) {
for (int j = 0; j < views::Button::STATE_COUNT; ++j) {
button_images_[i][j] = gfx::ImageSkia();
@@ -93,12 +93,11 @@ void Gtk2Border::InvalidateAndSetUsesGtk(bool use_gtk) {
// Our owning view must have its layout invalidated because the insets could
// have changed.
owning_button_->InvalidateLayout();
-
- use_gtk_ = use_gtk;
}
void Gtk2Border::Paint(const views::View& view, gfx::Canvas* canvas) {
- if (!use_gtk_) {
+ ui::ThemeProvider* provider = owning_button_->GetThemeProvider();
+ if (!provider || !provider->UsingNativeTheme()) {
border_->Paint(view, canvas);
return;
}
@@ -133,14 +132,16 @@ void Gtk2Border::Paint(const views::View& view, gfx::Canvas* canvas) {
}
gfx::Insets Gtk2Border::GetInsets() const {
- if (!use_gtk_)
+ ui::ThemeProvider* provider = owning_button_->GetThemeProvider();
+ if (!provider || !provider->UsingNativeTheme())
return border_->GetInsets();
return gtk2_ui_->GetButtonInsets();
}
gfx::Size Gtk2Border::GetMinimumSize() const {
- if (!use_gtk_)
+ ui::ThemeProvider* provider = owning_button_->GetThemeProvider();
+ if (!provider || !provider->UsingNativeTheme())
return border_->GetMinimumSize();
gfx::Insets insets = GetInsets();
« no previous file with comments | « chrome/browser/ui/libgtk2ui/gtk2_border.h ('k') | chrome/browser/ui/libgtk2ui/gtk2_ui.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698