Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 44068a1014b2084872e11b14f6a1968c6d008df7..66d101c6a4eb78bd74b3742be8e60a842c39e219 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -2410,13 +2410,18 @@ void RenderViewImpl::didBlur() { |
// created RenderView (i.e., as a blocked popup or as a new tab). |
// |
void RenderViewImpl::show(WebNavigationPolicy policy) { |
- DCHECK(!did_show_) << "received extraneous Show call"; |
- DCHECK(opener_id_ != MSG_ROUTING_NONE); |
- |
- if (did_show_) |
+ if (did_show_) { |
+#if defined(OS_ANDROID) |
joth
2012/10/25 17:27:18
maybe add a comment to explain the reasoning here.
mnaganov (inactive)
2012/10/26 10:05:42
Done.
|
+ if (!webkit_preferences_.supports_multiple_windows) |
+ return; |
+#endif |
+ NOTREACHED() << "received extraneous Show call"; |
return; |
+ } |
did_show_ = true; |
+ DCHECK(opener_id_ != MSG_ROUTING_NONE); |
+ |
if (GetContentClient()->renderer()->AllowPopup(creator_url_)) |
opened_by_user_gesture_ = true; |