diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-04 00:48:29 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-04 00:48:29 +0000 |
commit | d5ddf9a35100011523c9a83f5091fcb2160801b4 (patch) | |
tree | ec0f11eab71fc9baf4317323fa6df6bb84b58c03 /chrome/renderer/render_thread.cc | |
parent | 9206df4e5c1e8de6a4abe59623136e43e222daf2 (diff) | |
download | chromium_src-d5ddf9a35100011523c9a83f5091fcb2160801b4.zip chromium_src-d5ddf9a35100011523c9a83f5091fcb2160801b4.tar.gz chromium_src-d5ddf9a35100011523c9a83f5091fcb2160801b4.tar.bz2 |
Based on crash data, it seems that frameForCurrentContext can return null in
some cases.
Ultimately, I think we need to eliminate this function. It has proven itself
to be too unreliable. We should instead make sure that we always know the
Page/WebView corresponding to LocalStorage.setItem.
R=jam
BUG=36831
TEST=none
Review URL: http://codereview.chromium.org/667020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40581 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_thread.cc')
-rw-r--r-- | chrome/renderer/render_thread.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc index 2e85097..56b1348 100644 --- a/chrome/renderer/render_thread.cc +++ b/chrome/renderer/render_thread.cc @@ -275,10 +275,12 @@ RenderThread* RenderThread::current() { int32 RenderThread::RoutingIDForCurrentContext() { int32 routing_id = MSG_ROUTING_CONTROL; if (v8::Context::InContext()) { - RenderView* view = - RenderView::FromWebView(WebFrame::frameForCurrentContext()->view()); - if (view) - routing_id = view->routing_id(); + WebFrame* frame = WebFrame::frameForCurrentContext(); + if (frame) { + RenderView* view = RenderView::FromWebView(frame->view()); + if (view) + routing_id = view->routing_id(); + } } else { DLOG(WARNING) << "Not called within a script context!"; } |