Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/toolbar/browser_action_view.h" | 5 #include "chrome/browser/ui/views/toolbar/browser_action_view.h" |
| 6 | 6 |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "chrome/browser/chrome_notification_types.h" | 8 #include "chrome/browser/chrome_notification_types.h" |
| 9 #include "chrome/browser/extensions/api/commands/command_service.h" | 9 #include "chrome/browser/extensions/api/commands/command_service.h" |
| 10 #include "chrome/browser/extensions/dev_mode_bubble_controller.h" | 10 #include "chrome/browser/extensions/dev_mode_bubble_controller.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 108 } | 108 } |
| 109 | 109 |
| 110 //////////////////////////////////////////////////////////////////////////////// | 110 //////////////////////////////////////////////////////////////////////////////// |
| 111 // BrowserActionButton | 111 // BrowserActionButton |
| 112 | 112 |
| 113 BrowserActionButton::BrowserActionButton(const Extension* extension, | 113 BrowserActionButton::BrowserActionButton(const Extension* extension, |
| 114 Browser* browser, | 114 Browser* browser, |
| 115 BrowserActionView::Delegate* delegate) | 115 BrowserActionView::Delegate* delegate) |
| 116 : MenuButton(this, base::string16(), NULL, false), | 116 : MenuButton(this, base::string16(), NULL, false), |
| 117 browser_(browser), | 117 browser_(browser), |
| 118 icon_observer_(NULL), | |
|
Finnur
2014/02/10 11:20:57
Move this line down one to avoid compile error see
| |
| 118 browser_action_( | 119 browser_action_( |
| 119 extensions::ExtensionActionManager::Get(browser->profile())-> | 120 extensions::ExtensionActionManager::Get(browser->profile())-> |
| 120 GetBrowserAction(*extension)), | 121 GetBrowserAction(*extension)), |
| 121 extension_(extension), | 122 extension_(extension), |
| 122 icon_factory_(browser->profile(), extension, browser_action_, this), | 123 icon_factory_(browser->profile(), extension, browser_action_, this), |
| 123 delegate_(delegate), | 124 delegate_(delegate), |
| 124 context_menu_(NULL), | 125 context_menu_(NULL), |
| 125 called_registered_extension_command_(false) { | 126 called_registered_extension_command_(false) { |
| 126 SetBorder(views::Border::NullBorder()); | 127 SetBorder(views::Border::NullBorder()); |
| 127 set_alignment(TextButton::ALIGN_CENTER); | 128 set_alignment(TextButton::ALIGN_CENTER); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 304 UpdateState(); | 305 UpdateState(); |
| 305 break; | 306 break; |
| 306 default: | 307 default: |
| 307 NOTREACHED(); | 308 NOTREACHED(); |
| 308 break; | 309 break; |
| 309 } | 310 } |
| 310 } | 311 } |
| 311 | 312 |
| 312 void BrowserActionButton::OnIconUpdated() { | 313 void BrowserActionButton::OnIconUpdated() { |
| 313 UpdateState(); | 314 UpdateState(); |
| 315 if (icon_observer_) { | |
| 316 int tab_id = delegate_->GetCurrentTabId(); | |
| 317 gfx::Size spacing(0, ToolbarView::kVertSpacing); | |
| 318 gfx::ImageSkia icon = *icon_factory_.GetIcon(tab_id).ToImageSkia(); | |
| 319 if (!IsEnabled(tab_id)) | |
| 320 icon = gfx::ImageSkiaOperations::CreateTransparentImage(icon, .25); | |
|
Finnur
2014/02/10 10:41:41
This is copied almost verbatim from GetIconWithBad
| |
| 321 icon_observer_->OnIconUpdated( | |
| 322 browser_action_->GetIconWithBadge(icon, tab_id, spacing)); | |
| 323 } | |
| 314 } | 324 } |
| 315 | 325 |
| 316 bool BrowserActionButton::Activate() { | 326 bool BrowserActionButton::Activate() { |
| 317 if (!IsPopup()) | 327 if (!IsPopup()) |
| 318 return true; | 328 return true; |
| 319 | 329 |
| 320 delegate_->OnBrowserActionExecuted(this); | 330 delegate_->OnBrowserActionExecuted(this); |
| 321 | 331 |
| 322 // TODO(erikkay): Run a nested modal loop while the mouse is down to | 332 // TODO(erikkay): Run a nested modal loop while the mouse is down to |
| 323 // enable menu-like drag-select behavior. | 333 // enable menu-like drag-select behavior. |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 426 extensions::Command browser_action_command; | 436 extensions::Command browser_action_command; |
| 427 if (!only_if_active || !command_service->GetBrowserActionCommand( | 437 if (!only_if_active || !command_service->GetBrowserActionCommand( |
| 428 extension_->id(), | 438 extension_->id(), |
| 429 extensions::CommandService::ACTIVE_ONLY, | 439 extensions::CommandService::ACTIVE_ONLY, |
| 430 &browser_action_command, | 440 &browser_action_command, |
| 431 NULL)) { | 441 NULL)) { |
| 432 GetFocusManager()->UnregisterAccelerator(*keybinding_.get(), this); | 442 GetFocusManager()->UnregisterAccelerator(*keybinding_.get(), this); |
| 433 keybinding_.reset(NULL); | 443 keybinding_.reset(NULL); |
| 434 } | 444 } |
| 435 } | 445 } |
| OLD | NEW |