From 69c579e522c4493c15c93ebf33b28a35b1e7213b Mon Sep 17 00:00:00 2001 From: "shess@chromium.org" Date: Fri, 23 Apr 2010 20:01:00 +0000 Subject: Re-instate the temporary revert from r45267. That reverted certain Omnibox, toolbar, tab animations, and other UI changes for purposes of testing and merging into mstone-5. Additionally reverts these CLs to fix the earlier revert: r45271: [Mac] Image references missing from Omnibox revert. r45268: GTK fix merge failure in uber-revert. Additional revert which fixed a bug for the branch: r45381: [Mac] Omnibox popup icons and text lined up under toolbar. Slight merge conflict which should be good: r45322: GTK: Implement OnDragCanceled() for autocomplete... Also ++kThemePackVersion and regenerate the cached theme pak. Re-instated changes: r45213: GTK: Override cursor colors in chrome-theme mode. r45103: Support drawing nano tabs in the tabstrip. r45084: GTK: Position the EV certificate stuff inside a green bubble. r44979: Subclassing the InfoBubble to handle anchoring bubbles basedon... r44957: GTK: Tint the geolocation icons in gtk mode. r44943: Changes FormatURL to not strip http if the host starts with ft... r44930: Remove an icon that is no longer used. r44929: SSL UI changes, Windows, code side (images are separate). r44859: SSL UI changes (icons). TBRed since trybots hate binary patches. r44822: GTK: Select better greens in the native omnibox popup. r44814: GTK: navigate to URL on PRIMARY when middle-clicking the locat... r44789: [Mac] Bookmark star missing on NTP and BMM. r44775: [Mac] Centralize hack to make tests work with AutocompleteClas... r44678: Display the SECURITY_WARNING status in the location bar for the r44648: [Mac] Add an arrow cursor rect for the location image. r44615: Revert r44611 because it may have broken "unit_tests" on "Vist... r44611: Display the SECURITY_WARNING status in the location bar for the r44577: Revert 44572 - [Mac] Update locationbar icon as user types. r44572: [Mac] Update location-bar icon as user types. r44555: GTK: Use correct button mask on reload button. r44545: [Mac] Omnibox text drag drag URL when select-all. r44523: GTK: Prevent inappropriate drag of location bar location icon. r44519: GTK: make the primary selection include the url's scheme when ... r44492: [Mac] Fix search icon in keyword search to be right-side-up. r44415: GTK: Update top padding on icons in the autocomplete popup. r44401: GTK: Tint omnibox icons in GTK mode differently. r44380: GTK: Move reload in gtk mode and fix omnibox popup location. r44282: Fixes crash in autocomplete when typing some URLs. The problem r44273: [Mac] PDF icons for omnibox nits. r44269: Fix build break due to bad merge resolve r44268: Shift omnibox dropdown in and up on Windows, and square off th... r44178: GTK: fix TTS padding. r44177: Round the top left and right edges of the toolbar. r44171: Images only checkin for try server goodness. r44163: GTK: fix padding of autocomplete popup. r44152: [Mac] PDF icons for omnibox. r44145: GTK: Theme the icons in the location bar and use GTK colors fo... r44140: Strips http from the omnibox r44131: Fixes bugs in new tab strip animations where they weren't doin... r44116: Change the default theme colors. r44117: Add newline to EOF to fix CrOS builder. r44115: Make the bottom edges of the opaque frame rounded. r44091: [Mac] No star icon or page actions in omnibox on popups. r44087: Don't allow drag or click on location icon when editing in omn... r44021: [GTK] Add TTS lens graphic to linux TTS box. r44008: [Mac] Tweak location icon spacing in omnibox. r43977: GTK: don't show the star or page actions in ShouldOnlyShowLoca... r43972: Make the firstrun bubble point at a better spot now that the l... r43971: [Mac] Location icon in omnibox as drag source. r43970: Make the star and page action icons not appear on popup windows. r43954: Fixes bug in TabStrip where dragging tab out then back in rapidly r43864: Tweaks to BoundsAnimator/SlideAnimation and TabStrip: r43787: Allow location icon to be dragged & dropped. This also fixes ... r43759: Changes end cap of tab-to-search images. r43740: Change bookmark bar toggle to ctrl-shift-b. r43723: Show Page Info dialog on mouse up, not mouse down. r43677: Fix Mac build failure. r43676: Replace omnibox icons with new set that are all the same size ... r43596: Fix browser test TestStarButtonAccObj. r43593: Disables TestStarButtonAccObj. r43582: Changes tab strip to use BoundsAnimator for tab strip animatio... r43563: GTK: don't show reload button for popup/app windows. r43562: Star/reload shuffle, Windows version. r43540: [Mac] Magnifying glass in keyword-search bubble. r43482: Adds images needed for new tab animation. I'm separating this ... r43422: Add reload mask resource. r43392: GTK: make the location icon a drag source. r43376: [Mac] Move star button into page-actions area of omnibox. r43357: [Mac] Line up omnibox popup under field. r43290: gtk: fix display of icons in omnibox popup r43269: GTK: fix reload button. r43249: [Mac] Rearrange SSL status icon/label in omnibox. r43248: BrowserThemePack: Adds persistant ids for the reload endcaps. r43241: GTK: more location bar updates. r43191: Fix memory leak in BrowserThemePack. r43154: GTK: set the new star button's ID r43151: Fix bad conflict resolution for r43146. r43146: GTK: toolbar reload/star shuffle. r43025: Show the location bar icon (almost) all the time, and have its... r43023: Add new images for new reload button. No code change. r42782: Remove this icon, now that it's no longer used (due to my secu... r42502: Omnibox M5 work, part 1: Security changes r42245: Check in new icons for omnibox security changes alone, so that... BUG=none TEST=People go back to complaining about missing http://. R=pkasting@chromium.org,beng@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45474 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/views/tabs/tab_renderer.h | 52 ++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 6 deletions(-) (limited to 'chrome/browser/views/tabs/tab_renderer.h') diff --git a/chrome/browser/views/tabs/tab_renderer.h b/chrome/browser/views/tabs/tab_renderer.h index 2e309c6..fc01a7a 100644 --- a/chrome/browser/views/tabs/tab_renderer.h +++ b/chrome/browser/views/tabs/tab_renderer.h @@ -1,17 +1,19 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 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. -#ifndef CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H__ -#define CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H__ +#ifndef CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H_ +#define CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H_ #include "app/animation.h" +#include "base/ref_counted.h" #include "base/scoped_ptr.h" #include "base/string16.h" #include "gfx/point.h" #include "views/controls/button/image_button.h" #include "views/view.h" +class AnimationContainer; class SlideAnimation; class TabContents; class ThrobAnimation; @@ -37,6 +39,11 @@ class TabRenderer : public views::View, TabRenderer(); virtual ~TabRenderer(); + // Sizes the renderer to the size of the new tab images. This is used + // during the new tab animation. See TabStrip's description of AnimationType + // for details. + void SizeToNewTabButtonImages(); + // Overridden from views: void ViewHierarchyChanged(bool is_add, View* parent, View* child); ThemeProvider* GetThemeProvider(); @@ -55,10 +62,26 @@ class TabRenderer : public views::View, void set_mini(bool mini) { data_.mini = mini; } bool mini() const { return data_.mini; } + // Sets the mini-state of the tab. + void set_app(bool app) { data_.app = app; } + bool app() const { return data_.app; } + // Sets the phantom state of the tab. void set_phantom(bool phantom) { data_.phantom = phantom; } bool phantom() const { return data_.phantom; } + // Used during new tab animation to force the tab to render a new tab like + // animation. + void set_render_as_new_tab(bool value) { data_.render_as_new_tab = value; } + + // Sets the alpha value to render the tab at. This is used during the new + // tab animation. + void set_alpha(double value) { data_.alpha = value; } + + // Forces the tab to render unselected even though it is selected. + void set_render_unselected(bool value) { data_.render_unselected = value; } + bool render_unselected() const { return data_.render_unselected; } + // Are we in the process of animating a mini tab state change on this tab? void set_animating_mini_change(bool value); @@ -93,6 +116,9 @@ class TabRenderer : public views::View, theme_provider_ = provider; } + // Sets the container all animations run from. + void SetAnimationContainer(AnimationContainer* container); + // Paints the icon. Most of the time you'll want to invoke Paint directly, but // in certain situations this invoked outside of Paint. void PaintIcon(gfx::Canvas* canvas); @@ -158,6 +184,7 @@ class TabRenderer : public views::View, void PaintInactiveTabBackground(gfx::Canvas* canvas); void PaintActiveTabBackground(gfx::Canvas* canvas); void PaintLoadingAnimation(gfx::Canvas* canvas); + void PaintAsNewTab(gfx::Canvas* canvas); // Returns the number of favicon-size elements that can fit in the tab's // current size. @@ -211,7 +238,11 @@ class TabRenderer : public views::View, mini(false), blocked(false), animating_mini_change(false), - phantom(false) { + phantom(false), + app(false), + render_as_new_tab(false), + render_unselected(false), + alpha(1) { } SkBitmap favicon; @@ -224,6 +255,10 @@ class TabRenderer : public views::View, bool blocked; bool animating_mini_change; bool phantom; + bool app; + bool render_as_new_tab; + bool render_unselected; + double alpha; }; TabData data_; @@ -233,10 +268,13 @@ class TabRenderer : public views::View, SkBitmap* image_r; int l_width; int r_width; + int y_offset; }; static TabImage tab_active; + static TabImage tab_active_nano; static TabImage tab_inactive; static TabImage tab_alpha; + static TabImage tab_alpha_nano; // Whether we're showing the icon. It is cached so that we can detect when it // changes and layout appropriately. @@ -260,10 +298,12 @@ class TabRenderer : public views::View, ThemeProvider* theme_provider_; + scoped_refptr container_; + static void InitClass(); static bool initialized_; - DISALLOW_EVIL_CONSTRUCTORS(TabRenderer); + DISALLOW_COPY_AND_ASSIGN(TabRenderer); }; -#endif // CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H__ +#endif // CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H_ -- cgit v1.1