summaryrefslogtreecommitdiffstats
path: root/chrome/views
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/views')
-rw-r--r--chrome/views/hwnd_view_container.cc6
-rw-r--r--chrome/views/hwnd_view_container.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/chrome/views/hwnd_view_container.cc b/chrome/views/hwnd_view_container.cc
index a9649b5..cf1a58a 100644
--- a/chrome/views/hwnd_view_container.cc
+++ b/chrome/views/hwnd_view_container.cc
@@ -29,6 +29,7 @@
#include "chrome/views/hwnd_view_container.h"
+#include "base/gfx/native_theme.h"
#include "base/message_loop.h"
#include "base/string_util.h"
#include "base/win_util.h"
@@ -666,6 +667,11 @@ void HWNDViewContainer::OnSize(UINT param, const CSize& size) {
ChangeSize(param, size);
}
+void HWNDViewContainer::OnThemeChanged() {
+ // Notify NativeTheme.
+ gfx::NativeTheme::instance()->CloseHandles();
+}
+
void HWNDViewContainer::OnFinalMessage(HWND window) {
if (delete_on_destroy_)
delete this;
diff --git a/chrome/views/hwnd_view_container.h b/chrome/views/hwnd_view_container.h
index 3c792d1..5a13c16 100644
--- a/chrome/views/hwnd_view_container.h
+++ b/chrome/views/hwnd_view_container.h
@@ -233,6 +233,7 @@ class HWNDViewContainer : public ViewContainer,
MSG_WM_SETFOCUS(OnSetFocus)
MSG_WM_SIZE(OnSize)
MSG_WM_SYSCOMMAND(OnSysCommand)
+ MSG_WM_THEMECHANGED(OnThemeChanged)
MSG_WM_VSCROLL(OnVScroll)
MSG_WM_WINDOWPOSCHANGED(OnWindowPosChanged)
END_MSG_MAP()
@@ -413,6 +414,7 @@ class HWNDViewContainer : public ViewContainer,
virtual LRESULT OnSettingChange(UINT msg, WPARAM w_param, LPARAM l_param);
virtual void OnSize(UINT param, const CSize& size);
virtual void OnSysCommand(UINT notification_code, CPoint click) { }
+ virtual void OnThemeChanged();
virtual void OnVScroll(int scroll_type, short position, HWND scrollbar) {
SetMsgHandled(FALSE);
}