Wednesday, May 22, 2013

Understading Chromium Content shell

Let's see seq. diagrams.

1. launching process

edit : http://www.diagrammr.com/edit?key=d6tP4hX5mnk

2. load url


edit : http://www.diagrammr.com/edit?key=dEgiHPcOC4C

back trace : "MessageLoop" NotifyRendererUnresponsive() via timer impl* "RenderViewHostImpl"
content::RenderViewHostImpl::SetNavigationsSuspended() at render_view_host_impl.cc:363 0x5d0b32 
content::RenderViewHostManager::ShouldCloseTabOnUnresponsiveRenderer() at render_view_host_manager.cc:201 0x89d200 
content::WebContentsImpl::RendererUnresponsive() at web_contents_impl.cc:3,278 0x665b18 
content::RenderViewHostImpl::NotifyRendererUnresponsive() at render_view_host_impl.cc:1,598 0x5d7ca8 
content::RenderWidgetHostImpl::CheckRendererIsUnresponsive() at render_widget_host_impl.cc:1,562 0x5f88e5 
base::internal::RunnableAdapter{void () at bind_internal.h:134 0x609d8b 
base::internal::InvokeHelper{false, void, base::internal::RunnableAdapter{void () at bind_internal.h:871 0x609307 
base::internal::Invoker{1, base::internal::BindState{base::internal::RunnableAdapter{void () at bind_internal.h:1,173 0x607dbb 
base::Callback{void () at callback.h:396 0x44831e 
base::Timer::RunScheduledTask() at timer.cc:181 0x9dcc4b 
base::BaseTimerTaskInternal::Run() at timer.cc:46 0x9dcd35 
base::internal::RunnableAdapter{void () at bind_internal.h:134 0x9dd093 
base::internal::InvokeHelper{false, void, base::internal::RunnableAdapter{void () at bind_internal.h:871 0x9dd00b 
base::internal::Invoker{1, base::internal::BindState{base::internal::RunnableAdapter{void () at bind_internal.h:1,173 0x9dcfb7 
base::Callback{void () at callback.h:396 0x44831e 
base::MessageLoop::RunTask() at message_loop.cc:484 0x9716bf 
base::MessageLoop::DeferOrRunPendingTask() at message_loop.cc:496 0x9717ee 
base::MessageLoop::DoDelayedWork() at message_loop.cc:726 0x97231b 
base::MessagePumpGlib::RunWithDispatcher() at message_pump_glib.cc:208 0x9f6bfe 
base::MessagePumpGlib::Run() at message_pump_glib.cc:296 0x9f7086 
base::MessageLoop::RunInternal() at message_loop.cc:441 0x97125a 
base::MessageLoop::RunHandler() at message_loop.cc:414 0x971104 
base::RunLoop::Run() at run_loop.cc:45 0x9a1ac8 
content::BrowserMainLoop::MainMessageLoopRun() at browser_main_loop.cc:871 0x6b9be3 
content::BrowserMainLoop::RunMainMessageLoopParts() at browser_main_loop.cc:558 0x6b8d5e 
content::BrowserMainRunnerImpl::Run() at browser_main_runner.cc:125 0x4e2b40 
ShellBrowserMain() at shell_browser_main.cc:180 0x444fff 
content::ShellMainDelegate::RunProcess() at shell_main_delegate.cc:144 0x42aa88 
content::RunNamedProcessTypeMain() at content_main_runner.cc:421 0xe0ba50 
content::ContentMainRunnerImpl::Run() at content_main_runner.cc:756 0xe0cb73 
content::ContentMain() at content_main.cc:35 0xe0ae57 
main() at shell_main.cc:36 0x42a43d 


No comments:

Post a Comment