[chromium-dev] Renderer Process and Browser Process

2009-06-10 Thread Meryl Silverburgh

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

2009-06-10 Thread Meryl Silverburgh

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

2009-06-10 Thread Meryl Silverburgh

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

2009-06-10 Thread Meryl Silverburgh

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

2009-06-09 Thread Meryl Silverburgh

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

2009-06-09 Thread Meryl Silverburgh

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

2009-06-04 Thread Meryl Silverburgh

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

2009-06-03 Thread Meryl Silverburgh

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

2009-06-02 Thread Meryl Silverburgh

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