Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/screen_capture_notification_ui.h" | 5 #include "chrome/browser/ui/screen_capture_notification_ui.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
| 9 #include "chrome/browser/ui/views/chrome_views_export.h" | 9 #include "chrome/browser/ui/views/chrome_views_export.h" |
| 10 #include "chrome/grit/generated_resources.h" | 10 #include "chrome/grit/generated_resources.h" |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 185 // being captured. Make sure it's always the case. Currently we always capture | 185 // being captured. Make sure it's always the case. Currently we always capture |
| 186 // the primary monitor. | 186 // the primary monitor. |
| 187 if (ash::Shell::HasInstance()) | 187 if (ash::Shell::HasInstance()) |
| 188 params.context = ash::Shell::GetPrimaryRootWindow(); | 188 params.context = ash::Shell::GetPrimaryRootWindow(); |
| 189 #endif | 189 #endif |
| 190 | 190 |
| 191 widget->set_frame_type(views::Widget::FRAME_TYPE_FORCE_CUSTOM); | 191 widget->set_frame_type(views::Widget::FRAME_TYPE_FORCE_CUSTOM); |
| 192 widget->Init(params); | 192 widget->Init(params); |
| 193 widget->SetAlwaysOnTop(true); | 193 widget->SetAlwaysOnTop(true); |
| 194 | 194 |
| 195 set_background(views::Background::CreateSolidBackground(GetNativeTheme()-> | 195 set_background(views::Background::CreateThemedSolidBackground( |
| 196 GetSystemColor(ui::NativeTheme::kColorId_DialogBackground))); | 196 this, ui::NativeTheme::kColorId_DialogBackground)); |
| 197 | 197 |
| 198 display::Screen* screen = display::Screen::GetScreen(); | 198 display::Screen* screen = display::Screen::GetScreen(); |
| 199 // TODO(sergeyu): Move the notification to the display being captured when | 199 // TODO(sergeyu): Move the notification to the display being captured when |
| 200 // per-display screen capture is supported. | 200 // per-display screen capture is supported. |
| 201 gfx::Rect work_area = screen->GetPrimaryDisplay().work_area(); | 201 gfx::Rect work_area = screen->GetPrimaryDisplay().work_area(); |
| 202 | 202 |
| 203 // Place the bar in the center of the bottom of the display. | 203 // Place the bar in the center of the bottom of the display. |
| 204 gfx::Size size = widget->non_client_view()->GetPreferredSize(); | 204 gfx::Size size = widget->non_client_view()->GetPreferredSize(); |
| 205 gfx::Rect bounds( | 205 gfx::Rect bounds( |
| 206 work_area.x() + work_area.width() / 2 - size.width() / 2, | 206 work_area.x() + work_area.width() / 2 - size.width() / 2, |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 272 client_view_ = new NotificationBarClientView(widget, this); | 272 client_view_ = new NotificationBarClientView(widget, this); |
| 273 return client_view_; | 273 return client_view_; |
| 274 } | 274 } |
| 275 | 275 |
| 276 views::NonClientFrameView* | 276 views::NonClientFrameView* |
| 277 ScreenCaptureNotificationUIViews::CreateNonClientFrameView( | 277 ScreenCaptureNotificationUIViews::CreateNonClientFrameView( |
| 278 views::Widget* widget) { | 278 views::Widget* widget) { |
| 279 views::BubbleFrameView* frame = new views::BubbleFrameView( | 279 views::BubbleFrameView* frame = new views::BubbleFrameView( |
| 280 gfx::Insets(), gfx::Insets(kPaddingVertical, kPaddingHorizontal, | 280 gfx::Insets(), gfx::Insets(kPaddingVertical, kPaddingHorizontal, |
| 281 kPaddingVertical, kPaddingHorizontal)); | 281 kPaddingVertical, kPaddingHorizontal)); |
| 282 SkColor color = widget->GetNativeTheme()->GetSystemColor( | 282 SkColor color = widget->GetNativeTheme()->GetSystemColor( |
|
msw
2017/04/19 19:00:54
What updates this precalculated frame color to mat
Evan Stade
2017/04/20 04:44:22
I'll just leave this file alone. I think the corre
msw
2017/04/20 18:21:46
Acknowledged.
| |
| 283 ui::NativeTheme::kColorId_DialogBackground); | 283 ui::NativeTheme::kColorId_DialogBackground); |
| 284 frame->SetBubbleBorder(std::unique_ptr<views::BubbleBorder>( | 284 frame->SetBubbleBorder(std::unique_ptr<views::BubbleBorder>( |
| 285 new views::BubbleBorder(views::BubbleBorder::NONE, | 285 new views::BubbleBorder(views::BubbleBorder::NONE, |
| 286 views::BubbleBorder::SMALL_SHADOW, color))); | 286 views::BubbleBorder::SMALL_SHADOW, color))); |
| 287 return frame; | 287 return frame; |
| 288 } | 288 } |
| 289 | 289 |
| 290 base::string16 ScreenCaptureNotificationUIViews::GetWindowTitle() const { | 290 base::string16 ScreenCaptureNotificationUIViews::GetWindowTitle() const { |
| 291 return text_; | 291 return text_; |
| 292 } | 292 } |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 324 } | 324 } |
| 325 } | 325 } |
| 326 | 326 |
| 327 } // namespace | 327 } // namespace |
| 328 | 328 |
| 329 std::unique_ptr<ScreenCaptureNotificationUI> | 329 std::unique_ptr<ScreenCaptureNotificationUI> |
| 330 ScreenCaptureNotificationUI::Create(const base::string16& text) { | 330 ScreenCaptureNotificationUI::Create(const base::string16& text) { |
| 331 return std::unique_ptr<ScreenCaptureNotificationUI>( | 331 return std::unique_ptr<ScreenCaptureNotificationUI>( |
| 332 new ScreenCaptureNotificationUIViews(text)); | 332 new ScreenCaptureNotificationUIViews(text)); |
| 333 } | 333 } |
| OLD | NEW |