Because we don't see the mouse click for the main menu bar the same
way we do for a context menu.  Normally, we just get called back after
a menu item has been selected.  It's possible to update state while
the menu is down, but that brings in the possibility of flashing/etc.
as the menu changes state under the mouse, which is bad.  If there's a
way that the browser process can shadow the "most recent clipboard
state" of the current renderer, that would be ideal.

--Amanda


On Mon, Mar 9, 2009 at 5:48 PM, Adam Barth <aba...@chromium.org> wrote:
>
> Forgive my ignorance of Mac APIs, but why does the mouse click ->
> display menu need to be synchronous?  (In a way similar to how the
> right-click -> context menu is async now.)
>
> Adam
>
>
> On Mon, Mar 9, 2009 at 2:39 PM, Avi Drissman <a...@google.com> wrote:
>> An async menu might be an option for WinChromium but it isn't an option for
>> the Mac version if we want to use system menus. (And no, that wasn't an
>> opening for anyone to say that we shouldn't use the system menus on the
>> Mac...)
>>
>> Avi
>>
>> On Mon, Mar 9, 2009 at 4:31 PM, Adam Barth <aba...@chromium.org> wrote:
>>>
>>> I think we should show the menu asynchronously after roundtripping the
>>> renderer to get the necessary state.  We can solve the hung renderer
>>> problem with a timeout.  I like the idea of a "kill page" menu if the
>>> page doesn't respond in time because the page menu is mostly useless
>>> if the page is hung.
>>>
>>> Adam
>>>
>>>
>>> On Mon, Mar 9, 2009 at 2:19 PM,  <t...@chromium.org> wrote:
>>> > 1) the user right clicks on the page
>>> > 2) the browser sends an IPC to the renderer with the click event
>>> > 3) the renderer realizes that a context menu should show and sends
>>> >   an IPC back to the browser with information about which menu items
>>> >   should be enabled.
>>> >
>>> > In theory, this is the same as sending an IPC when we show the page
>>> > menu, but the main differences is that the context menu ipcs are all
>>> > async.
>>> >
>>> > You could imagine that we enable cut/copy/paste as we show the page
>>> > menu,
>>> > send an async request to see if the menu items should be enabled, and
>>> > update the menu items async.  This might flicker sometimes, but maybe
>>> > that's ok?  Alternately, we could delay showing the page menu until the
>>> > page responds (like how context menus work).  However, a hung/slow page
>>> > would cause the menu to never appear, but maybe that's ok because all
>>> > the
>>> > menu items depend on the page anyway (if it hangs, we could replace the
>>> > menu with a "kill tab" menu item).
>>> >
>>> >
>>> >
>>> > On Mon, 9 Mar 2009, Adam Barth wrote:
>>> >
>>> >>
>>> >> The context menu does some kind of hit test on the renderer and gets
>>> >> back info about what's under the mouse.  I think the IPC message that
>>> >> comes back from the renderer knows whether cut/copy/paste should be
>>> >> enabled.  I guess that's evidence that round-tripping through the
>>> >> renderer to get this state might not be that bad for the page menu.
>>> >>
>>> >> Adam
>>> >>
>>> >>
>>> >> On Mon, Mar 9, 2009 at 1:14 PM, Avi Drissman <a...@google.com> wrote:
>>> >> > Oh, that's curious. Where does the context menu come from? And how
>>> >> > does it
>>> >> > know?
>>> >> >
>>> >> > Avi
>>> >> >
>>> >> > On Mon, Mar 9, 2009 at 2:04 PM, Adam Barth <aba...@google.com> wrote:
>>> >> >>
>>> >> >> Thanks.  I always use our context menu, which seems to be smarter
>>> >> >> about disabling cut/copy/paste.
>>> >> >>
>>> >> >> Adam
>>> >> >>
>>> >> >>
>>> >> >> On Mon, Mar 9, 2009 at 12:00 PM, Evan Martin <e...@chromium.org>
>>> >> >> wrote:
>>> >> >> > On Mon, Mar 9, 2009 at 11:43 AM, Adam Barth <aba...@chromium.org>
>>> >> >> > wrote:
>>> >> >> >> On Mon, Mar 9, 2009 at 9:53 AM, Avi Drissman <a...@google.com>
>>> >> >> >> wrote:
>>> >> >> >>> For those unfamiliar, the copy/paste menu items are always
>>> >> >> >>> enabled,
>>> >> >> >>> and send
>>> >> >> >>> a message to TabContents.
>>> >> >> >>
>>> >> >> >> Do you have an example of how to reproduce this issue?  On
>>> >> >> >> Windows,
>>> >> >> >> the Cut/Copy/Paste menu items are often disabled when they won't
>>> >> >> >> work.
>>> >> >> >
>>> >> >> > 1) Change your sound scheme to "Windows default".
>>> >> >> > 2) Make sure no text is selected in Chrome.
>>> >> >> > 3) Page menu -> copy.   Beep!  Also beeps if you hit ctl-c while
>>> >> >> > typing.
>>> >> >> >
>>> >> >
>>> >> >
>>> >>
>>> >> >> >>
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to