| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/views/tabs/base_tab.h" | 5 #include "chrome/browser/ui/views/tabs/base_tab.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 427 data().favicon.height(), | 427 data().favicon.height(), |
| 428 bounds, true); | 428 bounds, true); |
| 429 } | 429 } |
| 430 } | 430 } |
| 431 canvas->Restore(); | 431 canvas->Restore(); |
| 432 } | 432 } |
| 433 } | 433 } |
| 434 | 434 |
| 435 void BaseTab::PaintTitle(gfx::Canvas* canvas, SkColor title_color) { | 435 void BaseTab::PaintTitle(gfx::Canvas* canvas, SkColor title_color) { |
| 436 // Paint the Title. | 436 // Paint the Title. |
| 437 const gfx::Rect& title_bounds = GetTitleBounds(); |
| 437 string16 title = data().title; | 438 string16 title = data().title; |
| 438 if (title.empty()) { | 439 if (title.empty()) { |
| 439 title = data().loading ? | 440 title = data().loading ? |
| 440 l10n_util::GetStringUTF16(IDS_TAB_LOADING_TITLE) : | 441 l10n_util::GetStringUTF16(IDS_TAB_LOADING_TITLE) : |
| 441 TabContentsWrapper::GetDefaultTitle(); | 442 TabContentsWrapper::GetDefaultTitle(); |
| 442 } else { | 443 } else { |
| 443 Browser::FormatTitleForDisplay(&title); | 444 Browser::FormatTitleForDisplay(&title); |
| 445 // If we'll need to truncate, check if we should also truncate |
| 446 // a common prefix, but only if there is enough room for it. |
| 447 // We arbitrarily choose to request enough room for 10 average chars. |
| 448 if (data().common_prefix_length > 0 && |
| 449 font_->GetExpectedTextWidth(10) < title_bounds.width() && |
| 450 font_->GetStringWidth(title) > title_bounds.width()) { |
| 451 title.replace(0, data().common_prefix_length, ASCIIToUTF16("...")); |
| 452 } |
| 444 } | 453 } |
| 445 const gfx::Rect& title_bounds = GetTitleBounds(); | |
| 446 canvas->DrawStringInt(title, *font_, title_color, | 454 canvas->DrawStringInt(title, *font_, title_color, |
| 447 title_bounds.x(), title_bounds.y(), | 455 title_bounds.x(), title_bounds.y(), |
| 448 title_bounds.width(), title_bounds.height()); | 456 title_bounds.width(), title_bounds.height()); |
| 449 } | 457 } |
| 450 | 458 |
| 451 void BaseTab::AnimationProgressed(const ui::Animation* animation) { | 459 void BaseTab::AnimationProgressed(const ui::Animation* animation) { |
| 452 SchedulePaint(); | 460 SchedulePaint(); |
| 453 } | 461 } |
| 454 | 462 |
| 455 void BaseTab::AnimationCanceled(const ui::Animation* animation) { | 463 void BaseTab::AnimationCanceled(const ui::Animation* animation) { |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 518 // static | 526 // static |
| 519 void BaseTab::InitResources() { | 527 void BaseTab::InitResources() { |
| 520 static bool initialized = false; | 528 static bool initialized = false; |
| 521 if (!initialized) { | 529 if (!initialized) { |
| 522 initialized = true; | 530 initialized = true; |
| 523 font_ = new gfx::Font( | 531 font_ = new gfx::Font( |
| 524 ResourceBundle::GetSharedInstance().GetFont(ResourceBundle::BaseFont)); | 532 ResourceBundle::GetSharedInstance().GetFont(ResourceBundle::BaseFont)); |
| 525 font_height_ = font_->GetHeight(); | 533 font_height_ = font_->GetHeight(); |
| 526 } | 534 } |
| 527 } | 535 } |
| OLD | NEW |