- Add CefDragHandler to support examination of drag data and cancellation of drag requests (issue #297).

- Mac: Fix dragging of URLs by providing a default image if no drag image is supplied.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@279 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2011-08-22 01:31:55 +00:00
parent 88a46e0b44
commit 1b1255c92d
26 changed files with 1192 additions and 30 deletions

36
libcef/drag_data_impl.h Normal file
View File

@ -0,0 +1,36 @@
// Copyright (c) 2011 The Chromium Embedded Framework 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 _DRAG_DATA_IMPL_H
#define _DRAG_DATA_IMPL_H
#include "../include/cef.h"
#include "webkit/glue/webdropdata.h"
// Implementation of CefDragData.
class CefDragDataImpl : public CefDragData
{
public:
explicit CefDragDataImpl(const WebDropData& data);
virtual bool IsLink();
virtual bool IsFragment();
virtual bool IsFile();
virtual CefString GetLinkURL();
virtual CefString GetLinkTitle();
virtual CefString GetLinkMetadata();
virtual CefString GetFragmentText();
virtual CefString GetFragmentHtml();
virtual CefString GetFragmentBaseURL();
virtual CefString GetFileExtension();
virtual CefString GetFileName();
virtual bool GetFileNames(std::vector<CefString>& names);
protected:
WebDropData data_;
IMPLEMENT_REFCOUNTING(CefDragDataImpl);
};
#endif // _DRAG_DATA_IMPL_H