| Index: base/clipboard.cc
|
| ===================================================================
|
| --- base/clipboard.cc (revision 0)
|
| +++ base/clipboard.cc (revision 0)
|
| @@ -0,0 +1,55 @@
|
| +// 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.
|
| +
|
| +// Many of these functions are based on those found in
|
| +// webkit/port/platform/PasteboardWin.cpp
|
| +
|
| +#include "base/clipboard.h"
|
| +
|
| +#include "base/logging.h"
|
| +
|
| +void Clipboard::DispatchObject(ObjectType type, const ObjectMapParams& params) {
|
| + switch (type) {
|
| + case CBF_TEXT:
|
| + WriteText(&(params[0].front()), params[0].size());
|
| + break;
|
| +
|
| + case CBF_HTML:
|
| + if (params.size() == 2)
|
| + WriteHTML(&(params[0].front()), params[0].size(),
|
| + &(params[1].front()), params[1].size());
|
| + else
|
| + WriteHTML(&(params[0].front()), params[0].size(), NULL, 0);
|
| + break;
|
| +
|
| +#if defined(OS_WIN) || defined(OS_MACOSX)
|
| + case CBF_BOOKMARK:
|
| + WriteBookmark(&(params[0].front()), params[0].size(),
|
| + &(params[1].front()), params[1].size());
|
| + break;
|
| +
|
| + case CBF_LINK:
|
| + WriteHyperlink(&(params[0].front()), params[0].size(),
|
| + &(params[1].front()), params[1].size());
|
| + break;
|
| +
|
| + case CBF_FILES:
|
| + WriteFiles(&(params[0].front()), params[0].size());
|
| + break;
|
| +#endif // defined(OS_WIN) || defined(OS_MACOSX)
|
| +
|
| +#if defined(OS_WIN)
|
| + case CBF_WEBKIT:
|
| + WriteWebSmartPaste();
|
| + break;
|
| +
|
| + case CBF_BITMAP:
|
| + WriteBitmap(&(params[0].front()), &(params[1].front()));
|
| + break;
|
| +#endif // defined(OS_WIN)
|
| +
|
| + default:
|
| + NOTREACHED();
|
| + }
|
| +}
|
|
|