From 4fe294ed047c47d2c83942662c03b0e877dd774e Mon Sep 17 00:00:00 2001 From: deepak1556 Date: Sat, 9 May 2015 17:47:40 +0530 Subject: [PATCH] check for renderviewhost availability before using --- atom/browser/api/atom_api_web_contents.cc | 22 ++++++++++++++-------- atom/browser/api/atom_api_web_contents.h | 6 +++--- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/atom/browser/api/atom_api_web_contents.cc b/atom/browser/api/atom_api_web_contents.cc index 2bd496ffce..02aa76fe6a 100644 --- a/atom/browser/api/atom_api_web_contents.cc +++ b/atom/browser/api/atom_api_web_contents.cc @@ -215,20 +215,26 @@ void WebContents::HandleKeyboardEvent( web_contents(), event); } -void WebContents::EnterFullscreenModeForTab(content::WebContents* web_contents, +void WebContents::EnterFullscreenModeForTab(content::WebContents* source, const GURL& origin) { - GetWindowFromGuest(web_contents)->SetFullScreen(true); - web_contents->GetRenderViewHost()->WasResized(); + auto window = GetWindowFromGuest(source); + if (window) { + window->SetFullScreen(true); + source->GetRenderViewHost()->WasResized(); + } } -void WebContents::ExitFullscreenModeForTab(content::WebContents* web_contents) { - GetWindowFromGuest(web_contents)->SetFullScreen(false); - web_contents->GetRenderViewHost()->WasResized(); +void WebContents::ExitFullscreenModeForTab(content::WebContents* source) { + auto window = GetWindowFromGuest(source); + if (window) { + window->SetFullScreen(false); + source->GetRenderViewHost()->WasResized(); + } } bool WebContents::IsFullscreenForTabOrPending( - const content::WebContents* web_contents) const { - auto window = GetWindowFromGuest(web_contents); + const content::WebContents* source) const { + auto window = GetWindowFromGuest(source); if (window) return window->IsFullscreen(); else diff --git a/atom/browser/api/atom_api_web_contents.h b/atom/browser/api/atom_api_web_contents.h index 5e9a93e3b5..e1979a6dc5 100644 --- a/atom/browser/api/atom_api_web_contents.h +++ b/atom/browser/api/atom_api_web_contents.h @@ -151,11 +151,11 @@ class WebContents : public mate::EventEmitter, void HandleKeyboardEvent( content::WebContents* source, const content::NativeWebKeyboardEvent& event) override; - void EnterFullscreenModeForTab(content::WebContents* web_contents, + void EnterFullscreenModeForTab(content::WebContents* source, const GURL& origin) override; - void ExitFullscreenModeForTab(content::WebContents* web_contents) override; + void ExitFullscreenModeForTab(content::WebContents* source) override; bool IsFullscreenForTabOrPending( - const content::WebContents* web_contents) const override; + const content::WebContents* source) const override; // content::WebContentsObserver: void RenderViewDeleted(content::RenderViewHost*) override;