#ifndef CHROME_BROWSER_UI_COCOA_CONTENT_SETTINGS_COOKIES_TREE_CONTROLLER_BRIDGE_H_
#define CHROME_BROWSER_UI_COCOA_CONTENT_SETTINGS_COOKIES_TREE_CONTROLLER_BRIDGE_H_
#import <Cocoa/Cocoa.h>
#import "base/mac/scoped_nsobject.h"
#include "chrome/browser/browsing_data/cookies_tree_model.h"
#import "chrome/browser/ui/cocoa/content_settings/cookie_tree_node.h"
class CookiesTreeControllerBridge : public ui::TreeModelObserver {
public:
explicit CookiesTreeControllerBridge(CookiesTreeModel* model);
virtual ~CookiesTreeControllerBridge();
virtual void TreeNodesAdded(ui::TreeModel* model,
ui::TreeModelNode* parent,
int start,
int count) OVERRIDE;
virtual void TreeNodesRemoved(ui::TreeModel* model,
ui::TreeModelNode* parent,
int start,
int count) OVERRIDE;
virtual void TreeNodeChanged(ui::TreeModel* model,
ui::TreeModelNode* node) OVERRIDE;
CocoaCookieTreeNode* cocoa_model() const { return cocoa_model_.get(); }
private:
CocoaCookieTreeNode* CocoaNodeFromTreeNode(ui::TreeModelNode* node);
CocoaCookieTreeNode* FindCocoaNode(ui::TreeModelNode* node,
CocoaCookieTreeNode* start);
CookiesTreeModel* model_;
base::scoped_nsobject<CocoaCookieTreeNode> cocoa_model_;
};
#endif