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 eefa5a49c7c227fedb6d6d56e240f56724b7f253..cb397e65f3b42d5564396a3d686437d94c72d125 100644 |
--- a/chrome/browser/ui/libgtk2ui/gtk2_border.cc |
+++ b/chrome/browser/ui/libgtk2ui/gtk2_border.cc |
@@ -7,6 +7,7 @@ |
#include <gtk/gtk.h> |
#include "chrome/browser/ui/libgtk2ui/gtk2_ui.h" |
+#include "chrome/browser/ui/libgtk2ui/native_theme_gtk2.h" |
#include "third_party/skia/include/effects/SkLerpXfermode.h" |
#include "ui/base/theme_provider.h" |
#include "ui/gfx/animation/animation.h" |
@@ -75,12 +76,12 @@ Gtk2Border::Gtk2Border(Gtk2UI* gtk2_ui, |
scoped_ptr<views::Border> border) |
: gtk2_ui_(gtk2_ui), |
owning_button_(owning_button), |
- border_(border.Pass()) { |
- gtk2_ui_->AddNativeThemeChangeObserver(this); |
+ border_(border.Pass()), |
+ observer_manager_(this) { |
+ observer_manager_.Add(NativeThemeGtk2::instance()); |
} |
Gtk2Border::~Gtk2Border() { |
- gtk2_ui_->RemoveNativeThemeChangeObserver(this); |
} |
void Gtk2Border::Paint(const views::View& view, gfx::Canvas* canvas) { |
@@ -144,7 +145,8 @@ gfx::Size Gtk2Border::GetMinimumSize() const { |
return gfx::Size(insets.width(), insets.height()); |
} |
-void Gtk2Border::OnNativeThemeChanged() { |
+void Gtk2Border::OnNativeThemeUpdate(ui::NativeTheme* observed_theme) { |
+ DCHECK_EQ(observed_theme, NativeThemeGtk2::instance()); |
for (int i = 0; i < kNumberOfFocusedStates; ++i) { |
for (int j = 0; j < views::Button::STATE_COUNT; ++j) { |
button_images_[i][j] = gfx::ImageSkia(); |