Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2498)

Unified Diff: chrome/browser/bookmark_drag_data.cc

Issue 1868: Moves bookmark related classes into bookmarks directory. There are no... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/bookmark_drag_data.h ('k') | chrome/browser/bookmark_drag_data_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/bookmark_drag_data.cc
===================================================================
--- chrome/browser/bookmark_drag_data.cc (revision 1903)
+++ chrome/browser/bookmark_drag_data.cc (working copy)
@@ -1,117 +0,0 @@
-// Copyright (c) 2006-2008 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 "base/pickle.h"
-#include "chrome/browser/bookmark_bar_model.h"
-#include "chrome/browser/bookmark_drag_data.h"
-#include "chrome/common/os_exchange_data.h"
-
-static CLIPFORMAT clipboard_format = 0;
-
-static void RegisterFormat() {
- if (clipboard_format == 0) {
- clipboard_format = RegisterClipboardFormat(L"chrome/x-bookmark-entry");
- DCHECK(clipboard_format);
- }
-}
-
-BookmarkDragData::BookmarkDragData() : is_url(false), is_valid(false) {
-}
-
-BookmarkDragData::BookmarkDragData(BookmarkBarNode* node)
- : is_url(node->GetType() == history::StarredEntry::URL),
- url(node->GetURL()),
- title(node->GetTitle()),
- is_valid(true),
- id_(node->id()) {
- if (!is_url)
- AddChildren(node);
-}
-
-void BookmarkDragData::Write(OSExchangeData* data) const {
- RegisterFormat();
-
- DCHECK(data);
-
- if (is_url) {
- data->SetURL(url, title);
- }
- Pickle data_pickle;
- WriteToPickle(&data_pickle);
- data->SetPickledData(clipboard_format, data_pickle);
-}
-
-bool BookmarkDragData::Read(const OSExchangeData& data) {
- RegisterFormat();
-
- is_valid = data.GetURLAndTitle(&url, &title) && url.is_valid();
- is_url = is_valid;
- profile_id.clear();
-
- if (data.HasFormat(clipboard_format)) {
- Pickle drag_data_pickle;
- if (data.GetPickledData(clipboard_format, &drag_data_pickle)) {
- void* data_iterator = NULL;
- if (ReadFromPickle(&drag_data_pickle, &data_iterator)) {
- is_valid = true;
- }
- }
- }
- return is_valid;
-}
-
-BookmarkBarNode* BookmarkDragData::GetNode(BookmarkBarModel* model) const {
- DCHECK(!is_url && id_ && is_valid);
- return model->GetNodeByID(id_);
-}
-
-void BookmarkDragData::WriteToPickle(Pickle* pickle) const {
- pickle->WriteBool(is_url);
- pickle->WriteWString(profile_id);
- pickle->WriteString(url.spec());
- pickle->WriteWString(title);
- if (!is_url) {
- pickle->WriteInt(id_);
- pickle->WriteInt(static_cast<int>(children.size()));
- for (std::vector<BookmarkDragData>::const_iterator i = children.begin();
- i != children.end(); ++i) {
- i->WriteToPickle(pickle);
- }
- }
-}
-
-bool BookmarkDragData::ReadFromPickle(Pickle* pickle, void** iterator) {
- std::string url_spec;
- is_valid = false;
- if (!pickle->ReadBool(iterator, &is_url) ||
- !pickle->ReadWString(iterator, &profile_id) ||
- !pickle->ReadString(iterator, &url_spec) ||
- !pickle->ReadWString(iterator, &title)) {
- return false;
- }
- url = GURL(url_spec);
- if (!is_url) {
- id_ = 0;
- children.clear();
- if (!pickle->ReadInt(iterator, &id_))
- return false;
- int children_count;
- if (!pickle->ReadInt(iterator, &children_count))
- return false;
- children.resize(children_count);
- for (std::vector<BookmarkDragData>::iterator i = children.begin();
- i != children.end(); ++i) {
- if (!i->ReadFromPickle(pickle, iterator))
- return false;
- }
- }
- is_valid = true;
- return true;
-}
-
-void BookmarkDragData::AddChildren(BookmarkBarNode* node) {
- for (int i = 0, max = node->GetChildCount(); i < max; ++i)
- children.push_back(BookmarkDragData(node->GetChild(i)));
-}
-
« no previous file with comments | « chrome/browser/bookmark_drag_data.h ('k') | chrome/browser/bookmark_drag_data_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698