Skip to content
Snippets Groups Projects
Commit c76991fa authored by mark@chromium.org's avatar mark@chromium.org
Browse files

Theme delegate fixes for the 10.6 SDK folllowing r43708.

In the 10.6 SDK, -[NSWindow delegate] returns id<NSWindowDelegate>, not just
id, and the three selectors used in r43708 are not declared in
NSWindowDelegate.  This results in errors such as "warning: '-themeProvider'
not found in protocol(s)".

Testing the selectors before using them is safe and not incorrect, but you
guys might actually want to make more of an assertion about what it means to
be a ChromeBrowserWindow's or FullscreenWindow's delegate, or perhaps even
a ChromeEventProcessingWindow's delegate.  Alternatively, it may be
appropriate to add a ChromeThemedWindow layer as a subclass of CEPW and
superclass of CBW and FW.  (CEPW's other subclass is InfoBubbleWindow.)

BUG=none
TEST=none
Review URL: http://codereview.chromium.org/1630001

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43746 0039d316-1c4b-4281-b951-d872f2087c98
parent 72ef4700
No related branches found
No related tags found
No related merge requests found
...@@ -344,15 +344,24 @@ namespace { ...@@ -344,15 +344,24 @@ namespace {
} }
- (ThemeProvider*)themeProvider { - (ThemeProvider*)themeProvider {
return [[self delegate] themeProvider]; id delegate = [self delegate];
if (![delegate respondsToSelector:@selector(themeProvider)])
return NULL;
return [delegate themeProvider];
} }
- (ThemedWindowStyle)themedWindowStyle { - (ThemedWindowStyle)themedWindowStyle {
return [[self delegate] themedWindowStyle]; id delegate = [self delegate];
if (![delegate respondsToSelector:@selector(themedWindowStyle)])
return THEMED_NORMAL;
return [delegate themedWindowStyle];
} }
- (NSPoint)themePatternPhase { - (NSPoint)themePatternPhase {
return [[self delegate] themePatternPhase]; id delegate = [self delegate];
if (![delegate respondsToSelector:@selector(themePatternPhase)])
return NSMakePoint(0, 0);
return [delegate themePatternPhase];
} }
@end @end
...@@ -83,15 +83,24 @@ ...@@ -83,15 +83,24 @@
} }
- (ThemeProvider*)themeProvider { - (ThemeProvider*)themeProvider {
return [[self delegate] themeProvider]; id delegate = [self delegate];
if (![delegate respondsToSelector:@selector(themeProvider)])
return NULL;
return [delegate themeProvider];
} }
- (ThemedWindowStyle)themedWindowStyle { - (ThemedWindowStyle)themedWindowStyle {
return [[self delegate] themedWindowStyle]; id delegate = [self delegate];
if (![delegate respondsToSelector:@selector(themedWindowStyle)])
return THEMED_NORMAL;
return [delegate themedWindowStyle];
} }
- (NSPoint)themePatternPhase { - (NSPoint)themePatternPhase {
return [[self delegate] themePatternPhase]; id delegate = [self delegate];
if (![delegate respondsToSelector:@selector(themePatternPhase)])
return NSMakePoint(0, 0);
return [delegate themePatternPhase];
} }
@end @end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment