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

Unified Diff: chrome/browser/ui/cocoa/omnibox/omnibox_popup_separator_view.mm

Issue 1821823004: [Mac][Material Design] Update Omnibox dropdown on Mac to MD (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up for review. Created 4 years, 8 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: chrome/browser/ui/cocoa/omnibox/omnibox_popup_separator_view.mm
diff --git a/chrome/browser/ui/cocoa/omnibox/omnibox_popup_separator_view.mm b/chrome/browser/ui/cocoa/omnibox/omnibox_popup_separator_view.mm
index 49f9a0df1fa639660a01f6adf533dd1ff55a50dd..c66fce3f7c16fe1fcde1ab69e0df8bbcdb7ca58b 100644
--- a/chrome/browser/ui/cocoa/omnibox/omnibox_popup_separator_view.mm
+++ b/chrome/browser/ui/cocoa/omnibox/omnibox_popup_separator_view.mm
@@ -4,6 +4,7 @@
#import "chrome/browser/ui/cocoa/omnibox/omnibox_popup_separator_view.h"
+#include "base/mac/scoped_nsobject.h"
tapted 2016/04/28 14:29:44 nit: import
shrike 2016/04/28 21:05:35 Thank you.
#include "grit/theme_resources.h"
#import "ui/base/cocoa/nsview_additions.h"
#include "ui/base/resource/resource_bundle.h"
@@ -32,11 +33,37 @@
return [shadowImage size].height;
}
+- (instancetype)initWithFrame:(NSRect)frame forDarkTheme:(BOOL)isDarkTheme {
+ if ((self = [self initWithFrame:frame])) {
+ isDarkTheme_ = isDarkTheme;
+ if (isDarkTheme_) {
+ [self setWantsLayer:YES];
tapted 2016/04/28 14:29:44 comment about this?
shrike 2016/04/28 21:05:35 Done.
+ }
+ }
+ return self;
+}
+
- (void)drawRect:(NSRect)rect {
- ResourceBundle& rb = ResourceBundle::GetSharedInstance();
NSRect bounds = [self bounds];
+ if (isDarkTheme_) {
+ // There's an image for the shadow the Omnibox casts, but this shadow is
+ // an opaque mix of white and black, which makes it look strange against a
+ // dark NTP page. For dark mode, draw the shadow in code instead so that
+ // it has some transparency.
+ base::scoped_nsobject<NSShadow> shadow([[NSShadow alloc] init]);
+ [shadow setShadowBlurRadius:8];
+ [shadow setShadowColor:[NSColor blackColor]];
+ [shadow set];
+
+ // Fill a rect that's out of view to get just the shadow it casts.
+ [[NSColor blackColor] set];
+ NSRectFill(NSMakeRect(-3, NSMaxY(bounds), NSWidth(bounds) + 6, 5));
+ return;
+ }
+
// Draw the shadow.
+ ResourceBundle& rb = ResourceBundle::GetSharedInstance();
NSImage* shadowImage =
rb.GetNativeImageNamed(IDR_OVERLAY_DROP_SHADOW).ToNSImage();
[shadowImage drawInRect:bounds

Powered by Google App Engine
This is Rietveld 408576698