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

Unified Diff: ui/views/widget/widget.h

Issue 1310183009: Add ability for Widgets to override the DefaultThemeProvider (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 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
Index: ui/views/widget/widget.h
diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
index 320332bec2461bd309d694e3651eabc7ba38c712..31ec5a75c42d4c99f3b6a4a85e1a548d20333304 100644
--- a/ui/views/widget/widget.h
+++ b/ui/views/widget/widget.h
@@ -554,6 +554,10 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// Returns the ThemeProvider that provides theme resources for this Widget.
virtual ui::ThemeProvider* GetThemeProvider() const;
+ // Sets the ThemeProvider which provides theme resources for this Widget.
+ // Widget does not take ownership.
+ void SetThemeProvider(ui::ThemeProvider* theme_provider);
+
ui::NativeTheme* GetNativeTheme() {
return const_cast<ui::NativeTheme*>(
const_cast<const Widget*>(this)->GetNativeTheme());
@@ -884,6 +888,10 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// A theme provider to use when no other theme provider is specified.
scoped_ptr<ui::DefaultThemeProvider> default_theme_provider_;
+ // The theme provider to use if specified. Otherwise |default_theme_provider_|
+ // is provided. This is not owned by Widget.
+ ui::ThemeProvider* theme_provider_;
+
// Valid for the lifetime of RunShellDrag(), indicates the view the drag
// started from.
View* dragged_view_;

Powered by Google App Engine
This is Rietveld 408576698