Add support for CefDragHandler::OnDragEnter (issue #601).

git-svn-id: https://chromiumembedded.googlecode.com/svn/branches/1453@1274 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2013-06-06 18:44:11 +00:00
parent 2ec8891fe2
commit 12e125b5c2
30 changed files with 1635 additions and 0 deletions

View File

@ -0,0 +1,63 @@
// Copyright (c) 2013 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.
#include "libcef/common/drag_data_impl.h"
#include "base/files/file_path.h"
CefDragDataImpl::CefDragDataImpl(const WebDropData& data)
: data_(data) {
}
bool CefDragDataImpl::IsLink() {
return (data_.url.is_valid() && data_.file_description_filename.empty());
}
bool CefDragDataImpl::IsFragment() {
return (!data_.url.is_valid() && data_.file_description_filename.empty() &&
data_.filenames.empty());
}
bool CefDragDataImpl::IsFile() {
return (!data_.file_description_filename.empty() || !data_.filenames.empty());
}
CefString CefDragDataImpl::GetLinkURL() {
return data_.url.spec();
}
CefString CefDragDataImpl::GetLinkTitle() {
return data_.url_title;
}
CefString CefDragDataImpl::GetLinkMetadata() {
return data_.download_metadata;
}
CefString CefDragDataImpl::GetFragmentText() {
return data_.text.is_null() ? CefString() : CefString(data_.text.string());
}
CefString CefDragDataImpl::GetFragmentHtml() {
return data_.html.is_null() ? CefString() : CefString(data_.html.string());
}
CefString CefDragDataImpl::GetFragmentBaseURL() {
return data_.html_base_url.spec();
}
CefString CefDragDataImpl::GetFileName() {
return data_.file_description_filename;
}
bool CefDragDataImpl::GetFileNames(std::vector<CefString>& names) {
if (data_.filenames.empty())
return false;
std::vector<WebDropData::FileInfo>::const_iterator it =
data_.filenames.begin();
for (; it != data_.filenames.end(); ++it)
names.push_back(it->path);
return true;
}