| OLD | NEW |
| 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 "chrome/browser/ui/views/frame/app_non_client_frame_view_aura.h" | 5 #include "chrome/browser/ui/views/frame/app_non_client_frame_view_aura.h" |
| 6 | 6 |
| 7 #include "base/debug/stack_trace.h" | 7 #include "base/debug/stack_trace.h" |
| 8 #include "chrome/browser/ui/views/frame/browser_frame.h" | 8 #include "chrome/browser/ui/views/frame/browser_frame.h" |
| 9 #include "chrome/browser/ui/views/frame/browser_view.h" | 9 #include "chrome/browser/ui/views/frame/browser_view.h" |
| 10 #include "grit/generated_resources.h" // Accessibility names | 10 #include "grit/generated_resources.h" // Accessibility names |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 l10n_util::GetStringUTF16(IDS_ACCNAME_CLOSE)); | 62 l10n_util::GetStringUTF16(IDS_ACCNAME_CLOSE)); |
| 63 restore_button_->SetAccessibleName( | 63 restore_button_->SetAccessibleName( |
| 64 l10n_util::GetStringUTF16(IDS_ACCNAME_MAXIMIZE)); | 64 l10n_util::GetStringUTF16(IDS_ACCNAME_MAXIMIZE)); |
| 65 | 65 |
| 66 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | 66 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| 67 | 67 |
| 68 int control_base_resource_id = owner->browser_view()->IsOffTheRecord() ? | 68 int control_base_resource_id = owner->browser_view()->IsOffTheRecord() ? |
| 69 IDR_AURA_WINDOW_HEADER_BASE_INCOGNITO_ACTIVE : | 69 IDR_AURA_WINDOW_HEADER_BASE_INCOGNITO_ACTIVE : |
| 70 IDR_AURA_WINDOW_HEADER_BASE_ACTIVE; | 70 IDR_AURA_WINDOW_HEADER_BASE_ACTIVE; |
| 71 control_base_ = rb.GetImageNamed(control_base_resource_id).ToImageSkia(); | 71 control_base_ = rb.GetImageNamed(control_base_resource_id).ToImageSkia(); |
| 72 | |
| 73 separator_ = | |
| 74 rb.GetImageNamed(IDR_AURA_WINDOW_FULLSCREEN_SEPARATOR).ToImageSkia(); | |
| 75 shadow_ = rb.GetImageNamed(IDR_AURA_WINDOW_FULLSCREEN_SHADOW).ToImageSkia(); | 72 shadow_ = rb.GetImageNamed(IDR_AURA_WINDOW_FULLSCREEN_SHADOW).ToImageSkia(); |
| 76 | 73 |
| 77 AddChildView(close_button_); | 74 AddChildView(close_button_); |
| 78 AddChildView(restore_button_); | 75 AddChildView(restore_button_); |
| 79 } | 76 } |
| 80 | 77 |
| 81 virtual ~ControlView() {} | 78 virtual ~ControlView() {} |
| 82 | 79 |
| 83 virtual void Layout() OVERRIDE { | 80 virtual void Layout() OVERRIDE { |
| 84 restore_button_->SetPosition(gfx::Point(kShadowStart, 0)); | 81 restore_button_->SetPosition(gfx::Point(kShadowStart, 0)); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 110 | 107 |
| 111 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE { | 108 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE { |
| 112 canvas->TileImageInt(*control_base_, | 109 canvas->TileImageInt(*control_base_, |
| 113 restore_button_->x(), | 110 restore_button_->x(), |
| 114 restore_button_->y(), | 111 restore_button_->y(), |
| 115 restore_button_->width() - kButtonOverlap + close_button_->width(), | 112 restore_button_->width() - kButtonOverlap + close_button_->width(), |
| 116 restore_button_->height()); | 113 restore_button_->height()); |
| 117 | 114 |
| 118 views::View::OnPaint(canvas); | 115 views::View::OnPaint(canvas); |
| 119 | 116 |
| 120 // Separator overlaps the left edge of the close button. | |
| 121 canvas->DrawImageInt(*separator_, | |
| 122 close_button_->x(), 0); | |
| 123 canvas->DrawImageInt(*shadow_, 0, kShadowHeightStretch); | 117 canvas->DrawImageInt(*shadow_, 0, kShadowHeightStretch); |
| 124 } | 118 } |
| 125 | 119 |
| 126 virtual void ButtonPressed(views::Button* sender, | 120 virtual void ButtonPressed(views::Button* sender, |
| 127 const views::Event& event) OVERRIDE { | 121 const views::Event& event) OVERRIDE { |
| 128 if (sender == close_button_) { | 122 if (sender == close_button_) { |
| 129 owner_->Close(); | 123 owner_->Close(); |
| 130 } else if (sender == restore_button_) { | 124 } else if (sender == restore_button_) { |
| 131 restore_button_->SetState(views::CustomButton::BS_NORMAL); | 125 restore_button_->SetState(views::CustomButton::BS_NORMAL); |
| 132 owner_->Restore(); | 126 owner_->Restore(); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 144 button->SetImage(views::CustomButton::BS_HOT, | 138 button->SetImage(views::CustomButton::BS_HOT, |
| 145 theme_provider->GetImageSkiaNamed(hot_image_id)); | 139 theme_provider->GetImageSkiaNamed(hot_image_id)); |
| 146 button->SetImage(views::CustomButton::BS_PUSHED, | 140 button->SetImage(views::CustomButton::BS_PUSHED, |
| 147 theme_provider->GetImageSkiaNamed(pushed_image_id)); | 141 theme_provider->GetImageSkiaNamed(pushed_image_id)); |
| 148 } | 142 } |
| 149 | 143 |
| 150 AppNonClientFrameViewAura* owner_; | 144 AppNonClientFrameViewAura* owner_; |
| 151 views::ImageButton* close_button_; | 145 views::ImageButton* close_button_; |
| 152 views::ImageButton* restore_button_; | 146 views::ImageButton* restore_button_; |
| 153 const gfx::ImageSkia* control_base_; | 147 const gfx::ImageSkia* control_base_; |
| 154 const gfx::ImageSkia* separator_; | |
| 155 const gfx::ImageSkia* shadow_; | 148 const gfx::ImageSkia* shadow_; |
| 156 | 149 |
| 157 DISALLOW_COPY_AND_ASSIGN(ControlView); | 150 DISALLOW_COPY_AND_ASSIGN(ControlView); |
| 158 }; | 151 }; |
| 159 | 152 |
| 160 class AppNonClientFrameViewAura::Host : public views::MouseWatcherHost { | 153 class AppNonClientFrameViewAura::Host : public views::MouseWatcherHost { |
| 161 public: | 154 public: |
| 162 explicit Host(AppNonClientFrameViewAura* owner) : owner_(owner) {} | 155 explicit Host(AppNonClientFrameViewAura* owner) : owner_(owner) {} |
| 163 virtual ~Host() {} | 156 virtual ~Host() {} |
| 164 | 157 |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 324 bool AppNonClientFrameViewAura::IsShowingControls() const { | 317 bool AppNonClientFrameViewAura::IsShowingControls() const { |
| 325 return control_widget_ && control_widget_->IsVisible(); | 318 return control_widget_ && control_widget_->IsVisible(); |
| 326 } | 319 } |
| 327 | 320 |
| 328 void AppNonClientFrameViewAura::Restore() { | 321 void AppNonClientFrameViewAura::Restore() { |
| 329 if (control_widget_) | 322 if (control_widget_) |
| 330 control_widget_->Close(); | 323 control_widget_->Close(); |
| 331 mouse_watcher_.Stop(); | 324 mouse_watcher_.Stop(); |
| 332 frame()->Restore(); | 325 frame()->Restore(); |
| 333 } | 326 } |
| OLD | NEW |