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

Side by Side Diff: chrome/browser/ui/views/frame/opaque_browser_frame_view.cc

Issue 7045023: Simplify ProfileMenuButton. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 9 years, 7 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/frame/opaque_browser_frame_view.h" 5 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/prefs/pref_service.h" 10 #include "chrome/browser/prefs/pref_service.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 window_icon_->set_is_light(true); 200 window_icon_->set_is_light(true);
201 AddChildView(window_icon_); 201 AddChildView(window_icon_);
202 window_icon_->Update(); 202 window_icon_->Update();
203 } 203 }
204 204
205 // If multi-profile is enabled set up profile button and login notifications. 205 // If multi-profile is enabled set up profile button and login notifications.
206 const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess(); 206 const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess();
207 if (browser_command_line.HasSwitch(switches::kMultiProfiles) && 207 if (browser_command_line.HasSwitch(switches::kMultiProfiles) &&
208 !browser_view_->ShouldShowOffTheRecordAvatar()) { 208 !browser_view_->ShouldShowOffTheRecordAvatar()) {
209 RegisterLoginNotifications(); 209 RegisterLoginNotifications();
210 profile_button_.reset(new ProfileMenuButton(NULL, std::wstring(), 210 profile_button_.reset(new ProfileMenuButton(std::wstring(),
211 this, browser_view_->browser()->profile())); 211 browser_view_->browser()->profile()));
212 profile_button_->SetVisible(false); 212 profile_button_->SetVisible(false);
213 profile_tag_.reset(new ProfileTagView(frame_, profile_button_.get())); 213 profile_tag_.reset(new ProfileTagView(frame_, profile_button_.get()));
214 profile_tag_->SetVisible(false); 214 profile_tag_->SetVisible(false);
215 AddChildView(profile_tag_.get()); 215 AddChildView(profile_tag_.get());
216 AddChildView(profile_button_.get()); 216 AddChildView(profile_button_.get());
217 } 217 }
218 } 218 }
219 219
220 OpaqueBrowserFrameView::~OpaqueBrowserFrameView() { 220 OpaqueBrowserFrameView::~OpaqueBrowserFrameView() {
221 } 221 }
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 minimize_button_->SetState(views::CustomButton::BS_NORMAL); 413 minimize_button_->SetState(views::CustomButton::BS_NORMAL);
414 maximize_button_->SetState(views::CustomButton::BS_NORMAL); 414 maximize_button_->SetState(views::CustomButton::BS_NORMAL);
415 // The close button isn't affected by this constraint. 415 // The close button isn't affected by this constraint.
416 } 416 }
417 417
418 void OpaqueBrowserFrameView::UpdateWindowIcon() { 418 void OpaqueBrowserFrameView::UpdateWindowIcon() {
419 window_icon_->SchedulePaint(); 419 window_icon_->SchedulePaint();
420 } 420 }
421 421
422 /////////////////////////////////////////////////////////////////////////////// 422 ///////////////////////////////////////////////////////////////////////////////
423 // OpaqueBrowserFrameView, views::ViewMenuDelegate overrides:
424 void OpaqueBrowserFrameView::RunMenu(views::View* source,
425 const gfx::Point &pt) {
426 profile_button_->RunMenuAt(pt);
427 }
428
429 ///////////////////////////////////////////////////////////////////////////////
430 // OpaqueBrowserFrameView, views::View overrides: 423 // OpaqueBrowserFrameView, views::View overrides:
431 424
432 void OpaqueBrowserFrameView::OnPaint(gfx::Canvas* canvas) { 425 void OpaqueBrowserFrameView::OnPaint(gfx::Canvas* canvas) {
433 if (frame_->IsFullscreen()) 426 if (frame_->IsFullscreen())
434 return; // Nothing is visible, so don't bother to paint. 427 return; // Nothing is visible, so don't bother to paint.
435 428
436 if (frame_->IsMaximized()) 429 if (frame_->IsMaximized())
437 PaintMaximizedFrameBorder(canvas); 430 PaintMaximizedFrameBorder(canvas);
438 else 431 else
439 PaintRestoredFrameBorder(canvas); 432 PaintRestoredFrameBorder(canvas);
(...skipping 779 matching lines...) Expand 10 before | Expand all | Expand 10 after
1219 std::max(0, width - (2 * border_thickness)), 1212 std::max(0, width - (2 * border_thickness)),
1220 std::max(0, height - GetReservedHeight() - 1213 std::max(0, height - GetReservedHeight() -
1221 top_height - border_thickness)); 1214 top_height - border_thickness));
1222 } 1215 }
1223 1216
1224 void OpaqueBrowserFrameView::RegisterLoginNotifications() { 1217 void OpaqueBrowserFrameView::RegisterLoginNotifications() {
1225 PrefService* pref_service = browser_view_->browser()->profile()->GetPrefs(); 1218 PrefService* pref_service = browser_view_->browser()->profile()->GetPrefs();
1226 DCHECK(pref_service); 1219 DCHECK(pref_service);
1227 username_pref_.Init(prefs::kGoogleServicesUsername, pref_service, this); 1220 username_pref_.Init(prefs::kGoogleServicesUsername, pref_service, this);
1228 } 1221 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/frame/opaque_browser_frame_view.h ('k') | chrome/browser/ui/views/profile_menu_button.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698