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

Side by Side Diff: chrome/browser/status_icons/desktop_notification_balloon.cc

Issue 10168008: Show camera and microphone status indicators. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: removed debugging code. Created 8 years, 8 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) 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/status_icons/desktop_notification_balloon.h" 5 #include "chrome/browser/status_icons/desktop_notification_balloon.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/string_number_conversions.h" 8 #include "base/string_number_conversions.h"
9 #include "base/threading/thread_restrictions.h" 9 #include "base/threading/thread_restrictions.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
11 #include "chrome/browser/notifications/desktop_notification_service.h" 11 #include "chrome/browser/notifications/desktop_notification_service.h"
12 #include "chrome/browser/notifications/notification.h" 12 #include "chrome/browser/notifications/notification.h"
13 #include "chrome/browser/notifications/notification_delegate.h" 13 #include "chrome/browser/notifications/notification_delegate.h"
14 #include "chrome/browser/notifications/notification_ui_manager.h" 14 #include "chrome/browser/notifications/notification_ui_manager.h"
15 #include "chrome/browser/profiles/profile_manager.h" 15 #include "chrome/browser/profiles/profile_manager.h"
16 #include "chrome/browser/ui/webui/web_ui_util.h" 16 #include "chrome/browser/ui/webui/web_ui_util.h"
17 #include "third_party/skia/include/core/SkBitmap.h" 17 #include "third_party/skia/include/core/SkBitmap.h"
18 18
19 namespace { 19 namespace {
20 20
21 void CloseBalloon(const std::string& id) { 21 void CloseBalloon(const std::string& id) {
22 // The bwowser process may have gone away during shutting down, in this case
tommi (sloooow) - chröme 2012/04/24 11:36:18 s/bwowser/browser
no longer working on chromium 2012/04/25 13:52:51 Done.
23 // notification_ui_manager() will close the balloon in its destructor.
24 if (!g_browser_process)
25 return;
26
22 g_browser_process->notification_ui_manager()->CancelById(id); 27 g_browser_process->notification_ui_manager()->CancelById(id);
23 } 28 }
24 29
25 // Prefix added to the notification ids. 30 // Prefix added to the notification ids.
26 const char kNotificationPrefix[] = "desktop_notification_balloon."; 31 const char kNotificationPrefix[] = "desktop_notification_balloon.";
27 32
28 // Timeout for automatically dismissing the notification balloon. 33 // Timeout for automatically dismissing the notification balloon.
29 const size_t kTimeoutSeconds = 6; 34 const size_t kTimeoutSeconds = 6;
30 35
31 class DummyNotificationDelegate : public NotificationDelegate { 36 class DummyNotificationDelegate : public NotificationDelegate {
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 GURL(), content_url, string16(), string16(), 80 GURL(), content_url, string16(), string16(),
76 new DummyNotificationDelegate(base::IntToString(id_count_++)))); 81 new DummyNotificationDelegate(base::IntToString(id_count_++))));
77 82
78 // Allowing IO access is required here to cover the corner case where 83 // Allowing IO access is required here to cover the corner case where
79 // there is no last used profile and the default one is loaded. 84 // there is no last used profile and the default one is loaded.
80 // IO access won't be required for normal uses. 85 // IO access won't be required for normal uses.
81 base::ThreadRestrictions::ScopedAllowIO allow_io; 86 base::ThreadRestrictions::ScopedAllowIO allow_io;
82 g_browser_process->notification_ui_manager()->Add( 87 g_browser_process->notification_ui_manager()->Add(
83 *notification_.get(), ProfileManager::GetLastUsedProfile()); 88 *notification_.get(), ProfileManager::GetLastUsedProfile());
84 } 89 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698