Check that platform_delegate_ is non-NULL

This commit is contained in:
Marshall Greenblatt 2016-08-15 12:30:17 +03:00
parent 7c94121cbb
commit dad7c0a6af

View File

@ -596,7 +596,7 @@ void CefBrowserHostImpl::SetFocus(bool focus) {
if (focus)
OnSetFocus(FOCUS_SOURCE_SYSTEM);
else
else if (platform_delegate_)
platform_delegate_->SendFocusEvent(false);
}
@ -939,7 +939,7 @@ void CefBrowserHostImpl::WasResized() {
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->WasResized();
@ -957,7 +957,7 @@ void CefBrowserHostImpl::WasHidden(bool hidden) {
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->WasHidden(hidden);
@ -975,7 +975,7 @@ void CefBrowserHostImpl::NotifyScreenInfoChanged() {
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->NotifyScreenInfoChanged();
@ -993,7 +993,7 @@ void CefBrowserHostImpl::Invalidate(PaintElementType type) {
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->Invalidate(type);
@ -1006,7 +1006,7 @@ void CefBrowserHostImpl::SendKeyEvent(const CefKeyEvent& event) {
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
content::NativeWebKeyboardEvent web_event;
@ -1023,7 +1023,7 @@ void CefBrowserHostImpl::SendMouseClickEvent(const CefMouseEvent& event,
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
blink::WebMouseEvent web_event;
@ -1041,7 +1041,7 @@ void CefBrowserHostImpl::SendMouseMoveEvent(const CefMouseEvent& event,
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
blink::WebMouseEvent web_event;
@ -1058,7 +1058,7 @@ void CefBrowserHostImpl::SendMouseWheelEvent(const CefMouseEvent& event,
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
blink::WebMouseWheelEvent web_event;
@ -1077,7 +1077,7 @@ void CefBrowserHostImpl::SendCaptureLostEvent() {
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->SendCaptureLostEvent();
@ -1091,7 +1091,7 @@ void CefBrowserHostImpl::NotifyMoveOrResizeStarted() {
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->NotifyMoveOrResizeStarted();
@ -1117,7 +1117,9 @@ void CefBrowserHostImpl::SetWindowlessFrameRate(int frame_rate) {
}
settings_.windowless_frame_rate = frame_rate;
platform_delegate_->SetWindowlessFrameRate(frame_rate);
if (platform_delegate_)
platform_delegate_->SetWindowlessFrameRate(frame_rate);
}
// CefBrowser methods.
@ -1420,12 +1422,14 @@ void CefBrowserHostImpl::DestroyBrowser() {
#if defined(USE_AURA)
views::Widget* CefBrowserHostImpl::GetWindowWidget() const {
CEF_REQUIRE_UIT();
if (!platform_delegate_)
return nullptr;
return platform_delegate_->GetWindowWidget();
}
CefRefPtr<CefBrowserView> CefBrowserHostImpl::GetBrowserView() const {
CEF_REQUIRE_UIT();
if (IsViewsHosted())
if (IsViewsHosted() && platform_delegate_)
return platform_delegate_->GetBrowserView();
return nullptr;
}
@ -1664,7 +1668,8 @@ void CefBrowserHostImpl::ViewText(const std::string& text) {
return;
}
platform_delegate_->ViewText(text);
if (platform_delegate_)
platform_delegate_->ViewText(text);
}
void CefBrowserHostImpl::HandleExternalProtocol(const GURL& url) {
@ -1677,7 +1682,7 @@ void CefBrowserHostImpl::HandleExternalProtocol(const GURL& url) {
handler->OnProtocolExecution(this, url.spec(), allow_os_execution);
}
if (allow_os_execution)
if (allow_os_execution && platform_delegate_)
platform_delegate_->HandleExternalProtocol(url);
} else {
CEF_POST_TASK(CEF_UIT,
@ -1707,7 +1712,8 @@ void CefBrowserHostImpl::OnSetFocus(cef_focus_source_t source) {
}
}
platform_delegate_->SendFocusEvent(true);
if (platform_delegate_)
platform_delegate_->SendFocusEvent(true);
} else {
CEF_POST_TASK(CEF_UIT,
base::Bind(&CefBrowserHostImpl::OnSetFocus, this, source));
@ -1779,7 +1785,7 @@ CefTextInputContext CefBrowserHostImpl::GetNSTextInputContext() {
return nullptr;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return nullptr;
return platform_delegate_->GetNSTextInputContext();
@ -1801,7 +1807,7 @@ void CefBrowserHostImpl::HandleKeyEventBeforeTextInputClient(
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->HandleKeyEventBeforeTextInputClient(keyEvent);
@ -1821,7 +1827,7 @@ void CefBrowserHostImpl::HandleKeyEventAfterTextInputClient(
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
return platform_delegate_->HandleKeyEventAfterTextInputClient(keyEvent);
@ -1848,7 +1854,7 @@ void CefBrowserHostImpl::DragTargetDragEnter(CefRefPtr<CefDragData> drag_data,
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->DragTargetDragEnter(drag_data, event, allowed_ops);
@ -1868,7 +1874,7 @@ void CefBrowserHostImpl::DragTargetDragOver(const CefMouseEvent& event,
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->DragTargetDragOver(event, allowed_ops);
@ -1886,7 +1892,7 @@ void CefBrowserHostImpl::DragTargetDragLeave() {
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->DragTargetDragLeave();
@ -1904,7 +1910,7 @@ void CefBrowserHostImpl::DragTargetDrop(const CefMouseEvent& event) {
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->DragTargetDrop(event);
@ -1922,6 +1928,9 @@ void CefBrowserHostImpl::DragSourceSystemDragEnded() {
return;
}
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->DragSourceSystemDragEnded();
}
@ -1938,7 +1947,7 @@ void CefBrowserHostImpl::DragSourceEndedAt(
return;
}
if (!web_contents())
if (!web_contents() || !platform_delegate_)
return;
platform_delegate_->DragSourceEndedAt(x, y, op);
@ -2108,6 +2117,9 @@ bool CefBrowserHostImpl::PreHandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event,
bool* is_keyboard_shortcut) {
if (!platform_delegate_)
return false;
if (client_.get()) {
CefRefPtr<CefKeyboardHandler> handler = client_->GetKeyboardHandler();
if (handler.get()) {
@ -2133,6 +2145,9 @@ void CefBrowserHostImpl::HandleKeyboardEvent(
if (event.skip_in_browser)
return;
if (!platform_delegate_)
return;
if (client_.get()) {
CefRefPtr<CefKeyboardHandler> handler = client_->GetKeyboardHandler();
if (handler.get()) {
@ -2234,7 +2249,7 @@ void CefBrowserHostImpl::DidNavigateMainFramePostCommit(
content::JavaScriptDialogManager*
CefBrowserHostImpl::GetJavaScriptDialogManager(
content::WebContents* source) {
if (!javascript_dialog_manager_.get()) {
if (!javascript_dialog_manager_.get() && platform_delegate_) {
javascript_dialog_manager_.reset(
new CefJavaScriptDialogManager(this,
platform_delegate_->CreateJavaScriptDialogRunner()));
@ -2253,7 +2268,7 @@ bool CefBrowserHostImpl::HandleContextMenu(
content::WebContents* web_contents,
const content::ContextMenuParams& params) {
CEF_REQUIRE_UIT();
if (!menu_manager_.get()) {
if (!menu_manager_.get() && platform_delegate_) {
menu_manager_.reset(
new CefMenuManager(this,
platform_delegate_->CreateMenuRunner()));
@ -2265,7 +2280,8 @@ void CefBrowserHostImpl::UpdatePreferredSize(content::WebContents* source,
const gfx::Size& pref_size) {
#if defined(OS_WIN) || (defined(OS_POSIX) && !defined(OS_MACOSX))
CEF_REQUIRE_UIT();
platform_delegate_->SizeTo(pref_size.width(), pref_size.height());
if (platform_delegate_)
platform_delegate_->SizeTo(pref_size.width(), pref_size.height());
#endif
}
@ -2931,7 +2947,7 @@ void CefBrowserHostImpl::SetFocusedFrame(int64 frame_id) {
gfx::Point CefBrowserHostImpl::GetScreenPoint(const gfx::Point& view) const {
CEF_REQUIRE_UIT();
if (platform_delegate_.get())
if (platform_delegate_)
return platform_delegate_->GetScreenPoint(view);
return gfx::Point();
}
@ -3017,7 +3033,7 @@ void CefBrowserHostImpl::OnDevToolsWebContentsDestroyed() {
void CefBrowserHostImpl::EnsureFileDialogManager() {
CEF_REQUIRE_UIT();
if (!file_dialog_manager_.get()) {
if (!file_dialog_manager_.get() && platform_delegate_) {
file_dialog_manager_.reset(
new CefFileDialogManager(this,
platform_delegate_->CreateFileDialogRunner()));