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

Unified Diff: athena/home/home_card_impl.cc

Issue 501183002: Cleanup: remove HomeCardLayoutManager::Delegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: athena/home/home_card_impl.cc
diff --git a/athena/home/home_card_impl.cc b/athena/home/home_card_impl.cc
index a82234b6a62cd840a1de84b1d91e77d9a854c893..aab16225cc4135b7fb00b7086c5f8bdbd4e7b52f 100644
--- a/athena/home/home_card_impl.cc
+++ b/athena/home/home_card_impl.cc
@@ -72,40 +72,39 @@ gfx::Rect GetBoundsForState(const gfx::Rect& screen_bounds,
// vertically.
class HomeCardLayoutManager : public aura::LayoutManager {
public:
- class Delegate {
- public:
- virtual ~Delegate() {}
-
- virtual HomeCard::State GetState() = 0;
- virtual aura::Window* GetNativeWindow() = 0;
- };
-
- explicit HomeCardLayoutManager(Delegate* delegate)
- : delegate_(delegate) {}
+ explicit HomeCardLayoutManager()
+ : home_card_(NULL) {}
virtual ~HomeCardLayoutManager() {}
void Layout() {
- aura::Window* home_card = delegate_->GetNativeWindow();
// |home_card| could be detached from the root window (e.g. when it is being
// destroyed).
- if (!home_card || !home_card->GetRootWindow())
+ if (!home_card_ || !home_card_->IsVisible() || !home_card_->GetRootWindow())
return;
{
ui::ScopedLayerAnimationSettings settings(
- home_card->layer()->GetAnimator());
+ home_card_->layer()->GetAnimator());
settings.SetTweenType(gfx::Tween::EASE_IN_OUT);
- SetChildBoundsDirect(home_card, GetBoundsForState(
- home_card->GetRootWindow()->bounds(), delegate_->GetState()));
+ SetChildBoundsDirect(home_card_, GetBoundsForState(
+ home_card_->GetRootWindow()->bounds(), HomeCard::Get()->GetState()));
}
}
private:
// aura::LayoutManager:
virtual void OnWindowResized() OVERRIDE { Layout(); }
- virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE { Layout(); }
- virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE {}
+ virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE {
+ if (!home_card_) {
+ home_card_ = child;
+ Layout();
+ }
+ }
+ virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE {
+ if (home_card_ == child)
+ home_card_ = NULL;
+ }
virtual void OnWindowRemovedFromLayout(aura::Window* child) OVERRIDE {
Layout();
}
@@ -118,7 +117,7 @@ class HomeCardLayoutManager : public aura::LayoutManager {
SetChildBoundsDirect(child, requested_bounds);
}
- Delegate* delegate_;
+ aura::Window* home_card_;
DISALLOW_COPY_AND_ASSIGN(HomeCardLayoutManager);
};
@@ -400,7 +399,6 @@ class HomeCardView : public views::WidgetDelegateView {
class HomeCardImpl : public HomeCard,
public AcceleratorHandler,
- public HomeCardLayoutManager::Delegate,
public HomeCardGestureManager::Delegate,
public WindowManagerObserver,
public aura::client::ActivationChangeObserver {
@@ -429,9 +427,6 @@ class HomeCardImpl : public HomeCard,
virtual bool OnAcceleratorFired(int command_id,
const ui::Accelerator& accelerator) OVERRIDE;
- // HomeCardLayoutManager::Delegate:
- virtual aura::Window* GetNativeWindow() OVERRIDE;
-
// HomeCardGestureManager::Delegate:
virtual void OnGestureEnded(State final_state) OVERRIDE;
virtual void OnGestureProgressed(
@@ -498,7 +493,7 @@ void HomeCardImpl::Init() {
ScreenManager::ContainerParams params("HomeCardContainer", CP_HOME_CARD);
params.can_activate_children = true;
aura::Window* container = ScreenManager::Get()->CreateContainer(params);
- layout_manager_ = new HomeCardLayoutManager(this);
+ layout_manager_ = new HomeCardLayoutManager();
container->SetLayoutManager(layout_manager_);
wm::SetChildWindowVisibilityChangesAnimated(container);
@@ -525,7 +520,7 @@ void HomeCardImpl::Init() {
activation_client_->AddObserver(this);
int work_area_bottom_inset =
- GetBoundsForState(GetNativeWindow()->bounds(),
+ GetBoundsForState(home_card_widget_->GetNativeWindow()->bounds(),
HomeCard::VISIBLE_MINIMIZED).height();
AthenaEnv::Get()->SetDisplayWorkAreaInsets(
gfx::Insets(0, 0, work_area_bottom_inset, 0));
@@ -596,13 +591,6 @@ bool HomeCardImpl::OnAcceleratorFired(int command_id,
return true;
}
-aura::Window* HomeCardImpl::GetNativeWindow() {
- if (state_ == HIDDEN)
- return NULL;
-
- return home_card_widget_ ? home_card_widget_->GetNativeWindow() : NULL;
-}
-
void HomeCardImpl::OnGestureEnded(State final_state) {
home_card_view_->ClearGesture();
if (state_ != final_state &&
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698