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

Unified Diff: chrome/browser/ui/cocoa/autofill/autofill_popup_view_cocoa.mm

Issue 301343002: mac: Clean up autofill integration with Address Book. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@autofill_cleanup2_base
Patch Set: Move comment. Remove DCHECKs. Created 6 years, 6 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/autofill/autofill_popup_view_cocoa.mm
diff --git a/chrome/browser/ui/cocoa/autofill/autofill_popup_view_cocoa.mm b/chrome/browser/ui/cocoa/autofill/autofill_popup_view_cocoa.mm
index 5b0efcbedca41dc70116f83bd384e7e476175b41..ab2a029ea5ffe394cbf80a9c550c40b37a3e3bb3 100644
--- a/chrome/browser/ui/cocoa/autofill/autofill_popup_view_cocoa.mm
+++ b/chrome/browser/ui/cocoa/autofill/autofill_popup_view_cocoa.mm
@@ -37,7 +37,8 @@ using autofill::AutofillPopupView;
index:(size_t)index
bounds:(NSRect)bounds
selected:(BOOL)isSelected
- imageFirst:(BOOL)imageFirst;
+ imageFirst:(BOOL)imageFirst
+ textYOffset:(CGFloat)textYOffset;
// This comment block applies to all three draw* methods that follow.
// If |rightAlign| == YES.
@@ -50,7 +51,8 @@ using autofill::AutofillPopupView;
atX:(CGFloat)x
index:(size_t)index
rightAlign:(BOOL)rightAlign
- bounds:(NSRect)bounds;
+ bounds:(NSRect)bounds
+ textYOffset:(CGFloat)textYOffset;
- (CGFloat)drawIconAtIndex:(size_t)index
atX:(CGFloat)x
rightAlign:(BOOL)rightAlign
@@ -58,7 +60,8 @@ using autofill::AutofillPopupView;
- (CGFloat)drawSubtext:(NSString*)subtext
atX:(CGFloat)x
rightAlign:(BOOL)rightAlign
- bounds:(NSRect)bounds;
+ bounds:(NSRect)bounds
+ textYOffset:(CGFloat)textYOffset;
// Returns the icon for the row with the given |index|, or |nil| if there is
// none.
@@ -107,8 +110,17 @@ using autofill::AutofillPopupView;
continue;
}
- BOOL imageFirst = (controller_->identifiers()[i] ==
- autofill::POPUP_ITEM_ID_MAC_ACCESS_CONTACTS);
+ // Additional offset applied to the text in the vertical direction.
+ CGFloat textYOffset = 0;
+ BOOL imageFirst = NO;
+ if (controller_->identifiers()[i] ==
+ autofill::POPUP_ITEM_ID_MAC_ACCESS_CONTACTS) {
+ // Due to the weighting of the asset used for this autofill entry, the
+ // text needs to be bumped up by 1 pt to make it look vertically aligned.
+ textYOffset = -1;
+ imageFirst = YES;
+ }
+
NSString* name = SysUTF16ToNSString(controller_->names()[i]);
NSString* subtext = SysUTF16ToNSString(controller_->subtexts()[i]);
BOOL isSelected = static_cast<int>(i) == controller_->selected_line();
@@ -117,7 +129,8 @@ using autofill::AutofillPopupView;
index:i
bounds:rowBounds
selected:isSelected
- imageFirst:imageFirst];
+ imageFirst:imageFirst
+ textYOffset:textYOffset];
}
}
@@ -145,7 +158,8 @@ using autofill::AutofillPopupView;
index:(size_t)index
bounds:(NSRect)bounds
selected:(BOOL)isSelected
- imageFirst:(BOOL)imageFirst {
+ imageFirst:(BOOL)imageFirst
+ textYOffset:(CGFloat)textYOffset {
// If this row is selected, highlight it.
if (isSelected) {
[[self highlightColor] set];
@@ -162,20 +176,30 @@ using autofill::AutofillPopupView;
CGFloat x = isRTL ? rightX : leftX;
if (imageFirst)
x = [self drawIconAtIndex:index atX:x rightAlign:isRTL bounds:bounds];
- [self drawName:name atX:x index:index rightAlign:isRTL bounds:bounds];
+ [self drawName:name
+ atX:x
+ index:index
+ rightAlign:isRTL
+ bounds:bounds
+ textYOffset:textYOffset];
// Draw right side if isRTL == NO, left side if isRTL == YES.
x = isRTL ? leftX : rightX;
if (!imageFirst)
x = [self drawIconAtIndex:index atX:x rightAlign:!isRTL bounds:bounds];
- [self drawSubtext:subtext atX:x rightAlign:!isRTL bounds:bounds];
+ [self drawSubtext:subtext
+ atX:x
+ rightAlign:!isRTL
+ bounds:bounds
+ textYOffset:textYOffset];
}
- (CGFloat)drawName:(NSString*)name
atX:(CGFloat)x
index:(size_t)index
rightAlign:(BOOL)rightAlign
- bounds:(NSRect)bounds {
+ bounds:(NSRect)bounds
+ textYOffset:(CGFloat)textYOffset {
NSColor* nameColor =
controller_->IsWarning(index) ? [self warningColor] : [self nameColor];
NSDictionary* nameAttributes =
@@ -187,6 +211,7 @@ using autofill::AutofillPopupView;
NSSize nameSize = [name sizeWithAttributes:nameAttributes];
x -= rightAlign ? nameSize.width : 0;
CGFloat y = bounds.origin.y + (bounds.size.height - nameSize.height) / 2;
+ y += textYOffset;
[name drawAtPoint:NSMakePoint(x, y) withAttributes:nameAttributes];
@@ -219,7 +244,8 @@ using autofill::AutofillPopupView;
- (CGFloat)drawSubtext:(NSString*)subtext
atX:(CGFloat)x
rightAlign:(BOOL)rightAlign
- bounds:(NSRect)bounds {
+ bounds:(NSRect)bounds
+ textYOffset:(CGFloat)textYOffset {
NSDictionary* subtextAttributes =
[NSDictionary dictionaryWithObjectsAndKeys:
controller_->subtext_font_list().GetPrimaryFont().GetNativeFont(),
@@ -230,6 +256,7 @@ using autofill::AutofillPopupView;
NSSize subtextSize = [subtext sizeWithAttributes:subtextAttributes];
x -= rightAlign ? subtextSize.width : 0;
CGFloat y = bounds.origin.y + (bounds.size.height - subtextSize.height) / 2;
+ y += textYOffset;
[subtext drawAtPoint:NSMakePoint(x, y) withAttributes:subtextAttributes];
x += rightAlign ? 0 : subtextSize.width;

Powered by Google App Engine
This is Rietveld 408576698