diff options
author | Ben Murdoch <benm@google.com> | 2010-11-25 19:40:10 +0000 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2010-12-03 13:52:53 +0000 |
commit | 4a5e2dc747d50c653511c68ccb2cfbfb740bd5a7 (patch) | |
tree | 938665d93a11fe7a6d0124e3c1e020d1f9d3f947 /chrome/browser/ui/views/extensions/browser_action_drag_data.h | |
parent | 7c627d87728a355737862918d144f98f69406954 (diff) | |
download | external_chromium-4a5e2dc747d50c653511c68ccb2cfbfb740bd5a7.zip external_chromium-4a5e2dc747d50c653511c68ccb2cfbfb740bd5a7.tar.gz external_chromium-4a5e2dc747d50c653511c68ccb2cfbfb740bd5a7.tar.bz2 |
Merge Chromium at r66597: Initial merge by git.
Change-Id: I9639f8a997f90ec219573aa22a49f5dbde78cc7b
Diffstat (limited to 'chrome/browser/ui/views/extensions/browser_action_drag_data.h')
-rw-r--r-- | chrome/browser/ui/views/extensions/browser_action_drag_data.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/chrome/browser/ui/views/extensions/browser_action_drag_data.h b/chrome/browser/ui/views/extensions/browser_action_drag_data.h new file mode 100644 index 0000000..ae26cca --- /dev/null +++ b/chrome/browser/ui/views/extensions/browser_action_drag_data.h @@ -0,0 +1,64 @@ +// 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. + +#ifndef CHROME_BROWSER_UI_VIEWS_EXTENSIONS_BROWSER_ACTION_DRAG_DATA_H_ +#define CHROME_BROWSER_UI_VIEWS_EXTENSIONS_BROWSER_ACTION_DRAG_DATA_H_ +#pragma once + +#include <string> + +#include "base/basictypes.h" +#include "chrome/browser/profile.h" + +#if defined(TOOLKIT_VIEWS) +#include "app/os_exchange_data.h" +#endif + +class BrowserActionButton; +class FilePath; +class Pickle; +class Profile; + +class BrowserActionDragData { + public: + BrowserActionDragData(); + BrowserActionDragData(const std::string& id, int index); + + const std::string& id() const { return id_; } + + size_t index() const { return index_; } + + // Returns true if this data is from the specified profile. + bool IsFromProfile(Profile* profile) const; + +#if defined(TOOLKIT_VIEWS) + void Write(Profile* profile, OSExchangeData* data) const; + + // Restores this data from the clipboard, returning true on success. + bool Read(const OSExchangeData& data); + + // Returns the Custom Format this class supports (for Browser Actions). + static OSExchangeData::CustomFormat GetBrowserActionCustomFormat(); +#endif + + private: + void WriteToPickle(Profile* profile, Pickle* pickle) const; + bool ReadFromPickle(Pickle* pickle); + + // ID of the profile we originated from. + ProfileId profile_id_; + + // The id of the view being dragged. + std::string id_; + + // The index of the view being dragged. + size_t index_; + + // The MIME type for the clipboard format for BrowserActionDragData. + static const char* kClipboardFormatString; + + DISALLOW_COPY_AND_ASSIGN(BrowserActionDragData); +}; + +#endif // CHROME_BROWSER_UI_VIEWS_EXTENSIONS_BROWSER_ACTION_DRAG_DATA_H_ |