A normal WebContents can have no owner window
authorCheng Zhao <zcbenz@gmail.com>
Tue, 17 May 2016 12:50:47 +0000 (21:50 +0900)
committerCheng Zhao <zcbenz@gmail.com>
Wed, 18 May 2016 04:57:48 +0000 (13:57 +0900)
atom/browser/api/atom_api_web_contents.cc

index e3d7c1f2bef2746bc055cd5b7eb45b62db645b90..6a254ab8b4e8bc125e43fd2b24f47e45ad462153 100644 (file)
@@ -379,7 +379,7 @@ void WebContents::MoveContents(content::WebContents* source,
 
 void WebContents::CloseContents(content::WebContents* source) {
   Emit("close");
-  if (type_ == BROWSER_WINDOW)
+  if (type_ == BROWSER_WINDOW && owner_window())
     owner_window()->CloseContents(source);
 }
 
@@ -430,13 +430,13 @@ void WebContents::ExitFullscreenModeForTab(content::WebContents* source) {
 
 void WebContents::RendererUnresponsive(content::WebContents* source) {
   Emit("unresponsive");
-  if (type_ == BROWSER_WINDOW)
+  if (type_ == BROWSER_WINDOW && owner_window())
     owner_window()->RendererUnresponsive(source);
 }
 
 void WebContents::RendererResponsive(content::WebContents* source) {
   Emit("responsive");
-  if (type_ == BROWSER_WINDOW)
+  if (type_ == BROWSER_WINDOW && owner_window())
     owner_window()->RendererResponsive(source);
 }