Updates: Cc: da...@chromium.org Comment #2 on issue 9848 by est...@chromium.org: linux: unable to use selection copy/paste between chromium windows http://code.google.com/p/chromium/issues/detail?id=9848
Unfortunately this is much more insidious than that. Any time you select text in a render area, then try to middle-click-paste anywhere in the same process (a different chrome window, the same chrome window, the omnibox, etc.) *without first pasting somewhere outside the process*, the paste will fail. It appears that GTK tries to avoid going through X if it can. That is, it specially handles the case where the clipboard is owned by the current process and in that case invokes the "get clipboard data" callback directly. Our callback will still work though if we're already caching the selection (which is why it would work if you selected text, pasted it into gedit, then tried to paste into the render view). Four solutions (and you can probably tell which one of them I prefer): a) We can do our own special casing and avoid calling GTK completely if we own the clipboard, but that won't work for native widgets such as the omnibox, dialogs, etc., unless we want to also special case them (which would be a huge headache). b) We can heuristically, preemptively copy the selection from the render view. We'd have to request the selection text from the renderer any time (i) the cursor leaves the render area or (ii) we detect a middle click in the render area. This is kind of hacky but it still accomplishes our main goal from before (everything's asynchronous, and we don't send massive numbers of IPCs for a drag-select), and doesn't require much extra work. c) Go back to the synchronous time-out clipboard request solution. d) Just always send the whole selection over ipc every time it changes. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings --~--~---------~--~----~------------~-------~--~----~ Automated mail from issue updates at http://crbug.com/ Subscription options: http://groups.google.com/group/chromium-bugs -~----------~----~----~----~------~----~------~--~---