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

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

Issue 1931043002: Remove requestAutocomplete (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 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/autofill/autofill_notification_controller.mm
diff --git a/chrome/browser/ui/cocoa/autofill/autofill_notification_controller.mm b/chrome/browser/ui/cocoa/autofill/autofill_notification_controller.mm
deleted file mode 100644
index e7b7f9547359bfe1dba8b1cd9abd6e28ffd9ec2b..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/cocoa/autofill/autofill_notification_controller.mm
+++ /dev/null
@@ -1,189 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/autofill/autofill_notification_controller.h"
-
-#include <algorithm>
-
-#include "base/logging.h"
-#include "base/mac/foundation_util.h"
-#include "base/mac/scoped_nsobject.h"
-#include "base/strings/sys_string_conversions.h"
-#include "chrome/browser/ui/autofill/autofill_dialog_types.h"
-#include "chrome/browser/ui/autofill/autofill_dialog_view_delegate.h"
-#include "chrome/browser/ui/chrome_style.h"
-#include "chrome/browser/ui/cocoa/autofill/autofill_dialog_constants.h"
-#import "chrome/browser/ui/cocoa/autofill/autofill_tooltip_controller.h"
-#include "grit/components_scaled_resources.h"
-#include "skia/ext/skia_utils_mac.h"
-#import "ui/base/cocoa/controls/hyperlink_text_view.h"
-
-@interface AutofillNotificationView : NSView {
- @private
- base::scoped_nsobject<NSColor> backgroundColor_;
- base::scoped_nsobject<NSColor> borderColor_;
-}
-
-@property (nonatomic, retain) NSColor* backgroundColor;
-@property (nonatomic, retain) NSColor* borderColor;
-
-@end
-
-@implementation AutofillNotificationView
-
-- (void)drawRect:(NSRect)dirtyRect {
- [super drawRect:dirtyRect];
-
- NSBezierPath* path;
- NSRect bounds = [self bounds];
- path = [NSBezierPath bezierPathWithRect:bounds];
-
- [backgroundColor_ setFill];
- [path fill];
- [borderColor_ setStroke];
- [path stroke];
-}
-
-- (NSColor*)backgroundColor {
- return backgroundColor_;
-}
-
-- (void)setBackgroundColor:(NSColor*)backgroundColor {
- backgroundColor_.reset([backgroundColor retain]);
-}
-
-- (NSColor*)borderColor {
- return borderColor_;
-}
-
-- (void)setBorderColor:(NSColor*)borderColor {
- borderColor_.reset([borderColor retain]);
-}
-
-@end
-
-@implementation AutofillNotificationController
-
-- (id)initWithNotification:(const autofill::DialogNotification*)notification
- delegate:(autofill::AutofillDialogViewDelegate*)delegate {
- if (self = [super init]) {
- delegate_ = delegate;
- notificationType_ = notification->type();
-
- base::scoped_nsobject<AutofillNotificationView> view(
- [[AutofillNotificationView alloc] initWithFrame:NSZeroRect]);
- [view setBackgroundColor:
- skia::SkColorToCalibratedNSColor(notification->GetBackgroundColor())];
- [view setBorderColor:
- skia::SkColorToCalibratedNSColor(notification->GetBorderColor())];
- [self setView:view];
-
- textview_.reset([[HyperlinkTextView alloc] initWithFrame:NSZeroRect]);
- NSColor* textColor =
- skia::SkColorToCalibratedNSColor(notification->GetTextColor());
- [textview_ setMessage:base::SysUTF16ToNSString(notification->display_text())
- withFont:[NSFont labelFontOfSize:[[textview_ font] pointSize]]
- messageColor:textColor];
- if (!notification->link_range().is_empty()) {
- linkURL_ = notification->link_url();
- [textview_ setDelegate:self];
- [textview_ addLinkRange:notification->link_range().ToNSRange()
- withURL:base::SysUTF8ToNSString(linkURL_.spec())
- linkColor:[NSColor blueColor]];
- }
-
- tooltipController_.reset([[AutofillTooltipController alloc]
- initWithArrowLocation:info_bubble::kTopRight]);
- [tooltipController_ setImage:
- ui::ResourceBundle::GetSharedInstance().GetNativeImageNamed(
- IDR_AUTOFILL_TOOLTIP_ICON).ToNSImage()];
- [tooltipController_ setMessage:
- base::SysUTF16ToNSString(notification->tooltip_text())];
- [[tooltipController_ view] setHidden:
- [[tooltipController_ message] length] == 0];
-
- [view setSubviews:@[ textview_, [tooltipController_ view] ]];
- }
- return self;
-}
-
-- (AutofillNotificationView*)notificationView {
- return base::mac::ObjCCastStrict<AutofillNotificationView>([self view]);
-}
-
-- (NSTextView*)textview {
- return textview_;
-}
-
-- (NSView*)tooltipView {
- return [tooltipController_ view];
-}
-
-- (NSSize)preferredSizeForWidth:(CGFloat)width {
- width -= 2 * chrome_style::kHorizontalPadding;
- if (![[tooltipController_ view] isHidden]) {
- width -= NSWidth([[tooltipController_ view] frame]) +
- chrome_style::kHorizontalPadding;
- }
- // TODO(isherman): Restore the DCHECK below once I figure out why it causes
- // unit tests to fail.
- //DCHECK_GT(width, 0);
-
- NSSize preferredSize;
- // This method is logically const. Hence, cache the original frame so that
- // it can be restored once the preferred size has been computed.
- NSRect frame = [textview_ frame];
-
- // Compute preferred size.
- [textview_ setFrameSize:NSMakeSize(width, frame.size.height)];
- [textview_ setVerticallyResizable:YES];
- [textview_ sizeToFit];
- preferredSize = [textview_ frame].size;
-
- // Restore original properties, since this method is logically const.
- [textview_ setFrame:frame];
- [textview_ setVerticallyResizable:NO];
-
- preferredSize.height += 2 * autofill::kNotificationPadding;
- return preferredSize;
-}
-
-- (NSSize)preferredSize {
- NOTREACHED();
- return NSZeroSize;
-}
-
-- (void)performLayout {
- NSRect bounds = [[self view] bounds];
- // Calculate the frame size, leaving room for padding around the notification,
- // as well as for the tooltip if it is visible.
- NSRect labelFrame = NSInsetRect(bounds,
- chrome_style::kHorizontalPadding,
- autofill::kNotificationPadding);
- NSView* tooltipView = [tooltipController_ view];
- if (![tooltipView isHidden]) {
- labelFrame.size.width -=
- NSWidth([tooltipView frame]) + chrome_style::kHorizontalPadding;
- }
-
- NSView* label = textview_.get();
- [label setFrame:labelFrame];
-
- if (![tooltipView isHidden]) {
- NSPoint tooltipOrigin =
- NSMakePoint(
- NSMaxX(labelFrame) + chrome_style::kHorizontalPadding,
- NSMidY(labelFrame) - (NSHeight([tooltipView frame]) / 2.0));
- [tooltipView setFrameOrigin:tooltipOrigin];
- }
-}
-
-- (BOOL)textView:(NSTextView *)textView
- clickedOnLink:(id)link
- atIndex:(NSUInteger)charIndex {
- delegate_->LinkClicked(linkURL_);
- return YES;
-}
-
-@end

Powered by Google App Engine
This is Rietveld 408576698