Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: ui/base/clipboard/clipboard_aurax11.cc

Issue 2828913003: Replace "nested message loop" with "nested run loop" in comments. (Closed)
Patch Set: rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/aura/window_event_dispatcher_unittest.cc ('k') | ui/base/win/shell.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/base/clipboard/clipboard_aurax11.h" 5 #include "ui/base/clipboard/clipboard_aurax11.h"
6 6
7 #include <X11/Xatom.h> 7 #include <X11/Xatom.h>
8 #include <X11/extensions/Xfixes.h> 8 #include <X11/extensions/Xfixes.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 258
259 // Moves the temporary |clipboard_data_| to the long term data storage for 259 // Moves the temporary |clipboard_data_| to the long term data storage for
260 // |type|. 260 // |type|.
261 void TakeOwnershipOfSelection(ClipboardType type); 261 void TakeOwnershipOfSelection(ClipboardType type);
262 262
263 // Returns the first of |types| offered by the current selection holder in 263 // Returns the first of |types| offered by the current selection holder in
264 // |data_out|, or returns NULL if none of those types are available. 264 // |data_out|, or returns NULL if none of those types are available.
265 // 265 //
266 // If the selection holder is us, this call is synchronous and we pull 266 // If the selection holder is us, this call is synchronous and we pull
267 // the data out of |clipboard_selection_| or |primary_selection_|. If the 267 // the data out of |clipboard_selection_| or |primary_selection_|. If the
268 // selection holder is some other window, we spin up a nested message loop 268 // selection holder is some other window, we spin up a nested run loop
269 // and do the asynchronous dance with whatever application is holding the 269 // and do the asynchronous dance with whatever application is holding the
270 // selection. 270 // selection.
271 ui::SelectionData RequestAndWaitForTypes(ClipboardType type, 271 ui::SelectionData RequestAndWaitForTypes(ClipboardType type,
272 const std::vector< ::Atom>& types); 272 const std::vector< ::Atom>& types);
273 273
274 // Retrieves the list of possible data types the current clipboard owner has. 274 // Retrieves the list of possible data types the current clipboard owner has.
275 // 275 //
276 // If the selection holder is us, this is synchronous, otherwise this runs a 276 // If the selection holder is us, this is synchronous, otherwise this runs a
277 // blocking message loop. 277 // blocking message loop.
278 TargetList WaitAndGetTargetsList(ClipboardType type); 278 TargetList WaitAndGetTargetsList(ClipboardType type);
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 return clipboard_owner_.TakeOwnershipOfSelection(clipboard_data_); 395 return clipboard_owner_.TakeOwnershipOfSelection(clipboard_data_);
396 else 396 else
397 return primary_owner_.TakeOwnershipOfSelection(clipboard_data_); 397 return primary_owner_.TakeOwnershipOfSelection(clipboard_data_);
398 } 398 }
399 399
400 SelectionData ClipboardAuraX11::AuraX11Details::RequestAndWaitForTypes( 400 SelectionData ClipboardAuraX11::AuraX11Details::RequestAndWaitForTypes(
401 ClipboardType type, 401 ClipboardType type,
402 const std::vector<::Atom>& types) { 402 const std::vector<::Atom>& types) {
403 ::Atom selection_name = LookupSelectionForClipboardType(type); 403 ::Atom selection_name = LookupSelectionForClipboardType(type);
404 if (XGetSelectionOwner(x_display_, selection_name) == x_window_) { 404 if (XGetSelectionOwner(x_display_, selection_name) == x_window_) {
405 // We can local fastpath instead of playing the nested message loop game 405 // We can local fastpath instead of playing the nested run loop game
406 // with the X server. 406 // with the X server.
407 const SelectionFormatMap& format_map = LookupStorageForAtom(selection_name); 407 const SelectionFormatMap& format_map = LookupStorageForAtom(selection_name);
408 408
409 for (std::vector< ::Atom>::const_iterator it = types.begin(); 409 for (std::vector< ::Atom>::const_iterator it = types.begin();
410 it != types.end(); ++it) { 410 it != types.end(); ++it) {
411 SelectionFormatMap::const_iterator format_map_it = format_map.find(*it); 411 SelectionFormatMap::const_iterator format_map_it = format_map.find(*it);
412 if (format_map_it != format_map.end()) 412 if (format_map_it != format_map.end())
413 return SelectionData(format_map_it->first, format_map_it->second); 413 return SelectionData(format_map_it->first, format_map_it->second);
414 } 414 }
415 } else { 415 } else {
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after
945 if (format.Equals(GetBitmapFormatType())) 945 if (format.Equals(GetBitmapFormatType()))
946 return; 946 return;
947 947
948 std::vector<unsigned char> bytes(data_data, data_data + data_len); 948 std::vector<unsigned char> bytes(data_data, data_data + data_len);
949 scoped_refptr<base::RefCountedMemory> mem( 949 scoped_refptr<base::RefCountedMemory> mem(
950 base::RefCountedBytes::TakeVector(&bytes)); 950 base::RefCountedBytes::TakeVector(&bytes));
951 aurax11_details_->InsertMapping(format.ToString(), mem); 951 aurax11_details_->InsertMapping(format.ToString(), mem);
952 } 952 }
953 953
954 } // namespace ui 954 } // namespace ui
OLDNEW
« no previous file with comments | « ui/aura/window_event_dispatcher_unittest.cc ('k') | ui/base/win/shell.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698