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