Comment #1 on issue 9060 by craig.schlenter: Should ResourceMessageFilter::OnGet(Root)WindowRect be sent null windows or not? http://code.google.com/p/chromium/issues/detail?id=9060
[cut and pasted from email to chromium-dev ... apologies for poor formatting] Here's a backtrace from the renderer with host_window_ == NULL obtained from clicking on a link in an email in gmail: (gdb) bt #0 RenderWidget::GetRootWindowRect (this=0x9330530, webwidget=0x932ffc0, rect=0xb77b4508) at renderer/render_widget.cc:602 #1 0x011808f1 in ChromeClientImpl::windowRect (this=0x90b76b8) at /home/craig/chromium.git/src/webkit/glue/chrome_client_impl.cc:100 #2 0x07692c3c in WebCore::Chrome::windowRect (this=0x9338000) at /home/craig/chromium.git/src/third_party/WebKit/WebCore/page/Chrome.cpp:119 #3 0x07a435e7 in WebCore::FrameLoader::createWindow (this=0x8b3715c, frameLoaderForFrameLookup=0x8a6caac, reque...@0xb77b47b4, featur...@0xb77b4b54, creat...@0xb77b4abb) at /home/craig/chromium.git/src/third_party/WebKit/WebCore/loader/FrameLoader.cpp:380 #4 0x0444ec13 in createWindow (openerFrame=0x8a6ca80, u...@0xb77b4bcc, framena...@0xb77b4bc8, windowfeatur...@0xb77b4b54, dialogArgs= {<v8::Handle<v8::Value>> = {val_ = 0x0}, <No data fields>}) at /home/craig/chromium.git/src/third_party/WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp:270 #5 0x0444fee0 in WebCore::V8Custom::v8DOMWindowOpenCallback (ar...@0xb77b4ce4) at /home/craig/chromium.git/src/third_party/WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp:492 #6 0x0806e20d in Builtin_HandleApiCall (__argc__=4, __argv__=0xb77b4da0) at /home/craig/chromium.git/src/v8/src/builtins.cc:380 After poking at some code and inserting the odd printf, it seems as if RenderView::CreateWebView is calling RenderView::Create and passing a _hardcoded_ NULL as the parent_hwnd which is then passed to RenderView::Init where host_window_ is set to parent_hwnd which is NULL. That NULL would seem to me to be wrong. If it's not wrong, the other initialisation path for host_window_ is RenderWidget::CompleteInit which is called from RenderWidget::OnCreatingNewAck. The CreatingNewAck message should be sent by RenderWidgetHost::Init() but I never see that being called when creating the error. Hopefully that's enough detail for someone who actually understands what these things do to propose a fix :) It looks trivial to squash sending the NULL to the browser in RenderWidget::GetRootWindowRect but that is probably not the right fix. -- 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 -~----------~----~----~----~------~----~------~--~---