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
-~----------~----~----~----~------~----~------~--~---

Reply via email to