// 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.
#import <Cocoa/Cocoa.h>
#include "chrome/browser/bookmarks/bookmark_node_data.h"
#include "chrome/browser/ui/cocoa/tab_contents/web_contents_drag_source.h"
// A class that handles tracking and event processing for a drag and drop
// originating from the content area.
@interface BookmarkDragSource : WebContentsDragSource {
@private
// Our drop data. Should only be initialized once.
std::vector<BookmarkNodeData::Element> dropData_;
Profile* profile_;
}
// Initialize a DragDataSource object for a drag (originating on the given
// contentsView and with the given dropData and pboard). Fill the pasteboard
// with data types appropriate for dropData.
- (id)initWithContentsView:(TabContentsViewCocoa*)contentsView
dropData:
(const std::vector<BookmarkNodeData::Element>&)dropData
profile:(Profile*)profile
pasteboard:(NSPasteboard*)pboard
dragOperationMask:(NSDragOperation)dragOperationMask;
@end