| Index: chrome/browser/ui/cocoa/location_bar/ev_bubble_decoration.mm
|
| diff --git a/chrome/browser/ui/cocoa/location_bar/ev_bubble_decoration.mm b/chrome/browser/ui/cocoa/location_bar/ev_bubble_decoration.mm
|
| deleted file mode 100644
|
| index 4aff48da688d8ed87443f42ce01ce0dae8e1b056..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/cocoa/location_bar/ev_bubble_decoration.mm
|
| +++ /dev/null
|
| @@ -1,170 +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/location_bar/ev_bubble_decoration.h"
|
| -
|
| -#import "base/logging.h"
|
| -#include "base/strings/sys_string_conversions.h"
|
| -#import "chrome/browser/ui/cocoa/location_bar/location_icon_decoration.h"
|
| -#import "chrome/browser/ui/cocoa/themed_window.h"
|
| -#include "chrome/grit/theme_resources.h"
|
| -#include "skia/ext/skia_utils_mac.h"
|
| -#import "ui/base/cocoa/nsview_additions.h"
|
| -#include "ui/base/material_design/material_design_controller.h"
|
| -#include "ui/gfx/color_palette.h"
|
| -#include "ui/gfx/font_list.h"
|
| -#include "ui/gfx/text_elider.h"
|
| -
|
| -namespace {
|
| -
|
| -// This is used to increase the right margin of this decoration.
|
| -const CGFloat kRightSideMargin = 1.0;
|
| -
|
| -// TODO(shess): In general, decorations that don't fit in the
|
| -// available space are omitted. This one never goes to omitted, it
|
| -// sticks at 150px, which AFAICT follows the Windows code. Since the
|
| -// Layout() code doesn't take this into account, it's possible the
|
| -// control could end up with display artifacts, though things still
|
| -// work (and don't crash).
|
| -// http://crbug.com/49822
|
| -
|
| -// Minimum acceptable width for the ev bubble.
|
| -const CGFloat kMinElidedBubbleWidth = 150.0;
|
| -
|
| -// Maximum amount of available space to make the bubble, subject to
|
| -// |kMinElidedBubbleWidth|.
|
| -const float kMaxBubbleFraction = 0.5;
|
| -
|
| -// The info-bubble point should look like it points to the bottom of the lock
|
| -// icon. Determined with Pixie.app.
|
| -const CGFloat kPageInfoBubblePointYOffset = 6.0;
|
| -
|
| -// TODO(shess): This is ugly, find a better way. Using it right now
|
| -// so that I can crib from gtk and still be able to see that I'm using
|
| -// the same values easily.
|
| -NSColor* ColorWithRGBBytes(int rr, int gg, int bb) {
|
| - DCHECK_LE(rr, 255);
|
| - DCHECK_LE(bb, 255);
|
| - DCHECK_LE(gg, 255);
|
| - return [NSColor colorWithCalibratedRed:static_cast<float>(rr)/255.0
|
| - green:static_cast<float>(gg)/255.0
|
| - blue:static_cast<float>(bb)/255.0
|
| - alpha:1.0];
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -EVBubbleDecoration::EVBubbleDecoration(LocationIconDecoration* location_icon)
|
| - : location_icon_(location_icon) {
|
| - if (ui::MaterialDesignController::IsModeMaterial()) {
|
| - // On Retina the text label is 1px above the Omnibox textfield's text
|
| - // baseline. If the Omnibox textfield also drew the label the baselines
|
| - // would align.
|
| - SetRetinaBaselineOffset(0.5);
|
| - } else {
|
| - // Color tuples stolen from location_bar_view_gtk.cc.
|
| - SetTextColor(ColorWithRGBBytes(0x07, 0x95, 0x00));
|
| - }
|
| -}
|
| -
|
| -EVBubbleDecoration::~EVBubbleDecoration() {}
|
| -
|
| -NSColor* EVBubbleDecoration::GetBackgroundBorderColor() {
|
| - return skia::SkColorToSRGBNSColor(gfx::kGoogleGreen700);
|
| -}
|
| -
|
| -void EVBubbleDecoration::SetFullLabel(NSString* label) {
|
| - full_label_.reset([label retain]);
|
| - SetLabel(full_label_);
|
| -}
|
| -
|
| -void EVBubbleDecoration::DrawWithBackgroundInFrame(NSRect background_frame,
|
| - NSRect frame,
|
| - NSView* control_view) {
|
| - if (!ui::MaterialDesignController::IsModeMaterial()) {
|
| - BubbleDecoration::DrawWithBackgroundInFrame(background_frame, frame,
|
| - control_view);
|
| - return;
|
| - }
|
| -
|
| - NSRect rect = NSInsetRect(background_frame, 0, 3);
|
| - rect.size.width -= kRightSideMargin;
|
| -
|
| - CGFloat line_width = [control_view cr_lineWidth];
|
| - bool in_dark_mode = [[control_view window] inIncognitoModeWithSystemTheme];
|
| - // Only adjust the path rect by 1/2 the line width if it's going to be
|
| - // stroked (so that the stroke lines fall along pixel lines).
|
| - if (!in_dark_mode) {
|
| - rect = NSInsetRect(rect, line_width / 2., line_width / 2.);
|
| - }
|
| -
|
| - DrawInFrame(frame, control_view);
|
| -}
|
| -
|
| -NSPoint EVBubbleDecoration::GetBubblePointInFrame(NSRect frame) {
|
| - NSRect image_rect = GetImageRectInFrame(frame);
|
| - return NSMakePoint(NSMidX(image_rect),
|
| - NSMaxY(image_rect) - kPageInfoBubblePointYOffset);
|
| -}
|
| -
|
| -CGFloat EVBubbleDecoration::GetWidthForSpace(CGFloat width) {
|
| - // Limit with to not take up too much of the available width, but
|
| - // also don't let it shrink too much.
|
| - width = std::max(width * kMaxBubbleFraction, kMinElidedBubbleWidth);
|
| -
|
| - // Use the full label if it fits.
|
| - NSImage* image = GetImage();
|
| - const CGFloat all_width = GetWidthForImageAndLabel(image, full_label_);
|
| - if (all_width <= width) {
|
| - SetLabel(full_label_);
|
| - return all_width;
|
| - }
|
| -
|
| - // Width left for laying out the label.
|
| - const CGFloat width_left = width - GetWidthForImageAndLabel(image, @"");
|
| -
|
| - // Middle-elide the label to fit |width_left|. This leaves the
|
| - // prefix and the trailing country code in place.
|
| - NSString* elided_label = base::SysUTF16ToNSString(
|
| - gfx::ElideText(base::SysNSStringToUTF16(full_label_),
|
| - gfx::FontList(gfx::Font(GetFont())),
|
| - width_left, gfx::ELIDE_MIDDLE));
|
| -
|
| - // Use the elided label.
|
| - SetLabel(elided_label);
|
| - return GetWidthForImageAndLabel(image, elided_label);
|
| -}
|
| -
|
| -// Pass mouse operations through to location icon.
|
| -bool EVBubbleDecoration::IsDraggable() {
|
| - return location_icon_->IsDraggable();
|
| -}
|
| -
|
| -NSPasteboard* EVBubbleDecoration::GetDragPasteboard() {
|
| - return location_icon_->GetDragPasteboard();
|
| -}
|
| -
|
| -NSImage* EVBubbleDecoration::GetDragImage() {
|
| - return location_icon_->GetDragImage();
|
| -}
|
| -
|
| -NSRect EVBubbleDecoration::GetDragImageFrame(NSRect frame) {
|
| - return GetImageRectInFrame(frame);
|
| -}
|
| -
|
| -bool EVBubbleDecoration::OnMousePressed(NSRect frame, NSPoint location) {
|
| - return location_icon_->OnMousePressed(frame, location);
|
| -}
|
| -
|
| -bool EVBubbleDecoration::AcceptsMousePress() {
|
| - return true;
|
| -}
|
| -
|
| -ui::NinePartImageIds EVBubbleDecoration::GetBubbleImageIds() {
|
| - return IMAGE_GRID(IDR_OMNIBOX_EV_BUBBLE);
|
| -}
|
| -
|
| -NSColor* EVBubbleDecoration::GetDarkModeTextColor() {
|
| - return [NSColor whiteColor];
|
| -}
|
|
|