DescriptionUpdate Windows UI on system color changes.
Propagate system theme (high contrast, etc.) changes throughout Views.
(Win UI wasn't being notified; omnibox, find bar, etc. were broken, now aren't).
(Linux Aura didn't update on changes with "Use Classic Theme", now it does).
Make NativeTheme hold an observer list to be notified of changes.
NotifyObservers of system color changes on Win via SysColorChangeListener.
Nix NativeTheme duties for ThemeServiceAuraX11, and LinuxUI / Gtk2UI.
Make Widget a NativeThemeObserver to call PropagateNativeThemeChanged.
Start observing the relevant NativeTheme after native widget initialization.
Make View::AddChildViewAt only update child views, not itself and siblings.
(this was invoking redundant calls on itself as the parent and sibling views)
Implement the BrowserView::OnNativeThemeChanged override.
(update the frame and trigger a repaint with UserChangedTheme)
(call MaybeShowInvertBubbleView, nix SysColorChangeListener impl)
TODO(followup): Audit Views that need OnNativeThemeChanged overrides.
BUG=134766
TEST=Win/Linux UI updates better when applying high contrast black/inverse system themes.
R=erg@chromium.org, estade@chromium.org, sky@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=266232
Patch Set 1 #Patch Set 2 : Hack up a working change. #Patch Set 3 : Make RootView a NativeThemeObserver instead. #Patch Set 4 : Fix Linux Desktop and trigger BrowserView::UserChangedTheme. #Patch Set 5 : Define the observer in native_theme.[h|cc], cleanup View. #Patch Set 6 : Make the NativeTheme base class a SysColorChangeListener. #Patch Set 7 : Sync and rebase. #
Total comments: 20
Patch Set 8 : Address comments. #Patch Set 9 : Revert handling for NativeTheme instance 'changes'. #Patch Set 10 : Make Widget the observer, address additional comments. #
Total comments: 4
Patch Set 11 : Address comments. #
Total comments: 8
Patch Set 12 : Address comments. #Patch Set 13 : Sync and rebase; skip handling before BrowserView is initialized. #Patch Set 14 : Sync and rebase again. #
Total comments: 2
Patch Set 15 : Add comment. #Patch Set 16 : Restore change from bad rebase. #Messages
Total messages: 25 (0 generated)
|