OLD | NEW |
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/glass_browser_frame_view.h" | 5 #include "chrome/browser/ui/views/frame/glass_browser_frame_view.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
9 #include "chrome/app/chrome_command_ids.h" | 9 #include "chrome/app/chrome_command_ids.h" |
10 #include "chrome/app/chrome_dll_resource.h" | 10 #include "chrome/app/chrome_dll_resource.h" |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 browser_view_(browser_view), | 84 browser_view_(browser_view), |
85 throbber_running_(false), | 85 throbber_running_(false), |
86 throbber_frame_(0) { | 86 throbber_frame_(0) { |
87 if (browser_view_->ShouldShowWindowIcon()) | 87 if (browser_view_->ShouldShowWindowIcon()) |
88 InitThrobberIcons(); | 88 InitThrobberIcons(); |
89 // If multi-profile is enabled set up profile button and login notifications. | 89 // If multi-profile is enabled set up profile button and login notifications. |
90 const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess(); | 90 const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess(); |
91 if (browser_command_line.HasSwitch(switches::kMultiProfiles) && | 91 if (browser_command_line.HasSwitch(switches::kMultiProfiles) && |
92 !browser_view->ShouldShowOffTheRecordAvatar()) { | 92 !browser_view->ShouldShowOffTheRecordAvatar()) { |
93 RegisterLoginNotifications(); | 93 RegisterLoginNotifications(); |
94 profile_button_.reset(new ProfileMenuButton(NULL, std::wstring(), | 94 profile_button_.reset(new ProfileMenuButton(std::wstring(), |
95 this, browser_view_->browser()->profile())); | 95 browser_view_->browser()->profile())); |
96 profile_button_->SetVisible(false); | 96 profile_button_->SetVisible(false); |
97 profile_tag_.reset(new ProfileTagView(frame_, profile_button_.get())); | 97 profile_tag_.reset(new ProfileTagView(frame_, profile_button_.get())); |
98 profile_tag_->SetVisible(false); | 98 profile_tag_->SetVisible(false); |
99 AddChildView(profile_tag_.get()); | 99 AddChildView(profile_tag_.get()); |
100 AddChildView(profile_button_.get()); | 100 AddChildView(profile_button_.get()); |
101 } | 101 } |
102 } | 102 } |
103 | 103 |
104 GlassBrowserFrameView::~GlassBrowserFrameView() { | 104 GlassBrowserFrameView::~GlassBrowserFrameView() { |
105 } | 105 } |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 int frame_border_thickness = FrameBorderThickness(); | 218 int frame_border_thickness = FrameBorderThickness(); |
219 int window_component = GetHTComponentForFrame(point, frame_border_thickness, | 219 int window_component = GetHTComponentForFrame(point, frame_border_thickness, |
220 nonclient_border_thickness, frame_border_thickness, | 220 nonclient_border_thickness, frame_border_thickness, |
221 kResizeAreaCornerSize - frame_border_thickness, | 221 kResizeAreaCornerSize - frame_border_thickness, |
222 frame_->window_delegate()->CanResize()); | 222 frame_->window_delegate()->CanResize()); |
223 // Fall back to the caption if no other component matches. | 223 // Fall back to the caption if no other component matches. |
224 return (window_component == HTNOWHERE) ? HTCAPTION : window_component; | 224 return (window_component == HTNOWHERE) ? HTCAPTION : window_component; |
225 } | 225 } |
226 | 226 |
227 /////////////////////////////////////////////////////////////////////////////// | 227 /////////////////////////////////////////////////////////////////////////////// |
228 // GlassBrowserFrameView, views::ViewMenuDelegate implementation: | |
229 void GlassBrowserFrameView::RunMenu(views::View *source, const gfx::Point &pt) { | |
230 profile_button_->RunMenuAt(pt); | |
231 } | |
232 | |
233 /////////////////////////////////////////////////////////////////////////////// | |
234 // GlassBrowserFrameView, views::View overrides: | 228 // GlassBrowserFrameView, views::View overrides: |
235 | 229 |
236 void GlassBrowserFrameView::OnPaint(gfx::Canvas* canvas) { | 230 void GlassBrowserFrameView::OnPaint(gfx::Canvas* canvas) { |
237 if (!browser_view_->IsTabStripVisible()) | 231 if (!browser_view_->IsTabStripVisible()) |
238 return; // Nothing is visible, so don't bother to paint. | 232 return; // Nothing is visible, so don't bother to paint. |
239 | 233 |
240 PaintToolbarBackground(canvas); | 234 PaintToolbarBackground(canvas); |
241 if (browser_view_->ShouldShowOffTheRecordAvatar()) | 235 if (browser_view_->ShouldShowOffTheRecordAvatar()) |
242 PaintOTRAvatar(canvas); | 236 PaintOTRAvatar(canvas); |
243 if (!frame_->IsMaximized()) | 237 if (!frame_->IsMaximized()) |
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
615 static bool initialized = false; | 609 static bool initialized = false; |
616 if (!initialized) { | 610 if (!initialized) { |
617 ResourceBundle &rb = ResourceBundle::GetSharedInstance(); | 611 ResourceBundle &rb = ResourceBundle::GetSharedInstance(); |
618 for (int i = 0; i < kThrobberIconCount; ++i) { | 612 for (int i = 0; i < kThrobberIconCount; ++i) { |
619 throbber_icons_[i] = rb.LoadThemeIcon(IDI_THROBBER_01 + i); | 613 throbber_icons_[i] = rb.LoadThemeIcon(IDI_THROBBER_01 + i); |
620 DCHECK(throbber_icons_[i]); | 614 DCHECK(throbber_icons_[i]); |
621 } | 615 } |
622 initialized = true; | 616 initialized = true; |
623 } | 617 } |
624 } | 618 } |
OLD | NEW |