| Index: chrome/browser/gtk/browser_toolbar_gtk.cc
|
| diff --git a/chrome/browser/gtk/browser_toolbar_gtk.cc b/chrome/browser/gtk/browser_toolbar_gtk.cc
|
| index 5ceb32d6bb70533a2ba9598bd710fcb956e008b7..bfcce1ba32748ddbc4d5e8e4f721d9d2d652e709 100644
|
| --- a/chrome/browser/gtk/browser_toolbar_gtk.cc
|
| +++ b/chrome/browser/gtk/browser_toolbar_gtk.cc
|
| @@ -74,13 +74,6 @@ const int kToolbarWidgetSpacing = 1;
|
| // Amount of rounding on top corners of toolbar. Only used in Gtk theme mode.
|
| const int kToolbarCornerSize = 3;
|
|
|
| -// The offset in pixels of the upgrade dot on the app menu.
|
| -const int kUpgradeDotOffset = 6;
|
| -
|
| -// The duration of the upgrade notification animation (actually the duration
|
| -// of a half-throb).
|
| -const int kThrobDuration = 1000;
|
| -
|
| void SetWidgetHeightRequest(GtkWidget* widget, gpointer user_data) {
|
| gtk_widget_set_size_request(widget, -1, GPOINTER_TO_INT(user_data));
|
| }
|
| @@ -96,9 +89,7 @@ BrowserToolbarGtk::BrowserToolbarGtk(Browser* browser, BrowserWindowGtk* window)
|
| wrench_menu_model_(this, browser),
|
| browser_(browser),
|
| window_(window),
|
| - profile_(NULL),
|
| - upgrade_reminder_animation_(this),
|
| - upgrade_reminder_canceled_(false) {
|
| + profile_(NULL) {
|
| browser_->command_updater()->AddCommandObserver(IDC_BACK, this);
|
| browser_->command_updater()->AddCommandObserver(IDC_FORWARD, this);
|
| browser_->command_updater()->AddCommandObserver(IDC_HOME, this);
|
| @@ -110,15 +101,9 @@ BrowserToolbarGtk::BrowserToolbarGtk(Browser* browser, BrowserWindowGtk* window)
|
| registrar_.Add(this,
|
| NotificationType::UPGRADE_RECOMMENDED,
|
| NotificationService::AllSources());
|
| -
|
| - upgrade_reminder_animation_.SetThrobDuration(kThrobDuration);
|
| -
|
| - ActiveWindowWatcherX::AddObserver(this);
|
| }
|
|
|
| BrowserToolbarGtk::~BrowserToolbarGtk() {
|
| - ActiveWindowWatcherX::RemoveObserver(this);
|
| -
|
| browser_->command_updater()->RemoveCommandObserver(IDC_BACK, this);
|
| browser_->command_updater()->RemoveCommandObserver(IDC_FORWARD, this);
|
| browser_->command_updater()->RemoveCommandObserver(IDC_HOME, this);
|
| @@ -229,8 +214,6 @@ void BrowserToolbarGtk::Init(Profile* profile,
|
| gtk_box_pack_start(GTK_BOX(toolbar_), wrench_box, FALSE, FALSE, 4);
|
|
|
| wrench_menu_.reset(new MenuGtk(this, &wrench_menu_model_));
|
| - g_signal_connect(wrench_menu_->widget(), "show",
|
| - G_CALLBACK(OnWrenchMenuShowThunk), this);
|
| registrar_.Add(this, NotificationType::ZOOM_LEVEL_CHANGED,
|
| Source<Profile>(browser_->profile()));
|
|
|
| @@ -254,8 +237,6 @@ void BrowserToolbarGtk::Init(Profile* profile,
|
|
|
| SetViewIDs();
|
| theme_provider_->InitThemesFor(this);
|
| -
|
| - MaybeShowUpgradeReminder();
|
| }
|
|
|
| void BrowserToolbarGtk::SetViewIDs() {
|
| @@ -395,7 +376,7 @@ void BrowserToolbarGtk::Observe(NotificationType type,
|
|
|
| UpdateRoundedness();
|
| } else if (type == NotificationType::UPGRADE_RECOMMENDED) {
|
| - MaybeShowUpgradeReminder();
|
| + gtk_widget_queue_draw(wrench_menu_button_->widget());
|
| } else if (type == NotificationType::ZOOM_LEVEL_CHANGED) {
|
| // If our zoom level changed, we need to tell the menu to update its state,
|
| // since the menu could still be open.
|
| @@ -638,69 +619,24 @@ void BrowserToolbarGtk::NotifyPrefChanged(const std::string* pref) {
|
| !home_page_is_new_tab_page_.IsManaged());
|
| }
|
|
|
| -void BrowserToolbarGtk::MaybeShowUpgradeReminder() {
|
| - // Only show the upgrade reminder animation for the currently active window.
|
| - if (window_->IsActive() &&
|
| - Singleton<UpgradeDetector>::get()->notify_upgrade() &&
|
| - !upgrade_reminder_canceled_) {
|
| - upgrade_reminder_animation_.StartThrobbing(-1);
|
| - } else {
|
| - upgrade_reminder_animation_.Reset();
|
| - }
|
| -}
|
| -
|
| bool BrowserToolbarGtk::ShouldOnlyShowLocation() const {
|
| // If we're a popup window, only show the location bar (omnibox).
|
| return browser_->type() != Browser::TYPE_NORMAL;
|
| }
|
|
|
| -void BrowserToolbarGtk::AnimationEnded(const Animation* animation) {
|
| - DCHECK_EQ(animation, &upgrade_reminder_animation_);
|
| - gtk_widget_queue_draw(wrench_menu_button_->widget()->parent);
|
| -}
|
| -
|
| -void BrowserToolbarGtk::AnimationProgressed(const Animation* animation) {
|
| - DCHECK_EQ(animation, &upgrade_reminder_animation_);
|
| - if (UpgradeAnimationIsFaded())
|
| - gtk_widget_queue_draw(wrench_menu_button_->widget()->parent);
|
| -}
|
| -
|
| -void BrowserToolbarGtk::AnimationCanceled(const Animation* animation) {
|
| - AnimationEnded(animation);
|
| -}
|
| -
|
| -void BrowserToolbarGtk::ActiveWindowChanged(GdkWindow* active_window) {
|
| - MaybeShowUpgradeReminder();
|
| -}
|
| -
|
| -void BrowserToolbarGtk::OnWrenchMenuShow(GtkWidget* sender) {
|
| - if (upgrade_reminder_animation_.is_animating()) {
|
| - upgrade_reminder_canceled_ = true;
|
| - MaybeShowUpgradeReminder();
|
| - }
|
| -}
|
| -
|
| gboolean BrowserToolbarGtk::OnWrenchMenuButtonExpose(GtkWidget* sender,
|
| GdkEventExpose* expose) {
|
| if (!Singleton<UpgradeDetector>::get()->notify_upgrade())
|
| return FALSE;
|
|
|
| - SkBitmap badge;
|
| - if (UpgradeAnimationIsFaded()) {
|
| - badge = SkBitmapOperations::CreateBlendedBitmap(
|
| - *theme_provider_->GetBitmapNamed(IDR_UPGRADE_DOT_ACTIVE),
|
| - *theme_provider_->GetBitmapNamed(IDR_UPGRADE_DOT_INACTIVE),
|
| - upgrade_reminder_animation_.GetCurrentValue());
|
| - } else {
|
| - badge = *theme_provider_->GetBitmapNamed(IDR_UPGRADE_DOT_INACTIVE);
|
| - }
|
| + const SkBitmap& badge =
|
| + *theme_provider_->GetBitmapNamed(IDR_UPDATE_BADGE);
|
|
|
| // Draw the chrome app menu icon onto the canvas.
|
| gfx::CanvasSkiaPaint canvas(expose, false);
|
| - int x_offset = base::i18n::IsRTL() ?
|
| - sender->allocation.width - kUpgradeDotOffset - badge.width() :
|
| - kUpgradeDotOffset;
|
| - int y_offset = sender->allocation.height / 2 + badge.height();
|
| + int x_offset = base::i18n::IsRTL() ? 0 :
|
| + sender->allocation.width - badge.width();
|
| + int y_offset = 0;
|
| canvas.DrawBitmapInt(
|
| badge,
|
| sender->allocation.x + x_offset,
|
| @@ -708,10 +644,3 @@ gboolean BrowserToolbarGtk::OnWrenchMenuButtonExpose(GtkWidget* sender,
|
|
|
| return FALSE;
|
| }
|
| -
|
| -bool BrowserToolbarGtk::UpgradeAnimationIsFaded() {
|
| - return upgrade_reminder_animation_.cycles_remaining() > 0 &&
|
| - // This funky looking math makes the badge throb for 2 seconds once
|
| - // every 8 seconds.
|
| - ((upgrade_reminder_animation_.cycles_remaining() - 1) / 2) % 4 == 0;
|
| -}
|
|
|