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

Side by Side Diff: chrome/browser/ui/toolbar/toolbar_actions_bar.cc

Issue 1865213004: Convert //chrome/browser/ui from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/toolbar/toolbar_actions_bar.h" 5 #include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 suppress_animation_ = false; 384 suppress_animation_ = false;
385 385
386 // CreateActions() can be called multiple times, so we need to make sure we 386 // CreateActions() can be called multiple times, so we need to make sure we
387 // haven't already shown the bubble. 387 // haven't already shown the bubble.
388 // Extension bubbles can also highlight a subset of actions, so don't show the 388 // Extension bubbles can also highlight a subset of actions, so don't show the
389 // bubble if the toolbar is already highlighting a different set. 389 // bubble if the toolbar is already highlighting a different set.
390 if (!checked_extension_bubble_ && !is_highlighting()) { 390 if (!checked_extension_bubble_ && !is_highlighting()) {
391 checked_extension_bubble_ = true; 391 checked_extension_bubble_ = true;
392 // CreateActions() can be called as part of the browser window set up, which 392 // CreateActions() can be called as part of the browser window set up, which
393 // we need to let finish before showing the actions. 393 // we need to let finish before showing the actions.
394 scoped_ptr<extensions::ExtensionMessageBubbleController> controller = 394 std::unique_ptr<extensions::ExtensionMessageBubbleController> controller =
395 ExtensionMessageBubbleFactory(browser_).GetController(); 395 ExtensionMessageBubbleFactory(browser_).GetController();
396 if (controller) { 396 if (controller) {
397 base::ThreadTaskRunnerHandle::Get()->PostTask( 397 base::ThreadTaskRunnerHandle::Get()->PostTask(
398 FROM_HERE, base::Bind(&ToolbarActionsBar::MaybeShowExtensionBubble, 398 FROM_HERE, base::Bind(&ToolbarActionsBar::MaybeShowExtensionBubble,
399 weak_ptr_factory_.GetWeakPtr(), 399 weak_ptr_factory_.GetWeakPtr(),
400 base::Passed(std::move(controller)))); 400 base::Passed(std::move(controller))));
401 } 401 }
402 } 402 }
403 } 403 }
404 404
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 573
574 void ToolbarActionsBar::AddObserver(ToolbarActionsBarObserver* observer) { 574 void ToolbarActionsBar::AddObserver(ToolbarActionsBarObserver* observer) {
575 observers_.AddObserver(observer); 575 observers_.AddObserver(observer);
576 } 576 }
577 577
578 void ToolbarActionsBar::RemoveObserver(ToolbarActionsBarObserver* observer) { 578 void ToolbarActionsBar::RemoveObserver(ToolbarActionsBarObserver* observer) {
579 observers_.RemoveObserver(observer); 579 observers_.RemoveObserver(observer);
580 } 580 }
581 581
582 void ToolbarActionsBar::ShowToolbarActionBubble( 582 void ToolbarActionsBar::ShowToolbarActionBubble(
583 scoped_ptr<ToolbarActionsBarBubbleDelegate> bubble) { 583 std::unique_ptr<ToolbarActionsBarBubbleDelegate> bubble) {
584 DCHECK(bubble->GetAnchorActionId().empty() || 584 DCHECK(bubble->GetAnchorActionId().empty() ||
585 GetActionForId(bubble->GetAnchorActionId())); 585 GetActionForId(bubble->GetAnchorActionId()));
586 if (delegate_->IsAnimating()) 586 if (delegate_->IsAnimating())
587 pending_toolbar_bubble_controller_ = std::move(bubble); 587 pending_toolbar_bubble_controller_ = std::move(bubble);
588 else 588 else
589 delegate_->ShowToolbarActionBubble(std::move(bubble)); 589 delegate_->ShowToolbarActionBubble(std::move(bubble));
590 } 590 }
591 591
592 void ToolbarActionsBar::MaybeShowExtensionBubble( 592 void ToolbarActionsBar::MaybeShowExtensionBubble(
593 scoped_ptr<extensions::ExtensionMessageBubbleController> controller) { 593 std::unique_ptr<extensions::ExtensionMessageBubbleController> controller) {
594 controller->HighlightExtensionsIfNecessary(); // Safe to call multiple times. 594 controller->HighlightExtensionsIfNecessary(); // Safe to call multiple times.
595 if (delegate_->IsAnimating()) { 595 if (delegate_->IsAnimating()) {
596 // If the toolbar is animating, we can't effectively anchor the bubble, 596 // If the toolbar is animating, we can't effectively anchor the bubble,
597 // so wait until animation stops. 597 // so wait until animation stops.
598 pending_extension_bubble_controller_ = std::move(controller); 598 pending_extension_bubble_controller_ = std::move(controller);
599 } else if (controller->ShouldShow()) { 599 } else if (controller->ShouldShow()) {
600 // We check ShouldShow() above because the affected extensions may have been 600 // We check ShouldShow() above because the affected extensions may have been
601 // removed since the controller was initialized. 601 // removed since the controller was initialized.
602 const std::vector<std::string>& affected_extensions = 602 const std::vector<std::string>& affected_extensions =
603 controller->GetExtensionIdList(); 603 controller->GetExtensionIdList();
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 ToolbarActions::iterator iter = toolbar_actions_.begin(); 641 ToolbarActions::iterator iter = toolbar_actions_.begin();
642 while (iter != toolbar_actions_.end() && (*iter)->GetId() != action_id) 642 while (iter != toolbar_actions_.end() && (*iter)->GetId() != action_id)
643 ++iter; 643 ++iter;
644 644
645 if (iter == toolbar_actions_.end()) 645 if (iter == toolbar_actions_.end())
646 return; 646 return;
647 647
648 // The action should outlive the UI element (which is owned by the delegate), 648 // The action should outlive the UI element (which is owned by the delegate),
649 // so we can't delete it just yet. But we should remove it from the list of 649 // so we can't delete it just yet. But we should remove it from the list of
650 // actions so that any width calculations are correct. 650 // actions so that any width calculations are correct.
651 scoped_ptr<ToolbarActionViewController> removed_action(*iter); 651 std::unique_ptr<ToolbarActionViewController> removed_action(*iter);
652 toolbar_actions_.weak_erase(iter); 652 toolbar_actions_.weak_erase(iter);
653 delegate_->RemoveViewForAction(removed_action.get()); 653 delegate_->RemoveViewForAction(removed_action.get());
654 removed_action.reset(); 654 removed_action.reset();
655 655
656 // If the extension is being upgraded we don't want the bar to shrink 656 // If the extension is being upgraded we don't want the bar to shrink
657 // because the icon is just going to get re-added to the same location. 657 // because the icon is just going to get re-added to the same location.
658 // There is an exception if this is an off-the-record profile, and the 658 // There is an exception if this is an off-the-record profile, and the
659 // extension is no longer incognito-enabled. 659 // extension is no longer incognito-enabled.
660 if (!extensions::ExtensionSystem::Get(browser_->profile()) 660 if (!extensions::ExtensionSystem::Get(browser_->profile())
661 ->runtime_data() 661 ->runtime_data()
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
797 for (ToolbarActionViewController* action : toolbar_actions_) { 797 for (ToolbarActionViewController* action : toolbar_actions_) {
798 if (action->GetId() == action_id) 798 if (action->GetId() == action_id)
799 return action; 799 return action;
800 } 800 }
801 return nullptr; 801 return nullptr;
802 } 802 }
803 803
804 content::WebContents* ToolbarActionsBar::GetCurrentWebContents() { 804 content::WebContents* ToolbarActionsBar::GetCurrentWebContents() {
805 return browser_->tab_strip_model()->GetActiveWebContents(); 805 return browser_->tab_strip_model()->GetActiveWebContents();
806 } 806 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/toolbar/toolbar_actions_bar.h ('k') | chrome/browser/ui/toolbar/toolbar_actions_bar_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698