 Chromium Code Reviews
 Chromium Code Reviews Issue 4635007:
  When an extension is uninstalled, close all desktop notifications from that e...  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src/
    
  
    Issue 4635007:
  When an extension is uninstalled, close all desktop notifications from that e...  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src/| Index: chrome/browser/notifications/balloon_collection_base.h | 
| =================================================================== | 
| --- chrome/browser/notifications/balloon_collection_base.h (revision 0) | 
| +++ chrome/browser/notifications/balloon_collection_base.h (revision 0) | 
| @@ -0,0 +1,60 @@ | 
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +// Handles the visible notification (or balloons). | 
| + | 
| +#ifndef CHROME_BROWSER_NOTIFICATIONS_BALLOON_COLLECTION_BASE_H_ | 
| +#define CHROME_BROWSER_NOTIFICATIONS_BALLOON_COLLECTION_BASE_H_ | 
| +#pragma once | 
| + | 
| +#include <deque> | 
| +#include <string> | 
| + | 
| +#include "chrome/browser/notifications/balloon.h" | 
| 
oshima
2010/11/11 19:00:17
looks like forward decl is enough?
 
John Gregg
2010/11/11 23:17:46
Done.
 | 
| + | 
| +class GURL; | 
| + | 
| +// This class provides support for implementing a BalloonCollection | 
| +// including the parts common between Chrome UI and ChromeOS UI. | 
| +class BalloonCollectionBase { | 
| + public: | 
| + BalloonCollectionBase(); | 
| + virtual ~BalloonCollectionBase(); | 
| + | 
| + typedef std::deque<Balloon*> Balloons; | 
| + | 
| + // Adds a balloon to the collection. Takes ownership of pointer. | 
| + virtual void Add(Balloon* balloon); | 
| + | 
| + // Removes a balloon from the collection (if present). Frees | 
| + // the pointer after removal. | 
| + virtual void Remove(Balloon* balloon); | 
| + | 
| + // Finds any balloon matching the given notification id, and | 
| + // calls CloseByScript on it. Returns true if anything was | 
| + // found. | 
| + virtual bool CloseById(const std::string& id); | 
| + | 
| + // Finds all balloons matching the given notification source, | 
| + // and calls CloseByScript on them. Returns true if anything | 
| + // was found. | 
| + virtual bool CloseAllBySourceOrigin(const GURL& source_origin); | 
| + | 
| + const Balloons& balloons() const { return balloons_; } | 
| + | 
| + // Returns the balloon matching the given notification, or | 
| + // NULL if there is no matching balloon. | 
| + Balloon* FindBalloon(const Notification& notification); | 
| + | 
| + // The number of balloons being displayed. | 
| + int count() const { return static_cast<int>(balloons_.size()); } | 
| + | 
| + private: | 
| + // Queue of active balloons. Pointers are owned by this class. | 
| + Balloons balloons_; | 
| + | 
| + DISALLOW_COPY_AND_ASSIGN(BalloonCollectionBase); | 
| +}; | 
| + | 
| +#endif // CHROME_BROWSER_NOTIFICATIONS_BALLOON_COLLECTION_BASE_H_ |