Index: ui/base/dragdrop/os_exchange_data_provider_aurax11.cc |
diff --git a/ui/base/dragdrop/os_exchange_data_provider_aurax11.cc b/ui/base/dragdrop/os_exchange_data_provider_aurax11.cc |
index 2e4b975ec3d5ad2465d71178c3ddb5d50a54e3e7..8123d3811f1623e64dce34b559514c5e5b9e0af7 100644 |
--- a/ui/base/dragdrop/os_exchange_data_provider_aurax11.cc |
+++ b/ui/base/dragdrop/os_exchange_data_provider_aurax11.cc |
@@ -33,17 +33,6 @@ const char kRendererTaint[] = "chromium/x-renderer-taint"; |
const char kNetscapeURL[] = "_NETSCAPE_URL"; |
-const char* kAtomsToCache[] = {kString, |
- kText, |
- kUtf8String, |
- kDndSelection, |
- Clipboard::kMimeTypeURIList, |
- Clipboard::kMimeTypeMozillaURL, |
- kNetscapeURL, |
- Clipboard::kMimeTypeText, |
- kRendererTaint, |
- nullptr}; |
- |
} // namespace |
OSExchangeDataProviderAuraX11::OSExchangeDataProviderAuraX11( |
@@ -53,35 +42,27 @@ OSExchangeDataProviderAuraX11::OSExchangeDataProviderAuraX11( |
x_root_window_(DefaultRootWindow(x_display_)), |
own_window_(false), |
x_window_(x_window), |
- atom_cache_(x_display_, kAtomsToCache), |
format_map_(selection), |
- selection_owner_(x_display_, x_window_, |
- atom_cache_.GetAtom(kDndSelection)) { |
- // We don't know all possible MIME types at compile time. |
- atom_cache_.allow_uncached_atoms(); |
-} |
+ selection_owner_(x_display_, x_window_, GetAtom(kDndSelection)) {} |
OSExchangeDataProviderAuraX11::OSExchangeDataProviderAuraX11() |
: x_display_(gfx::GetXDisplay()), |
x_root_window_(DefaultRootWindow(x_display_)), |
own_window_(true), |
- x_window_(XCreateWindow( |
- x_display_, |
- x_root_window_, |
- -100, -100, 10, 10, // x, y, width, height |
- 0, // border width |
- CopyFromParent, // depth |
- InputOnly, |
- CopyFromParent, // visual |
- 0, |
- NULL)), |
- atom_cache_(x_display_, kAtomsToCache), |
+ x_window_(XCreateWindow(x_display_, |
+ x_root_window_, |
+ -100, |
+ -100, |
+ 10, |
+ 10, // x, y, width, height |
+ 0, // border width |
+ CopyFromParent, // depth |
+ InputOnly, |
+ CopyFromParent, // visual |
+ 0, |
+ NULL)), |
format_map_(), |
- selection_owner_(x_display_, x_window_, |
- atom_cache_.GetAtom(kDndSelection)) { |
- // We don't know all possible MIME types at compile time. |
- atom_cache_.allow_uncached_atoms(); |
- |
+ selection_owner_(x_display_, x_window_, GetAtom(kDndSelection)) { |
XStoreName(x_display_, x_window_, "Chromium Drag & Drop Window"); |
PlatformEventSource::GetInstance()->AddPlatformEventDispatcher(this); |
@@ -119,14 +100,13 @@ OSExchangeDataProviderAuraX11::Clone() const { |
void OSExchangeDataProviderAuraX11::MarkOriginatedFromRenderer() { |
std::string empty; |
- format_map_.Insert(atom_cache_.GetAtom(kRendererTaint), |
+ format_map_.Insert(GetAtom(kRendererTaint), |
scoped_refptr<base::RefCountedMemory>( |
base::RefCountedString::TakeString(&empty))); |
} |
bool OSExchangeDataProviderAuraX11::DidOriginateFromRenderer() const { |
- return format_map_.find(atom_cache_.GetAtom(kRendererTaint)) != |
- format_map_.end(); |
+ return format_map_.find(GetAtom(kRendererTaint)) != format_map_.end(); |
} |
void OSExchangeDataProviderAuraX11::SetString(const base::string16& text_data) { |
@@ -137,10 +117,10 @@ void OSExchangeDataProviderAuraX11::SetString(const base::string16& text_data) { |
scoped_refptr<base::RefCountedMemory> mem( |
base::RefCountedString::TakeString(&utf8)); |
- format_map_.Insert(atom_cache_.GetAtom(Clipboard::kMimeTypeText), mem); |
- format_map_.Insert(atom_cache_.GetAtom(kText), mem); |
- format_map_.Insert(atom_cache_.GetAtom(kString), mem); |
- format_map_.Insert(atom_cache_.GetAtom(kUtf8String), mem); |
+ format_map_.Insert(GetAtom(Clipboard::kMimeTypeText), mem); |
+ format_map_.Insert(GetAtom(kText), mem); |
+ format_map_.Insert(GetAtom(kString), mem); |
+ format_map_.Insert(GetAtom(kUtf8String), mem); |
} |
void OSExchangeDataProviderAuraX11::SetURL(const GURL& url, |
@@ -158,8 +138,7 @@ void OSExchangeDataProviderAuraX11::SetURL(const GURL& url, |
scoped_refptr<base::RefCountedMemory> mem( |
base::RefCountedBytes::TakeVector(&data)); |
- format_map_.Insert(atom_cache_.GetAtom(Clipboard::kMimeTypeMozillaURL), |
- mem); |
+ format_map_.Insert(GetAtom(Clipboard::kMimeTypeMozillaURL), mem); |
// Set a string fallback as well. |
SetString(spec); |
@@ -179,7 +158,7 @@ void OSExchangeDataProviderAuraX11::SetURL(const GURL& url, |
std::string netscape_url = url.spec(); |
netscape_url += "\n"; |
netscape_url += base::UTF16ToUTF8(title); |
- format_map_.Insert(atom_cache_.GetAtom(kNetscapeURL), |
+ format_map_.Insert(GetAtom(kNetscapeURL), |
scoped_refptr<base::RefCountedMemory>( |
base::RefCountedString::TakeString(&netscape_url))); |
} |
@@ -205,7 +184,7 @@ void OSExchangeDataProviderAuraX11::SetFilenames( |
std::string joined_data = base::JoinString(paths, "\n"); |
scoped_refptr<base::RefCountedMemory> mem( |
base::RefCountedString::TakeString(&joined_data)); |
- format_map_.Insert(atom_cache_.GetAtom(Clipboard::kMimeTypeURIList), mem); |
+ format_map_.Insert(GetAtom(Clipboard::kMimeTypeURIList), mem); |
} |
void OSExchangeDataProviderAuraX11::SetPickledData( |
@@ -219,7 +198,7 @@ void OSExchangeDataProviderAuraX11::SetPickledData( |
scoped_refptr<base::RefCountedMemory> mem( |
base::RefCountedBytes::TakeVector(&bytes)); |
- format_map_.Insert(atom_cache_.GetAtom(format.ToString().c_str()), mem); |
+ format_map_.Insert(GetAtom(format.ToString().c_str()), mem); |
} |
bool OSExchangeDataProviderAuraX11::GetString(base::string16* result) const { |
@@ -230,7 +209,7 @@ bool OSExchangeDataProviderAuraX11::GetString(base::string16* result) const { |
return false; |
} |
- std::vector< ::Atom> text_atoms = ui::GetTextAtomsFrom(&atom_cache_); |
+ std::vector<::Atom> text_atoms = ui::GetTextAtomsFrom(); |
std::vector< ::Atom> requested_types; |
ui::GetAtomIntersection(text_atoms, GetTargets(), &requested_types); |
@@ -248,7 +227,7 @@ bool OSExchangeDataProviderAuraX11::GetURLAndTitle( |
OSExchangeData::FilenameToURLPolicy policy, |
GURL* url, |
base::string16* title) const { |
- std::vector< ::Atom> url_atoms = ui::GetURLAtomsFrom(&atom_cache_); |
+ std::vector<::Atom> url_atoms = ui::GetURLAtomsFrom(); |
std::vector< ::Atom> requested_types; |
ui::GetAtomIntersection(url_atoms, GetTargets(), &requested_types); |
@@ -258,7 +237,7 @@ bool OSExchangeDataProviderAuraX11::GetURLAndTitle( |
// but that doesn't match the assumptions of the rest of the system which |
// expect single types. |
- if (data.GetType() == atom_cache_.GetAtom(Clipboard::kMimeTypeMozillaURL)) { |
+ if (data.GetType() == GetAtom(Clipboard::kMimeTypeMozillaURL)) { |
// Mozilla URLs are (UTF16: URL, newline, title). |
base::string16 unparsed; |
data.AssignTo(&unparsed); |
@@ -275,8 +254,7 @@ bool OSExchangeDataProviderAuraX11::GetURLAndTitle( |
*url = GURL(tokens[0]); |
return true; |
} |
- } else if (data.GetType() == atom_cache_.GetAtom( |
- Clipboard::kMimeTypeURIList)) { |
+ } else if (data.GetType() == GetAtom(Clipboard::kMimeTypeURIList)) { |
std::vector<std::string> tokens = ui::ParseURIList(data); |
for (std::vector<std::string>::const_iterator it = tokens.begin(); |
it != tokens.end(); ++it) { |
@@ -306,7 +284,7 @@ bool OSExchangeDataProviderAuraX11::GetFilename(base::FilePath* path) const { |
bool OSExchangeDataProviderAuraX11::GetFilenames( |
std::vector<FileInfo>* filenames) const { |
- std::vector< ::Atom> url_atoms = ui::GetURIListAtomsFrom(&atom_cache_); |
+ std::vector<::Atom> url_atoms = ui::GetURIListAtomsFrom(); |
std::vector< ::Atom> requested_types; |
ui::GetAtomIntersection(url_atoms, GetTargets(), &requested_types); |
@@ -331,7 +309,7 @@ bool OSExchangeDataProviderAuraX11::GetPickledData( |
const Clipboard::FormatType& format, |
base::Pickle* pickle) const { |
std::vector< ::Atom> requested_types; |
- requested_types.push_back(atom_cache_.GetAtom(format.ToString().c_str())); |
+ requested_types.push_back(GetAtom(format.ToString().c_str())); |
ui::SelectionData data(format_map_.GetFirstOf(requested_types)); |
if (data.IsValid()) { |
@@ -346,7 +324,7 @@ bool OSExchangeDataProviderAuraX11::GetPickledData( |
} |
bool OSExchangeDataProviderAuraX11::HasString() const { |
- std::vector< ::Atom> text_atoms = ui::GetTextAtomsFrom(&atom_cache_); |
+ std::vector<::Atom> text_atoms = ui::GetTextAtomsFrom(); |
std::vector< ::Atom> requested_types; |
ui::GetAtomIntersection(text_atoms, GetTargets(), &requested_types); |
return !requested_types.empty() && !HasFile(); |
@@ -354,7 +332,7 @@ bool OSExchangeDataProviderAuraX11::HasString() const { |
bool OSExchangeDataProviderAuraX11::HasURL( |
OSExchangeData::FilenameToURLPolicy policy) const { |
- std::vector< ::Atom> url_atoms = ui::GetURLAtomsFrom(&atom_cache_); |
+ std::vector<::Atom> url_atoms = ui::GetURLAtomsFrom(); |
std::vector< ::Atom> requested_types; |
ui::GetAtomIntersection(url_atoms, GetTargets(), &requested_types); |
@@ -365,11 +343,10 @@ bool OSExchangeDataProviderAuraX11::HasURL( |
// Windows does and stuffs all the data into one mime type. |
ui::SelectionData data(format_map_.GetFirstOf(requested_types)); |
if (data.IsValid()) { |
- if (data.GetType() == atom_cache_.GetAtom(Clipboard::kMimeTypeMozillaURL)) { |
+ if (data.GetType() == GetAtom(Clipboard::kMimeTypeMozillaURL)) { |
// File managers shouldn't be using this type, so this is a URL. |
return true; |
- } else if (data.GetType() == atom_cache_.GetAtom( |
- ui::Clipboard::kMimeTypeURIList)) { |
+ } else if (data.GetType() == GetAtom(ui::Clipboard::kMimeTypeURIList)) { |
std::vector<std::string> tokens = ui::ParseURIList(data); |
for (std::vector<std::string>::const_iterator it = tokens.begin(); |
it != tokens.end(); ++it) { |
@@ -386,7 +363,7 @@ bool OSExchangeDataProviderAuraX11::HasURL( |
} |
bool OSExchangeDataProviderAuraX11::HasFile() const { |
- std::vector< ::Atom> url_atoms = ui::GetURIListAtomsFrom(&atom_cache_); |
+ std::vector<::Atom> url_atoms = ui::GetURIListAtomsFrom(); |
std::vector< ::Atom> requested_types; |
ui::GetAtomIntersection(url_atoms, GetTargets(), &requested_types); |
@@ -414,7 +391,7 @@ bool OSExchangeDataProviderAuraX11::HasFile() const { |
bool OSExchangeDataProviderAuraX11::HasCustomFormat( |
const Clipboard::FormatType& format) const { |
std::vector< ::Atom> url_atoms; |
- url_atoms.push_back(atom_cache_.GetAtom(format.ToString().c_str())); |
+ url_atoms.push_back(GetAtom(format.ToString().c_str())); |
std::vector< ::Atom> requested_types; |
ui::GetAtomIntersection(url_atoms, GetTargets(), &requested_types); |
@@ -426,7 +403,7 @@ void OSExchangeDataProviderAuraX11::SetFileContents( |
const std::string& file_contents) { |
DCHECK(!filename.empty()); |
DCHECK(format_map_.end() == |
- format_map_.find(atom_cache_.GetAtom(Clipboard::kMimeTypeMozillaURL))); |
+ format_map_.find(GetAtom(Clipboard::kMimeTypeMozillaURL))); |
file_contents_name_ = filename; |
@@ -446,13 +423,12 @@ void OSExchangeDataProviderAuraX11::SetFileContents( |
// things simpler for Chrome, we always 'fail' and let the destination do |
// the work. |
std::string failure("F"); |
- format_map_.Insert( |
- atom_cache_.GetAtom("XdndDirectSave0"), |
- scoped_refptr<base::RefCountedMemory>( |
- base::RefCountedString::TakeString(&failure))); |
+ format_map_.Insert(GetAtom("XdndDirectSave0"), |
+ scoped_refptr<base::RefCountedMemory>( |
+ base::RefCountedString::TakeString(&failure))); |
std::string file_contents_copy = file_contents; |
format_map_.Insert( |
- atom_cache_.GetAtom("application/octet-stream"), |
+ GetAtom("application/octet-stream"), |
scoped_refptr<base::RefCountedMemory>( |
base::RefCountedString::TakeString(&file_contents_copy))); |
} |
@@ -468,13 +444,13 @@ void OSExchangeDataProviderAuraX11::SetHtml(const base::string16& html, |
scoped_refptr<base::RefCountedMemory> mem( |
base::RefCountedBytes::TakeVector(&bytes)); |
- format_map_.Insert(atom_cache_.GetAtom(Clipboard::kMimeTypeHTML), mem); |
+ format_map_.Insert(GetAtom(Clipboard::kMimeTypeHTML), mem); |
} |
bool OSExchangeDataProviderAuraX11::GetHtml(base::string16* html, |
GURL* base_url) const { |
std::vector< ::Atom> url_atoms; |
- url_atoms.push_back(atom_cache_.GetAtom(Clipboard::kMimeTypeHTML)); |
+ url_atoms.push_back(GetAtom(Clipboard::kMimeTypeHTML)); |
std::vector< ::Atom> requested_types; |
ui::GetAtomIntersection(url_atoms, GetTargets(), &requested_types); |
@@ -490,7 +466,7 @@ bool OSExchangeDataProviderAuraX11::GetHtml(base::string16* html, |
bool OSExchangeDataProviderAuraX11::HasHtml() const { |
std::vector< ::Atom> url_atoms; |
- url_atoms.push_back(atom_cache_.GetAtom(Clipboard::kMimeTypeHTML)); |
+ url_atoms.push_back(GetAtom(Clipboard::kMimeTypeHTML)); |
std::vector< ::Atom> requested_types; |
ui::GetAtomIntersection(url_atoms, GetTargets(), &requested_types); |