// 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 "chrome/browser/ui/cocoa/bookmarks/bookmark_drag_source.h" #include "chrome/browser/bookmarks/bookmark_pasteboard_helper_mac.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/tab_contents/tab_contents_view_mac.h" @implementation BookmarkDragSource - (id)initWithContentsView:(TabContentsViewCocoa*)contentsView dropData: (const std::vector<BookmarkNodeData::Element>&)dropData profile:(Profile*)profile pasteboard:(NSPasteboard*)pboard dragOperationMask:(NSDragOperation)dragOperationMask { self = [super initWithContentsView:contentsView pasteboard:pboard dragOperationMask:dragOperationMask]; if (self) { dropData_ = dropData; profile_ = profile; } return self; } - (void)fillPasteboard { bookmark_pasteboard_helper_mac::WriteToDragClipboard(dropData_, profile_->GetPath().value()); } - (NSImage*)dragImage { // TODO(feldstein): Do something better than this. Should have badging // and a single drag image. // http://crbug.com/37264 return [NSImage imageNamed:NSImageNameMultipleDocuments]; } @end // @implementation BookmarkDragSource