summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/bookmark_bar_bridge.mm
diff options
context:
space:
mode:
authorjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-08 17:43:01 +0000
committerjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-08 17:43:01 +0000
commitf940976145eb807c85eef2d14c38ace469773a60 (patch)
treeaa0e0b35e67c375a2d8e1c124c8225d3ae3b6b56 /chrome/browser/cocoa/bookmark_bar_bridge.mm
parent70ac49883a4e9b48a875110ff342feb1a8724813 (diff)
downloadchromium_src-f940976145eb807c85eef2d14c38ace469773a60.zip
chromium_src-f940976145eb807c85eef2d14c38ace469773a60.tar.gz
chromium_src-f940976145eb807c85eef2d14c38ace469773a60.tar.bz2
Bookmark bar, now with buttons.
Much of this CL is refactoring; it's not as large as it looks. (Do I always claim that? It's really true this time.) Review URL: http://codereview.chromium.org/115150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17872 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/bookmark_bar_bridge.mm')
-rw-r--r--chrome/browser/cocoa/bookmark_bar_bridge.mm60
1 files changed, 60 insertions, 0 deletions
diff --git a/chrome/browser/cocoa/bookmark_bar_bridge.mm b/chrome/browser/cocoa/bookmark_bar_bridge.mm
new file mode 100644
index 0000000..54b3f5b
--- /dev/null
+++ b/chrome/browser/cocoa/bookmark_bar_bridge.mm
@@ -0,0 +1,60 @@
+// 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.
+
+#include "chrome/browser/cocoa/bookmark_bar_bridge.h"
+#include "chrome/browser/cocoa/bookmark_bar_controller.h"
+
+BookmarkBarBridge::BookmarkBarBridge(BookmarkBarController* controller,
+ BookmarkModel* model)
+ : controller_(controller), model_(model) {
+ model_->AddObserver(this);
+
+ // Bookmark loading is async; it may may not have happened yet.
+ // We will be notified when that happens with the AddObserver() call.
+ if (model->IsLoaded())
+ Loaded(model);
+}
+
+BookmarkBarBridge::~BookmarkBarBridge() {
+ model_->RemoveObserver(this);
+}
+
+void BookmarkBarBridge::Loaded(BookmarkModel* model) {
+ [controller_ loaded:model];
+}
+
+void BookmarkBarBridge::BookmarkModelBeingDeleted(BookmarkModel* model) {
+ [controller_ beingDeleted:model];
+}
+
+void BookmarkBarBridge::BookmarkNodeMoved(BookmarkModel* model,
+ BookmarkNode* old_parent,
+ int old_index,
+ BookmarkNode* new_parent,
+ int new_index) {
+ [controller_ nodeMoved:model
+ oldParent:old_parent oldIndex:old_index
+ newParent:new_parent newIndex:new_index];
+}
+
+void BookmarkBarBridge::BookmarkNodeAdded(BookmarkModel* model,
+ BookmarkNode* parent,
+ int index) {
+ [controller_ nodeAdded:model parent:parent index:index];
+}
+
+void BookmarkBarBridge::BookmarkNodeChanged(BookmarkModel* model,
+ BookmarkNode* node) {
+ [controller_ nodeChanged:model node:node];
+}
+
+void BookmarkBarBridge::BookmarkNodeFavIconLoaded(BookmarkModel* model,
+ BookmarkNode* node) {
+ [controller_ nodeFavIconLoaded:model node:node];
+}
+
+void BookmarkBarBridge::BookmarkNodeChildrenReordered(BookmarkModel* model,
+ BookmarkNode* node) {
+ [controller_ nodeChildrenReordered:model node:node];
+}