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
3// found in the LICENSE file.
4
5#include "chrome/browser/chromeos/ui/screen_capture_notification_ui_chromeos.h"
6
7#include "ash/shell.h"
8#include "ash/system/tray/system_tray_notifier.h"
9
10namespace chromeos {
11
12ScreenCaptureNotificationUIChromeOS::ScreenCaptureNotificationUIChromeOS(
13    const base::string16& text)
14    : text_(text) {
15}
16
17ScreenCaptureNotificationUIChromeOS::~ScreenCaptureNotificationUIChromeOS() {
18  // MediaStreamCaptureIndicator will delete ScreenCaptureNotificationUI object
19  // after it stops screen capture.
20  ash::Shell::GetInstance()->system_tray_notifier()->NotifyScreenCaptureStop();
21}
22
23gfx::NativeViewId ScreenCaptureNotificationUIChromeOS::OnStarted(
24    const base::Closure& stop_callback) {
25  ash::Shell::GetInstance()->system_tray_notifier()->NotifyScreenCaptureStart(
26      stop_callback, text_);
27  return 0;
28}
29
30}  // namespace chromeos
31
32// static
33scoped_ptr<ScreenCaptureNotificationUI> ScreenCaptureNotificationUI::Create(
34    const base::string16& text) {
35  return scoped_ptr<ScreenCaptureNotificationUI>(
36      new chromeos::ScreenCaptureNotificationUIChromeOS(text));
37}
38