Comment #5 on issue 9830 by willc...@chromium.org: Backing store gets lost
http://code.google.com/p/chromium/issues/detail?id=9830

I plan on adding a DCHECK() when a message is sent to a non existent  
routing id.  I
hope it sticks, but I can imagine the views/hosts corresponding to the  
routing ids
disappearing for whatever reason.  Maybe a LOG(WARNING) instead.  I dunno.

Anyhow, I finished the rest of the debugging and am trying to figure out  
what to do.  WebContents::CreateRenderViewForRenderManager() first creates  
the
RenderWidgetHostView by calling view_->CreateViewForWidget().  Then it  
sends the
ViewMsg_New to the renderer process to tell it to create a RenderView.   
Then it calls
rwh_view->SetSize() to send a ViewMsg_Resize message to the RenderView in  
the
renderer process.  At least, this is how it happens in Windows.  The  
problem with our
gtk code, is that when the RenderWidgetHostViewGtk instance gets created,  
the
WebContentsViewGtk immediately packs it into the vbox, which causes gtk to  
send a
configure-event.  This event gets handled on another thread, which then  
sends out the
ViewMsg_Resize message before the browser thread finishes running its other  
code and
sending ViewMsg_New to the renderer.

I'm thinking now about how to make sure the gtk configure-event always  
happens after
the ViewMsg_New.  I was simply going to reorder the creation of the
CreateViewForWidget() and CreateRenderView() calls, but it looks like
CreateRenderView() needs the view created so it can call  
GetPluginNativeView() on it.
Maybe I can just rework the code and pack the widget into the vbox after the
RenderView is created.  Oh well, time to sleep.

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---

Reply via email to