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

Reply via email to