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

Side by Side Diff: ash/system/web_notification/web_notification_tray.cc

Issue 185143002: Revert of Ash:Shelf - Cleanup of Alternate Shelf (part 1) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « ash/system/user/tray_user.cc ('k') | ash/test/shelf_view_test_api.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "ash/system/web_notification/web_notification_tray.h" 5 #include "ash/system/web_notification/web_notification_tray.h"
6 6
7 #include "ash/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/root_window_controller.h" 8 #include "ash/root_window_controller.h"
9 #include "ash/shelf/shelf_layout_manager.h" 9 #include "ash/shelf/shelf_layout_manager.h"
10 #include "ash/shelf/shelf_layout_manager_observer.h" 10 #include "ash/shelf/shelf_layout_manager_observer.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 StopObserving(); 117 StopObserving();
118 } 118 }
119 119
120 void WorkAreaObserver::SetSystemTrayHeight(int height) { 120 void WorkAreaObserver::SetSystemTrayHeight(int height) {
121 system_tray_height_ = height; 121 system_tray_height_ = height;
122 122
123 // If the shelf is shown during auto-hide state, the distance from the edge 123 // If the shelf is shown during auto-hide state, the distance from the edge
124 // should be reduced by the height of shelf's shown height. 124 // should be reduced by the height of shelf's shown height.
125 if (shelf_ && shelf_->visibility_state() == SHELF_AUTO_HIDE && 125 if (shelf_ && shelf_->visibility_state() == SHELF_AUTO_HIDE &&
126 shelf_->auto_hide_state() == SHELF_AUTO_HIDE_SHOWN) { 126 shelf_->auto_hide_state() == SHELF_AUTO_HIDE_SHOWN) {
127 system_tray_height_ -= kShelfSize - ShelfLayoutManager::kAutoHideSize; 127 system_tray_height_ -= ShelfLayoutManager::GetPreferredShelfSize() -
128 ShelfLayoutManager::kAutoHideSize;
128 } 129 }
129 130
130 if (system_tray_height_ > 0) 131 if (system_tray_height_ > 0 && ash::switches::UseAlternateShelfLayout())
131 system_tray_height_ += message_center::kMarginBetweenItems; 132 system_tray_height_ += message_center::kMarginBetweenItems;
132 133
133 if (!shelf_) 134 if (!shelf_)
134 return; 135 return;
135 136
136 OnAutoHideStateChanged(shelf_->auto_hide_state()); 137 OnAutoHideStateChanged(shelf_->auto_hide_state());
137 } 138 }
138 139
139 void WorkAreaObserver::StartObserving( 140 void WorkAreaObserver::StartObserving(
140 message_center::MessagePopupCollection* collection, 141 message_center::MessagePopupCollection* collection,
(...skipping 25 matching lines...) Expand all
166 167
167 void WorkAreaObserver::OnAutoHideStateChanged(ShelfAutoHideState new_state) { 168 void WorkAreaObserver::OnAutoHideStateChanged(ShelfAutoHideState new_state) {
168 gfx::Display display = Shell::GetScreen()->GetDisplayNearestWindow( 169 gfx::Display display = Shell::GetScreen()->GetDisplayNearestWindow(
169 shelf_->shelf_widget()->GetNativeView()); 170 shelf_->shelf_widget()->GetNativeView());
170 gfx::Rect work_area = display.work_area(); 171 gfx::Rect work_area = display.work_area();
171 int width = 0; 172 int width = 0;
172 if ((shelf_->visibility_state() == SHELF_AUTO_HIDE) && 173 if ((shelf_->visibility_state() == SHELF_AUTO_HIDE) &&
173 new_state == SHELF_AUTO_HIDE_SHOWN) { 174 new_state == SHELF_AUTO_HIDE_SHOWN) {
174 // Since the work_area is already reduced by kAutoHideSize, the inset width 175 // Since the work_area is already reduced by kAutoHideSize, the inset width
175 // should be just the difference. 176 // should be just the difference.
176 width = kShelfSize - ShelfLayoutManager::kAutoHideSize; 177 width = ShelfLayoutManager::GetPreferredShelfSize() -
178 ShelfLayoutManager::kAutoHideSize;
177 } 179 }
178 work_area.Inset(shelf_->SelectValueForShelfAlignment( 180 work_area.Inset(shelf_->SelectValueForShelfAlignment(
179 gfx::Insets(0, 0, width, 0), 181 gfx::Insets(0, 0, width, 0),
180 gfx::Insets(0, width, 0, 0), 182 gfx::Insets(0, width, 0, 0),
181 gfx::Insets(0, 0, 0, width), 183 gfx::Insets(0, 0, 0, width),
182 gfx::Insets(width, 0, 0, 0))); 184 gfx::Insets(width, 0, 0, 0)));
183 if (system_tray_height_ > 0) { 185 if (system_tray_height_ > 0) {
184 work_area.set_height( 186 work_area.set_height(
185 std::max(0, work_area.height() - system_tray_height_)); 187 std::max(0, work_area.height() - system_tray_height_));
186 if (shelf_->GetAlignment() == SHELF_ALIGNMENT_TOP) 188 if (shelf_->GetAlignment() == SHELF_ALIGNMENT_TOP)
(...skipping 24 matching lines...) Expand all
211 views::TrayBubbleView::InitParams init_params = 213 views::TrayBubbleView::InitParams init_params =
212 bubble->GetInitParams(anchor_alignment); 214 bubble->GetInitParams(anchor_alignment);
213 views::View* anchor = tray->tray_container(); 215 views::View* anchor = tray->tray_container();
214 if (anchor_alignment == views::TrayBubbleView::ANCHOR_ALIGNMENT_BOTTOM) { 216 if (anchor_alignment == views::TrayBubbleView::ANCHOR_ALIGNMENT_BOTTOM) {
215 gfx::Point bounds(anchor->width() / 2, 0); 217 gfx::Point bounds(anchor->width() / 2, 0);
216 views::View::ConvertPointToWidget(anchor, &bounds); 218 views::View::ConvertPointToWidget(anchor, &bounds);
217 init_params.arrow_offset = bounds.x(); 219 init_params.arrow_offset = bounds.x();
218 } 220 }
219 views::TrayBubbleView* bubble_view = views::TrayBubbleView::Create( 221 views::TrayBubbleView* bubble_view = views::TrayBubbleView::Create(
220 tray->GetBubbleWindowContainer(), anchor, tray, &init_params); 222 tray->GetBubbleWindowContainer(), anchor, tray, &init_params);
221 bubble_view->SetArrowPaintType(views::BubbleBorder::PAINT_NONE); 223 if (ash::switches::UseAlternateShelfLayout())
224 bubble_view->SetArrowPaintType(views::BubbleBorder::PAINT_NONE);
222 bubble_wrapper_.reset(new TrayBubbleWrapper(tray, bubble_view)); 225 bubble_wrapper_.reset(new TrayBubbleWrapper(tray, bubble_view));
223 bubble->InitializeContents(bubble_view); 226 bubble->InitializeContents(bubble_view);
224 } 227 }
225 228
226 message_center::MessageBubbleBase* bubble() const { return bubble_.get(); } 229 message_center::MessageBubbleBase* bubble() const { return bubble_.get(); }
227 230
228 // Convenience accessors. 231 // Convenience accessors.
229 views::TrayBubbleView* bubble_view() const { return bubble_->bubble_view(); } 232 views::TrayBubbleView* bubble_view() const { return bubble_->bubble_view(); }
230 233
231 private: 234 private:
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 341
339 bool WebNotificationTray::ShowMessageCenterInternal(bool show_settings) { 342 bool WebNotificationTray::ShowMessageCenterInternal(bool show_settings) {
340 if (!ShouldShowMessageCenter()) 343 if (!ShouldShowMessageCenter())
341 return false; 344 return false;
342 345
343 should_block_shelf_auto_hide_ = true; 346 should_block_shelf_auto_hide_ = true;
344 message_center::MessageCenterBubble* message_center_bubble = 347 message_center::MessageCenterBubble* message_center_bubble =
345 new message_center::MessageCenterBubble( 348 new message_center::MessageCenterBubble(
346 message_center(), 349 message_center(),
347 message_center_tray_.get(), 350 message_center_tray_.get(),
348 true); 351 ash::switches::UseAlternateShelfLayout());
349 352
350 int max_height = 0; 353 int max_height = 0;
351 aura::Window* status_area_window = status_area_widget()->GetNativeView(); 354 aura::Window* status_area_window = status_area_widget()->GetNativeView();
352 switch (GetShelfLayoutManager()->GetAlignment()) { 355 switch (GetShelfLayoutManager()->GetAlignment()) {
353 case SHELF_ALIGNMENT_BOTTOM: { 356 case SHELF_ALIGNMENT_BOTTOM: {
354 gfx::Rect shelf_bounds = GetShelfLayoutManager()->GetIdealBounds(); 357 gfx::Rect shelf_bounds = GetShelfLayoutManager()->GetIdealBounds();
355 max_height = shelf_bounds.y(); 358 max_height = shelf_bounds.y();
356 break; 359 break;
357 } 360 }
358 case SHELF_ALIGNMENT_TOP: { 361 case SHELF_ALIGNMENT_TOP: {
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 620
618 message_center::MessageCenterBubble* 621 message_center::MessageCenterBubble*
619 WebNotificationTray::GetMessageCenterBubbleForTest() { 622 WebNotificationTray::GetMessageCenterBubbleForTest() {
620 if (!message_center_bubble()) 623 if (!message_center_bubble())
621 return NULL; 624 return NULL;
622 return static_cast<message_center::MessageCenterBubble*>( 625 return static_cast<message_center::MessageCenterBubble*>(
623 message_center_bubble()->bubble()); 626 message_center_bubble()->bubble());
624 } 627 }
625 628
626 } // namespace ash 629 } // namespace ash
OLDNEW
« no previous file with comments | « ash/system/user/tray_user.cc ('k') | ash/test/shelf_view_test_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698