[repost; went off-list] We're not in control of it. We declare our menus, and when one is clicked the system calls us back to update the enabled/disabled state of the items. We return either true or false, and until we do the UI blocks.
This is different from right click menu. You right click, but while the message is winding its way to the renderer (which might take a while or be ignored entirely) the UI is still going. Avi On Mon, Mar 9, 2009 at 4:48 PM, Adam Barth <[email protected]> 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 <[email protected]> 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 <[email protected]> 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, <[email protected]> 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 <[email protected]> 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 <[email protected]> > 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 <[email protected]> > >> >> >> wrote: > >> >> >> > On Mon, Mar 9, 2009 at 11:43 AM, Adam Barth < > [email protected]> > >> >> >> > wrote: > >> >> >> >> On Mon, Mar 9, 2009 at 9:53 AM, Avi Drissman <[email protected]> > >> >> >> >> 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: [email protected] View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---
