| Index: chrome/browser/extensions/extension_toolbar_model.h
|
| ===================================================================
|
| --- chrome/browser/extensions/extension_toolbar_model.h (revision 0)
|
| +++ chrome/browser/extensions/extension_toolbar_model.h (revision 0)
|
| @@ -0,0 +1,64 @@
|
| +// Copyright (c) 2009 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.
|
| +
|
| +#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_TOOLBAR_MODEL_H_
|
| +#define CHROME_BROWSER_EXTENSIONS_EXTENSION_TOOLBAR_MODEL_H_
|
| +
|
| +#include "base/observer_list.h"
|
| +#include "chrome/common/extensions/extension.h"
|
| +#include "chrome/common/notification_observer.h"
|
| +#include "chrome/common/notification_registrar.h"
|
| +
|
| +class ExtensionsService;
|
| +
|
| +// Model for the browser actions toolbar.
|
| +class ExtensionToolbarModel : public NotificationObserver {
|
| + public:
|
| + explicit ExtensionToolbarModel(ExtensionsService* service);
|
| + ~ExtensionToolbarModel();
|
| +
|
| + // A class which is informed of changes to the model; represents the view of
|
| + // MVC.
|
| + class Observer {
|
| + public:
|
| + // An extension with a browser action button has been added, and should go
|
| + // in the toolbar at |index|.
|
| + virtual void BrowserActionAdded(Extension* extension, int index) {}
|
| +
|
| + // The browser action button for |extension| should no longer show.
|
| + virtual void BrowserActionRemoved(Extension* extension) {}
|
| + };
|
| +
|
| + void AddObserver(Observer* observer);
|
| + void RemoveObserver(Observer* observer);
|
| +
|
| + ExtensionList::iterator begin() {
|
| + return toolitems_.begin();
|
| + }
|
| +
|
| + ExtensionList::iterator end() {
|
| + return toolitems_.end();
|
| + }
|
| +
|
| + private:
|
| + // NotificationObserver implementation.
|
| + virtual void Observe(NotificationType type,
|
| + const NotificationSource& source,
|
| + const NotificationDetails& details);
|
| +
|
| + // Our observers.
|
| + ObserverList<Observer> observers_;
|
| +
|
| + void AddExtension(Extension* extension);
|
| + void RemoveExtension(Extension* extension);
|
| +
|
| + // Our ExtensionsService, guaranteed to outlive us.
|
| + ExtensionsService* service_;
|
| +
|
| + // Ordered list of browser action buttons.
|
| + ExtensionList toolitems_;
|
| +
|
| + NotificationRegistrar registrar_;
|
| +};
|
| +#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_TOOLBAR_MODEL_H_
|
|
|
| Property changes on: chrome/browser/extensions/extension_toolbar_model.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|