ev_bubble_view.cc revision a36e5920737c6adbddd3e43b760e5de8431db6e0
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// Copyright (c) 2012 The Chromium Authors. All rights reserved. 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// Use of this source code is governed by a BSD-style license that can be 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// found in the LICENSE file. 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "chrome/browser/ui/views/location_bar/ev_bubble_view.h" 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "grit/theme_resources.h" 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "ui/views/painter.h" 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectnamespace { 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectconst int kBackgroundImages[] = IMAGE_GRID(IDR_OMNIBOX_EV_BUBBLE); 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectEVBubbleView::EVBubbleView(const gfx::Font& font, 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int font_y_offset, 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SkColor text_color, 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SkColor parent_background_color, 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project LocationBarView* location_bar) 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project : IconLabelBubbleView(kBackgroundImages, NULL, IDR_OMNIBOX_HTTPS_VALID, 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project font, font_y_offset, text_color, 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project parent_background_color, true), 238a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov page_info_helper_(this, location_bar) { 248a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov} 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectEVBubbleView::~EVBubbleView() { 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectgfx::Size EVBubbleView::GetMinimumSize() { 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Height will be ignored by the LocationBarView. 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project gfx::Size minimum(GetPreferredSize()); 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static const int kMinBubbleWidth = 150; 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project minimum.SetToMax(gfx::Size(kMinBubbleWidth, 0)); 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return minimum; 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectbool EVBubbleView::OnMousePressed(const ui::MouseEvent& event) { 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // We want to show the dialog on mouse release; that is the standard behavior 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // for buttons. 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectvoid EVBubbleView::OnMouseReleased(const ui::MouseEvent& event) { 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project page_info_helper_.ProcessEvent(event); 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectvoid EVBubbleView::OnGestureEvent(ui::GestureEvent* event) { 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (event->type() == ui::ET_GESTURE_TAP) { 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project page_info_helper_.ProcessEvent(*event); 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project event->SetHandled(); 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project