| Index: ui/base/x/selection_requestor.cc
|
| diff --git a/ui/base/x/selection_requestor.cc b/ui/base/x/selection_requestor.cc
|
| index 1fd28729c28188895e2dfbd2ef1371290c4f1a39..405c0592f8010dff841a9993bc2740c213c5cc70 100644
|
| --- a/ui/base/x/selection_requestor.cc
|
| +++ b/ui/base/x/selection_requestor.cc
|
| @@ -38,7 +38,7 @@ SelectionRequestor::~SelectionRequestor() {}
|
|
|
| bool SelectionRequestor::PerformBlockingConvertSelection(
|
| Atom target,
|
| - unsigned char** out_data,
|
| + scoped_refptr<base::RefCountedMemory>* out_data,
|
| size_t* out_data_bytes,
|
| size_t* out_data_items,
|
| Atom* out_type) {
|
| @@ -73,11 +73,11 @@ bool SelectionRequestor::PerformBlockingConvertSelection(
|
| out_type);
|
| }
|
|
|
| -scoped_ptr<SelectionData> SelectionRequestor::RequestAndWaitForTypes(
|
| +SelectionData SelectionRequestor::RequestAndWaitForTypes(
|
| const std::vector< ::Atom>& types) {
|
| for (std::vector< ::Atom>::const_iterator it = types.begin();
|
| it != types.end(); ++it) {
|
| - unsigned char* data = NULL;
|
| + scoped_refptr<base::RefCountedMemory> data;
|
| size_t data_bytes = 0;
|
| ::Atom type = None;
|
| if (PerformBlockingConvertSelection(*it,
|
| @@ -86,13 +86,11 @@ scoped_ptr<SelectionData> SelectionRequestor::RequestAndWaitForTypes(
|
| NULL,
|
| &type) &&
|
| type == *it) {
|
| - scoped_ptr<SelectionData> data_out(new SelectionData);
|
| - data_out->Set(type, (char*)data, data_bytes, true);
|
| - return data_out.Pass();
|
| + return SelectionData(type, data);
|
| }
|
| }
|
|
|
| - return scoped_ptr<SelectionData>();
|
| + return SelectionData();
|
| }
|
|
|
| void SelectionRequestor::OnSelectionNotify(const XSelectionEvent& event) {
|
|
|