diff options
author | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-08 17:43:01 +0000 |
---|---|---|
committer | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-08 17:43:01 +0000 |
commit | f940976145eb807c85eef2d14c38ace469773a60 (patch) | |
tree | aa0e0b35e67c375a2d8e1c124c8225d3ae3b6b56 /chrome/browser/cocoa/bookmark_bar_bridge.mm | |
parent | 70ac49883a4e9b48a875110ff342feb1a8724813 (diff) | |
download | chromium_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.mm | 60 |
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]; +} |