1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "ui/views/widget/tooltip_manager.h" 6 7 #include "ui/gfx/rect.h" 8 #include "ui/gfx/screen.h" 9 #include "ui/gfx/text_elider.h" 10 11 namespace views { 12 13 const size_t kMaxTooltipLength = 1024; 14 15 // static 16 const char TooltipManager::kGroupingPropertyKey[] = "GroupingPropertyKey"; 17 18 // static GetMaxWidth(int x,int y,gfx::NativeView context)19int TooltipManager::GetMaxWidth(int x, int y, gfx::NativeView context) { 20 return GetMaxWidth(gfx::Screen::GetScreenFor(context)->GetDisplayNearestPoint( 21 gfx::Point(x, y))); 22 } 23 24 // static GetMaxWidth(const gfx::Display & display)25int TooltipManager::GetMaxWidth(const gfx::Display& display) { 26 return (display.bounds().width() + 1) / 2; 27 } 28 29 // static TrimTooltipText(base::string16 * text)30void TooltipManager::TrimTooltipText(base::string16* text) { 31 // Clamp the tooltip length to kMaxTooltipLength so that we don't 32 // accidentally DOS the user with a mega tooltip. 33 *text = gfx::TruncateString(*text, kMaxTooltipLength); 34 } 35 36 } // namespace views 37