summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/extensions/extension_process_bindings.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer/extensions/extension_process_bindings.cc')
-rw-r--r--chrome/renderer/extensions/extension_process_bindings.cc13
1 files changed, 3 insertions, 10 deletions
diff --git a/chrome/renderer/extensions/extension_process_bindings.cc b/chrome/renderer/extensions/extension_process_bindings.cc
index fcf9710..1c1ac79 100644
--- a/chrome/renderer/extensions/extension_process_bindings.cc
+++ b/chrome/renderer/extensions/extension_process_bindings.cc
@@ -70,16 +70,9 @@ class ExtensionImpl : public v8::Extension {
static v8::Handle<v8::Value> StartRequest(const v8::Arguments& args) {
WebFrame* webframe = WebFrame::RetrieveActiveFrame();
- DCHECK(webframe) << "There should be an active frame since we just got "
- "a native function called.";
- if (!webframe) return v8::Undefined();
-
- WebView* webview = webframe->GetView();
- if (!webview) return v8::Undefined(); // can happen during closing
-
- RenderView* renderview = static_cast<RenderView*>(webview->GetDelegate());
- DCHECK(renderview) << "Encountered a WebView without a WebViewDelegate";
- if (!renderview) return v8::Undefined();
+ RenderView* renderview = GetActiveRenderView();
+ if (!webframe || !renderview)
+ return v8::Undefined();
if (args.Length() != 2 || !args[0]->IsString() || !args[1]->IsInt32())
return v8::Undefined();