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

Unified Diff: chrome/browser/ui/cocoa/hyperlink_text_view.mm

Issue 595283002: Move nsview_additions and hyperlink_text_view to ui/base/cocoa (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years, 3 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/hyperlink_text_view.mm
diff --git a/chrome/browser/ui/cocoa/hyperlink_text_view.mm b/chrome/browser/ui/cocoa/hyperlink_text_view.mm
deleted file mode 100644
index a58eb1d131f6068f929e90ff6d87b9f0c8413e20..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/cocoa/hyperlink_text_view.mm
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright (c) 2011 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/hyperlink_text_view.h"
-
-#include "base/mac/scoped_nsobject.h"
-#include "chrome/browser/ui/cocoa/nsview_additions.h"
-
-// The baseline shift for text in the NSTextView.
-const float kTextBaselineShift = -1.0;
-
-@interface HyperlinkTextView(Private)
-// Initialize the NSTextView properties for this subclass.
-- (void)configureTextView;
-
-// Change the current IBeamCursor to an arrowCursor.
-- (void)fixupCursor;
-@end
-
-@implementation HyperlinkTextView
-
-@synthesize drawsBackgroundUsingSuperview = drawsBackgroundUsingSuperview_;
-
-- (id)initWithCoder:(NSCoder*)decoder {
- if ((self = [super initWithCoder:decoder]))
- [self configureTextView];
- return self;
-}
-
-- (id)initWithFrame:(NSRect)frameRect {
- if ((self = [super initWithFrame:frameRect]))
- [self configureTextView];
- return self;
-}
-
-- (BOOL)acceptsFirstResponder {
- return !refusesFirstResponder_;
-}
-
-- (void)drawViewBackgroundInRect:(NSRect)rect {
- if (drawsBackgroundUsingSuperview_)
- [self cr_drawUsingAncestor:[self superview] inRect:rect];
- else
- [super drawViewBackgroundInRect:rect];
-}
-
-// Never draw the insertion point (otherwise, it shows up without any user
-// action if full keyboard accessibility is enabled).
-- (BOOL)shouldDrawInsertionPoint {
- return NO;
-}
-
-- (NSRange)selectionRangeForProposedRange:(NSRange)proposedSelRange
- granularity:(NSSelectionGranularity)granularity {
- // Do not allow selections.
- return NSMakeRange(0, 0);
-}
-
-// Convince NSTextView to not show an I-Beam cursor when the cursor is over the
-// text view but not over actual text.
-//
-// http://www.mail-archive.com/cocoa-dev@lists.apple.com/msg10791.html
-// "NSTextView sets the cursor over itself dynamically, based on considerations
-// including the text under the cursor. It does so in -mouseEntered:,
-// -mouseMoved:, and -cursorUpdate:, so those would be points to consider
-// overriding."
-- (void)mouseMoved:(NSEvent*)e {
- [super mouseMoved:e];
- [self fixupCursor];
-}
-
-- (void)mouseEntered:(NSEvent*)e {
- [super mouseEntered:e];
- [self fixupCursor];
-}
-
-- (void)cursorUpdate:(NSEvent*)e {
- [super cursorUpdate:e];
- [self fixupCursor];
-}
-
-- (void)configureTextView {
- [self setEditable:NO];
- [self setDrawsBackground:NO];
- [self setHorizontallyResizable:NO];
- [self setVerticallyResizable:NO];
-
- // When text is rendered, linkTextAttributes override anything set via
- // addAttributes for text that has NSLinkAttributeName. Set to nil to allow
- // custom attributes to take precedence.
- [self setLinkTextAttributes:nil];
- [self setDisplaysLinkToolTips:NO];
-
- refusesFirstResponder_ = NO;
- drawsBackgroundUsingSuperview_ = NO;
-}
-
-- (void)fixupCursor {
- if ([[NSCursor currentCursor] isEqual:[NSCursor IBeamCursor]])
- [[NSCursor arrowCursor] set];
-}
-
-- (void)setMessageAndLink:(NSString*)message
- withLink:(NSString*)link
- atOffset:(NSUInteger)linkOffset
- font:(NSFont*)font
- messageColor:(NSColor*)messageColor
- linkColor:(NSColor*)linkColor {
- NSMutableString* finalMessage = [NSMutableString stringWithString:message];
- [finalMessage insertString:link atIndex:linkOffset];
- [self setMessage:finalMessage withFont:font messageColor:messageColor];
- if ([link length] != 0) {
- [self addLinkRange:NSMakeRange(linkOffset, [link length])
- withName:@""
- linkColor:linkColor];
- }
-}
-
-- (void)setMessage:(NSString*)message
- withFont:(NSFont*)font
- messageColor:(NSColor*)messageColor {
- // Create an attributes dictionary for the message and link.
- NSDictionary* attributes = @{
- NSForegroundColorAttributeName : messageColor,
- NSCursorAttributeName : [NSCursor arrowCursor],
- NSFontAttributeName : font,
- NSBaselineOffsetAttributeName : @(kTextBaselineShift)
- };
-
- // Create the attributed string for the message.
- base::scoped_nsobject<NSAttributedString> attributedMessage(
- [[NSMutableAttributedString alloc] initWithString:message
- attributes:attributes]);
-
- // Update the text view with the new text.
- [[self textStorage] setAttributedString:attributedMessage];
-}
-
-- (void)addLinkRange:(NSRange)range
- withName:(id)name
- linkColor:(NSColor*)linkColor {
- NSDictionary* attributes = @{
- NSForegroundColorAttributeName : linkColor,
- NSUnderlineStyleAttributeName : @(YES),
- NSCursorAttributeName : [NSCursor pointingHandCursor],
- NSLinkAttributeName : name,
- NSUnderlineStyleAttributeName : @(NSSingleUnderlineStyle)
- };
-
- [[self textStorage] addAttributes:attributes range:range];
-}
-
-- (void)setRefusesFirstResponder:(BOOL)refusesFirstResponder {
- refusesFirstResponder_ = refusesFirstResponder;
-}
-
-@end

Powered by Google App Engine
This is Rietveld 408576698