[chromium-dev] Renderer Process and Browser Process
From this document, it talks about Messaging between http://dev.chromium.org/developers/design-documents/displaying-a-web-page-in-chrome Can you please help me understand what is the Message Flow for an Alert Dialog? like in this case: htmlscript function f1() { var a = 1; alert(hello); a = 2;}; f1(); /script/html I assume it is like this, please correct me if i am wrong: 1. Browser Process downloads the test page 2. Renderer Process gets the html source, parses the html and have v8 executes script node 3. v8 pauses at 'alert' call, sends a message to Browser Process to pop up the alert dialog and Render Process blocked till it receives message from Browser. 4. Browser Process shows the alert dialog with the right message (in this case 'hello') 5. When user clicks 'Okay', browser process sends a message back to Renderer Process and v8 continues execute the rest of the Script node. Is this correct? Thank you for any clarificaiton. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Is there any logging to print out messaging between Browser and Renderer
Hi, Is there any logging to print out messaging between Browser and Renderer processes? If yes, can you please tell me how to enable it? And where does the log go? Thank you. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Renderer Process and Browser Process
On Wed, Jun 10, 2009 at 12:18 PM, John Abd-El-Malekj...@chromium.org wrote: On Wed, Jun 10, 2009 at 11:48 AM, Meryl Silverburgh silverburgh.me...@gmail.com wrote: From this document, it talks about Messaging between http://dev.chromium.org/developers/design-documents/displaying-a-web-page-in-chrome Can you please help me understand what is the Message Flow for an Alert Dialog? like in this case: htmlscript function f1() { var a = 1; alert(hello); a = 2;}; f1(); /script/html I assume it is like this, please correct me if i am wrong: 1. Browser Process downloads the test page 2. Renderer Process gets the html source, parses the html and have v8 executes script node 3. v8 pauses at 'alert' call, sends a message to Browser Process to pop up the alert dialog and Render Process blocked till it receives message from Browser. 4. Browser Process shows the alert dialog with the right message (in this case 'hello') 5. When user clicks 'Okay', browser process sends a message back to Renderer Process and v8 continues execute the rest of the Script node. Is this correct? Yep this is pretty much what happens. For more details, search for ViewHostMsg_RunJavaScriptMessage Thank you. John. I think this method is Render process to send a message to Browser process to pop up an alert dialog. bool RenderView::RunJavaScriptMessage(int type, const std::wstring message, const std::wstring default_value, const GURL frame_url, std::wstring* result) that calls: bool Channel::Send(Message* message); and then bool Channel::ChannelImpl::ProcessOutgoingMessages() My question is how the Render process being blocked after it sends the message to Browser process, which one is a blocking calls or which one calls a blocking method? And how it will resume when Browser process replys a message? How Render is being resumed (which method does that)? Thank you. Thank you for any clarificaiton. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Is there any logging to print out messaging between Browser and Renderer
On Wed, Jun 10, 2009 at 8:56 PM, John Abd-El-Malekj...@chromium.org wrote: about:ipc is only implemented on Windows. For Mac/Linux, you need to set the CHROME_IPC_LOGGING environment variable. All the messages will be dumped to stderr. I have added 'export CHROME_IPC_LOGGING=1' in my .profile on Macos. Reboot my machine. And 'build and debug' my chrome xocde project under Xcode. Load Google.com But I only see the following in my XCode Console View: [366:17667:919320584122:WARNING:/Users/samuel/chromium/src/chrome/browser/renderer_host/resource_dispatcher_host.cc(608)] Canceling a request that wasn't found [366:17667:919332572808:WARNING:/Users/samuel/chromium/src/chrome/browser/renderer_host/resource_dispatcher_host.cc(608)] Canceling a request that wasn't found [366:17667:919406692781:WARNING:/Users/samuel/chromium/src/chrome/browser/renderer_host/resource_dispatcher_host.cc(608)] Canceling a request that wasn't found [366:17667:919545318766:WARNING:/Users/samuel/chromium/src/chrome/browser/renderer_host/resource_dispatcher_host.cc(608)] Canceling a request that wasn't found [366:17667:919545477665:WARNING:/Users/samuel/chromium/src/chrome/browser/renderer_host/resource_dispatcher_host.cc(608)] Canceling a request that wasn't found [366:2067:1055305882028:ERROR:/Users/samuel/chromium/src/chrome/browser/tab_contents/tab_contents_view_mac.mm(117)] Not implemented reached in virtual void TabContentsViewMac::SizeContents(const gfx::Size) [366:17667:1056204955438:WARNING:/Users/samuel/chromium/src/chrome/browser/renderer_host/resource_dispatcher_host.cc(608)] Canceling a request that wasn't found [366:17667:1056365389566:WARNING:/Users/samuel/chromium/src/chrome/browser/renderer_host/resource_dispatcher_host.cc(608)] Canceling a request that wasn't found [366:17667:1056370011421:WARNING:/Users/samuel/chromium/src/chrome/browser/renderer_host/resource_dispatcher_host.cc(608)] Canceling a request that wasn't found [366:17667:1056456409105:WARNING:/Users/samuel/chromium/src/chrome/browser/renderer_host/resource_dispatcher_host.cc(608)] Canceling a request that wasn't found [366:17667:1056456929069:WARNING:/Users/samuel/chromium/src/chrome/browser/renderer_host/resource_dispatcher_host.cc(608)] Canceling a request that wasn't found [366:2067:1060039015993:ERROR:/Users/samuel/chromium/src/chrome/common/temp_scaffolding_stubs.cc(277)] Not implemented reached in static void HungRendererDialog::HideForTabContents(TabContents*) LEAK: 5 CachedResource LEAK: 166 WebCoreNode Leak 1 JS wrappers. On Wed, Jun 10, 2009 at 8:34 PM, Meryl Silverburgh silverburgh.me...@gmail.com wrote: Thank you. I try and successfully build chromium on MacOS using XCode. Then I do a 'build and Go (debug)'. In one tab , I load www.google.com and then do a search for 'test'. In another tab, I enter 'about:ipc' but it shows nothing. Am I missing something? Thank you. On Wed, Jun 10, 2009 at 8:02 PM, Eric Romanero...@chromium.org wrote: Even better, use a DEBUG build of chromium and navigate to about:ipc. This opens a window that logs all of the IPC messages being made. On Wed, Jun 10, 2009 at 7:34 PM, Mohamed Mansourm...@chromium.org wrote: You can pass in --log-level=N to the command line, where N is 0 = INFO 1 = WARNING 2 = ERROR 3 = FATAL The default login level is set to 1 which is WARNING. -- Mohamed Mansour On Wed, Jun 10, 2009 at 10:24 PM, Meryl Silverburgh silverburgh.me...@gmail.com wrote: Hi, Is there any logging to print out messaging between Browser and Renderer processes? If yes, can you please tell me how to enable it? And where does the log go? Thank you. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] How renderer process is created/destoryed
Hi, Form chromium documentation, when creating/destroying tabs, a renderer process is getting created/destroyed. Can you please tell me the code for renderer process is created/destoryed? Thank you. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] sqlite3 usage in chromium
Hi, I see chromium uses sqlite3. Does it use it for Google Gear only? or it uses it for other stuff, e.g. cookies, bookmark, history, user settings Thank you. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Question about chromium architecture
On Wed, Jun 3, 2009 at 11:09 PM, Mike Belshe mbel...@google.com wrote: On Wed, Jun 3, 2009 at 10:40 PM, Meryl Silverburgh silverburgh.me...@gmail.com wrote: On Tue, Jun 2, 2009 at 5:00 PM, Brett Wilson bre...@chromium.org wrote: On Tue, Jun 2, 2009 at 4:57 PM, Meryl Silverburgh silverburgh.me...@gmail.com wrote: I am reading this document http://dev.chromium.org/developers/how-tos/getting-around-the-chrome-source-code; about chromium source code: It said: renderer: Code for the subprocess in each tab. This embeds WebKit and talks to browser for I/O. Does that mean chromium do not use the HTTP stack/library that Webkit is using? WebKit uses different HTTP stacks depending on the port. We use a different one than any other ports. And does that mean all the I/O of each tab (webkit renderer) will be sent to 'browser' for I/O, and there is 1 I/O thread in the browser to handle the I/O requests from ALL tab? Correct. That you. But if all I/O of the tab will be sent to and queued up in 1 I/O thread in 'browser', will that become the bottleneck (as supposed to each tab has its own i/o thread and each can load thing independently)? The rule is that the work done on the io thread needs to be very very quick. So far, we've been reasonably successful at that. We use automated tests to search for regressions. But these are just theories. Run it in the profiler, and see for yourself if it works well :-) Thank you for your clarification. If i understanding correctly, I/O thread needs to http request network resources (e.g. image files, js files, css files). And how fast that http request is done is dependent on how far the other end sending the file back, right? So it is not up to chromium find each i/o request very very quick. Am i right? And does browser I/O thread gives priority to I/O from the current active tab (the only tab which is in the foreground)? If it ever profiles as a bottleneck, then we should definitely add priorities. Right now, we don't do much. Background tabs do take background priorities, which indirectly helps. Mike Brett --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Question about chromium architecture
On Tue, Jun 2, 2009 at 5:00 PM, Brett Wilson bre...@chromium.org wrote: On Tue, Jun 2, 2009 at 4:57 PM, Meryl Silverburgh silverburgh.me...@gmail.com wrote: I am reading this document http://dev.chromium.org/developers/how-tos/getting-around-the-chrome-source-code; about chromium source code: It said: renderer: Code for the subprocess in each tab. This embeds WebKit and talks to browser for I/O. Does that mean chromium do not use the HTTP stack/library that Webkit is using? WebKit uses different HTTP stacks depending on the port. We use a different one than any other ports. And does that mean all the I/O of each tab (webkit renderer) will be sent to 'browser' for I/O, and there is 1 I/O thread in the browser to handle the I/O requests from ALL tab? Correct. That you. But if all I/O of the tab will be sent to and queued up in 1 I/O thread in 'browser', will that become the bottleneck (as supposed to each tab has its own i/o thread and each can load thing independently)? And does browser I/O thread gives priority to I/O from the current active tab (the only tab which is in the foreground)? Brett --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Question about chromium architecture
I am reading this document http://dev.chromium.org/developers/how-tos/getting-around-the-chrome-source-code; about chromium source code: It said: renderer: Code for the subprocess in each tab. This embeds WebKit and talks to browser for I/O. Does that mean chromium do not use the HTTP stack/library that Webkit is using? And does that mean all the I/O of each tab (webkit renderer) will be sent to 'browser' for I/O, and there is 1 I/O thread in the browser to handle the I/O requests from ALL tab? Thank you. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---