summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-23 16:35:56 +0000
committeravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-23 16:35:56 +0000
commit426daf1af6c21115dcf338e1b845ca7f6f4d316b (patch)
treeae8bf57d83a23d35bc046565b4fbb766ba73592e
parent042d43e781c4df7ac89d28b3e5ddd095d63ccc7e (diff)
downloadchromium_src-426daf1af6c21115dcf338e1b845ca7f6f4d316b.zip
chromium_src-426daf1af6c21115dcf338e1b845ca7f6f4d316b.tar.gz
chromium_src-426daf1af6c21115dcf338e1b845ca7f6f4d316b.tar.bz2
Propagate theme changes to the tabstrip.
BUG=http://crbug.com/17519 TEST=change themes; tabs should theme too Review URL: http://codereview.chromium.org/159271 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21393 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/cocoa/browser_window_controller.mm2
-rw-r--r--chrome/browser/cocoa/tab_strip_controller.h3
-rw-r--r--chrome/browser/cocoa/tab_strip_controller.mm6
-rw-r--r--chrome/browser/cocoa/tab_view.mm2
4 files changed, 12 insertions, 1 deletions
diff --git a/chrome/browser/cocoa/browser_window_controller.mm b/chrome/browser/cocoa/browser_window_controller.mm
index be20f7e..ac8278e 100644
--- a/chrome/browser/cocoa/browser_window_controller.mm
+++ b/chrome/browser/cocoa/browser_window_controller.mm
@@ -834,6 +834,8 @@ willPositionSheet:(NSWindow*)sheet
- (void)userChangedTheme {
[self setTheme];
[self applyTheme];
+
+ [tabStripController_ userChangedTheme];
}
// TODO(rohitrao, jrg): Move this logic out of BrowserWindowController?
diff --git a/chrome/browser/cocoa/tab_strip_controller.h b/chrome/browser/cocoa/tab_strip_controller.h
index dea418d..19bae7b 100644
--- a/chrome/browser/cocoa/tab_strip_controller.h
+++ b/chrome/browser/cocoa/tab_strip_controller.h
@@ -98,6 +98,9 @@ class ToolbarModel;
// Force the tabs to rearrange themselves to reflect the current model
- (void)layoutTabs;
+// The user changed the theme.
+- (void)userChangedTheme;
+
// Default height for tabs.
+ (CGFloat)defaultTabHeight;
@end
diff --git a/chrome/browser/cocoa/tab_strip_controller.mm b/chrome/browser/cocoa/tab_strip_controller.mm
index 2d37e5b..90a1c5b 100644
--- a/chrome/browser/cocoa/tab_strip_controller.mm
+++ b/chrome/browser/cocoa/tab_strip_controller.mm
@@ -600,4 +600,10 @@ NSString* const kTabStripNumberOfTabsChanged = @"kTabStripNumberOfTabsChanged";
tabModel_->InsertTabContentsAt(index, contents, true, false);
}
+- (void)userChangedTheme {
+ for (TabController* tab in tabArray_.get()) {
+ [[tab view] setNeedsDisplay:YES];
+ }
+}
+
@end
diff --git a/chrome/browser/cocoa/tab_view.mm b/chrome/browser/cocoa/tab_view.mm
index 5474f88..a078fa4 100644
--- a/chrome/browser/cocoa/tab_view.mm
+++ b/chrome/browser/cocoa/tab_view.mm
@@ -458,7 +458,7 @@ static const double kDragStartDistance = 3.0;
[path stroke];
[[NSGraphicsContext currentContext] restoreGraphicsState];
- GTMTheme *theme = [[self self] gtm_theme];
+ GTMTheme *theme = [self gtm_theme];
if (!selected) {
NSColor *windowColor =