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

Unified Diff: chrome/browser/ui/cocoa/omnibox/omnibox_popup_cell.h

Issue 1099403005: [AiS] changing mac omnibox suggestions form NSMatrix to NSTableView (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review changes Created 5 years, 7 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_cell.h
diff --git a/chrome/browser/ui/cocoa/omnibox/omnibox_popup_cell.h b/chrome/browser/ui/cocoa/omnibox/omnibox_popup_cell.h
index 486df2c83f31c1f571e2396ef7c972ab2c5a1880..019258f4ce087465bf779176d9fce37c8b1a9c1c 100644
--- a/chrome/browser/ui/cocoa/omnibox/omnibox_popup_cell.h
+++ b/chrome/browser/ui/cocoa/omnibox/omnibox_popup_cell.h
@@ -11,19 +11,12 @@
#include "components/omnibox/autocomplete_match.h"
class OmniboxPopupViewMac;
+@class OmniboxPopupCell;
-// OmniboxPopupCell overrides how backgrounds are displayed to
-// handle hover versus selected. So long as we're in there, it also
-// provides some default initialization.
-@interface OmniboxPopupCell : NSButtonCell {
+@interface OmniboxPopupCellData : NSObject {
@private
- // The popup view parent of this cell.
- OmniboxPopupViewMac* parent_;
-
- // The match which will be rendered for this row in omnibox dropdown.
- AutocompleteMatch match_;
-
// NSAttributedString instances for various match components.
+ base::scoped_nsobject<NSAttributedString> contents_;
base::scoped_nsobject<NSAttributedString> separator_;
base::scoped_nsobject<NSAttributedString> description_;
@@ -33,14 +26,29 @@ class OmniboxPopupViewMac;
// which accesses the |NSAttributedString| instance.
base::scoped_nsobject<NSAttributedString> prefix_;
+ base::scoped_nsobject<NSImage> image_;
+
// The width of widest match contents in a set of infinite suggestions.
CGFloat maxMatchContentsWidth_;
// The offset at which the infinite suggestion contents should be displayed.
CGFloat contentsOffset_;
+
+ BOOL isContentsRTL_;
+ AutocompleteMatch::Type matchType_;
}
-- (void)setMatch:(const AutocompleteMatch&)match;
+@property (assign, nonatomic) NSRect rect;
+
+- (id)initWithMatch:(const AutocompleteMatch&)match;
+
+- (void)drawMatchWithFrame:(NSRect)cellFrame
+ inCell:(OmniboxPopupCell*)cell
+ inView:(NSView*)controlView;
+
+- (void)setContents:(NSAttributedString*)contents;
+
+- (void)setImage:(NSImage*)image;
- (void)setMaxMatchContentsWidth:(CGFloat)maxMatchContentsWidth;
@@ -49,6 +57,24 @@ class OmniboxPopupViewMac;
// Returns the width of the match contents.
- (CGFloat)getMatchContentsWidth;
+@end
+
+// OmniboxPopupCell overrides how backgrounds are displayed to
+// handle hover versus selected. So long as we're in there, it also
+// provides some default initialization.
+@interface OmniboxPopupCell : NSCell {
+ @private
+ base::scoped_nsobject<OmniboxPopupCellData> cellData_;
+}
+
+- (void)setCellData:(OmniboxPopupCellData*)cellData;
+
+- (CGFloat)drawMatchPart:(NSAttributedString*)attributedString
+ withFrame:(NSRect)cellFrame
+ atOffset:(CGFloat)offset
+ withMaxWidth:(int)maxWidth
+ inView:(NSView*)controlView;
Scott Hess - ex-Googler 2015/05/15 00:09:38 If this is only being exposed so that the cell imp
groby-ooo-7-16 2015/05/15 16:53:56 If it's a purely private category in a .mm, I'd su
dschuyler 2015/05/15 21:52:03 Thanks! I didn't know about that option. Done.
dschuyler 2015/05/15 21:52:04 Done.
+
// Returns the offset of the start of the contents in the input text for the
// given match. It is costly to compute this offset, so it is computed once and
// shared by all OmniboxPopupCell instances through OmniboxPopupViewMac parent.

Powered by Google App Engine
This is Rietveld 408576698