Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: chrome/browser/ui/views/tabs/tab.h

Issue 2126103003: Change chrome:// favicons in tabstrip based on theming. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2785
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_UI_VIEWS_TABS_TAB_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_TABS_TAB_H_
6 #define CHROME_BROWSER_UI_VIEWS_TABS_TAB_H_ 6 #define CHROME_BROWSER_UI_VIEWS_TABS_TAB_H_
7 7
8 #include <list> 8 #include <list>
9 #include <memory> 9 #include <memory>
10 #include <string> 10 #include <string>
11 11
12 #include "base/gtest_prod_util.h" 12 #include "base/gtest_prod_util.h"
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "base/memory/ref_counted.h" 14 #include "base/memory/ref_counted.h"
15 #include "chrome/browser/ui/views/tabs/tab_renderer_data.h" 15 #include "chrome/browser/ui/views/tabs/tab_renderer_data.h"
16 #include "ui/base/layout.h" 16 #include "ui/base/layout.h"
17 #include "ui/gfx/animation/animation_delegate.h" 17 #include "ui/gfx/animation/animation_delegate.h"
18 #include "ui/gfx/geometry/point.h" 18 #include "ui/gfx/geometry/point.h"
19 #include "ui/gfx/image/image_skia.h"
19 #include "ui/gfx/paint_throbber.h" 20 #include "ui/gfx/paint_throbber.h"
20 #include "ui/views/context_menu_controller.h" 21 #include "ui/views/context_menu_controller.h"
21 #include "ui/views/controls/button/button.h" 22 #include "ui/views/controls/button/button.h"
22 #include "ui/views/controls/glow_hover_controller.h" 23 #include "ui/views/controls/glow_hover_controller.h"
23 #include "ui/views/masked_targeter_delegate.h" 24 #include "ui/views/masked_targeter_delegate.h"
24 #include "ui/views/view.h" 25 #include "ui/views/view.h"
25 26
26 class AlertIndicatorButton; 27 class AlertIndicatorButton;
27 class TabController; 28 class TabController;
28 29
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 bool is_active, 251 bool is_active,
251 int fill_id, 252 int fill_id,
252 bool has_custom_image, 253 bool has_custom_image,
253 int y_offset); 254 int y_offset);
254 void PaintTabFill(gfx::Canvas* canvas, 255 void PaintTabFill(gfx::Canvas* canvas,
255 gfx::ImageSkia* fill_image, 256 gfx::ImageSkia* fill_image,
256 int x_offset, 257 int x_offset,
257 int y_offset, 258 int y_offset,
258 bool is_active); 259 bool is_active);
259 260
260 // Paints the pinned tab title changed indicator and favicon. |favicon| may 261 // Paints the pinned tab title changed indicator and |favicon_|. |favicon_|
261 // be null. |favicon_draw_bounds| is |favicon_bounds_| adjusted for rtl and 262 // may be null. |favicon_draw_bounds| is |favicon_bounds_| adjusted for rtl
262 // clipped to the bounds of the tab. 263 // and clipped to the bounds of the tab.
263 void PaintPinnedTabTitleChangedIndicatorAndIcon( 264 void PaintPinnedTabTitleChangedIndicatorAndIcon(
264 gfx::Canvas* canvas, 265 gfx::Canvas* canvas,
265 const gfx::ImageSkia& favicon,
266 const gfx::Rect& favicon_draw_bounds); 266 const gfx::Rect& favicon_draw_bounds);
267 267
268 // Paints the favicon, mirrored for RTL if needed. 268 // Paints the favicon, mirrored for RTL if needed.
269 void PaintIcon(gfx::Canvas* canvas); 269 void PaintIcon(gfx::Canvas* canvas);
270 270
271 // Invoked if data_.network_state changes, or the network_state is not none. 271 // Invoked if data_.network_state changes, or the network_state is not none.
272 void AdvanceLoadingAnimation(); 272 void AdvanceLoadingAnimation();
273 273
274 // Returns the number of favicon-size elements that can fit in the tab's 274 // Returns the number of favicon-size elements that can fit in the tab's
275 // current size. 275 // current size.
(...skipping 14 matching lines...) Expand all
290 290
291 // Gets the throb value for the tab. When a tab is not selected the 291 // Gets the throb value for the tab. When a tab is not selected the
292 // active background is drawn at |GetThrobValue()|%. This is used for hover, 292 // active background is drawn at |GetThrobValue()|%. This is used for hover,
293 // mini tab title change and pulsing. 293 // mini tab title change and pulsing.
294 double GetThrobValue(); 294 double GetThrobValue();
295 295
296 // Set the temporary offset for the favicon. This is used during the crash 296 // Set the temporary offset for the favicon. This is used during the crash
297 // animation. 297 // animation.
298 void SetFaviconHidingOffset(int offset); 298 void SetFaviconHidingOffset(int offset);
299 299
300 void set_should_display_crashed_favicon() { 300 void SetShouldDisplayCrashedFavicon(bool value);
301 should_display_crashed_favicon_ = true;
302 }
303 301
304 // Recalculates the correct |button_color_| and resets the title, alert 302 // Recalculates the correct |button_color_| and resets the title, alert
305 // indicator, and close button colors if necessary. This should be called any 303 // indicator, and close button colors if necessary. This should be called any
306 // time the theme or active state may have changed. 304 // time the theme or active state may have changed.
307 void OnButtonColorMaybeChanged(); 305 void OnButtonColorMaybeChanged();
308 306
309 // Schedules repaint task for icon. 307 // Schedules repaint task for icon.
310 void ScheduleIconPaint(); 308 void ScheduleIconPaint();
311 309
312 // Computes a path corresponding to the tab's content region inside the outer 310 // Computes a path corresponding to the tab's content region inside the outer
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 // detect when it changes and layout appropriately. 393 // detect when it changes and layout appropriately.
396 bool showing_alert_indicator_; 394 bool showing_alert_indicator_;
397 395
398 // Whether we are showing the close button. It is cached so that we can 396 // Whether we are showing the close button. It is cached so that we can
399 // detect when it changes and layout appropriately. 397 // detect when it changes and layout appropriately.
400 bool showing_close_button_; 398 bool showing_close_button_;
401 399
402 // The current color of the alert indicator and close button icons. 400 // The current color of the alert indicator and close button icons.
403 SkColor button_color_; 401 SkColor button_color_;
404 402
403 // The favicon for the tab. This might be the sad tab icon or a copy of
404 // data().favicon and may be modified for theming. It is created on demand
405 // and thus may be null.
406 gfx::ImageSkia favicon_;
407
405 // As the majority of the tabs are inactive, and painting tabs is slowish, 408 // As the majority of the tabs are inactive, and painting tabs is slowish,
406 // we cache a handful of the inactive tab backgrounds here. 409 // we cache a handful of the inactive tab backgrounds here.
407 static ImageCache* image_cache_; 410 static ImageCache* image_cache_;
408 411
409 DISALLOW_COPY_AND_ASSIGN(Tab); 412 DISALLOW_COPY_AND_ASSIGN(Tab);
410 }; 413 };
411 414
412 #endif // CHROME_BROWSER_UI_VIEWS_TABS_TAB_H_ 415 #endif // CHROME_BROWSER_UI_VIEWS_TABS_TAB_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc ('k') | chrome/browser/ui/views/tabs/tab.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698