Commit 3afdf9f8 authored by Albert J. Wong's avatar Albert J. Wong Committed by Commit Bot

Check RWHI::delegate_ before deferencing.

The existing code null defers for RenderWidgetHosts that do not
have a delegate registered. This occurs at least in some setups
with file pickers and shared workers.

Bug: 899430
Change-Id: Idfd22c18b06cd968100cfab8d8c5c060f4e42bdb
Reviewed-on: https://chromium-review.googlesource.com/c/1321031Reviewed-by: default avatarNasko Oskov <nasko@chromium.org>
Commit-Queue: Albert J. Wong <ajwong@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605872}
parent 1c1ad369
...@@ -2394,7 +2394,7 @@ TouchEmulator* RenderWidgetHostImpl::GetExistingTouchEmulator() { ...@@ -2394,7 +2394,7 @@ TouchEmulator* RenderWidgetHostImpl::GetExistingTouchEmulator() {
void RenderWidgetHostImpl::OnTextInputStateChanged( void RenderWidgetHostImpl::OnTextInputStateChanged(
const TextInputState& params) { const TextInputState& params) {
if (delegate_->GetInputEventShim()) { if (delegate_ && delegate_->GetInputEventShim()) {
delegate_->GetInputEventShim()->DidTextInputStateChange(params); delegate_->GetInputEventShim()->DidTextInputStateChange(params);
return; return;
} }
...@@ -2443,7 +2443,7 @@ void RenderWidgetHostImpl::OnProcessSwapMessage(const IPC::Message& message) { ...@@ -2443,7 +2443,7 @@ void RenderWidgetHostImpl::OnProcessSwapMessage(const IPC::Message& message) {
void RenderWidgetHostImpl::OnLockMouse(bool user_gesture, void RenderWidgetHostImpl::OnLockMouse(bool user_gesture,
bool privileged) { bool privileged) {
if (delegate_->GetInputEventShim()) { if (delegate_ && delegate_->GetInputEventShim()) {
delegate_->GetInputEventShim()->DidLockMouse(user_gesture, privileged); delegate_->GetInputEventShim()->DidLockMouse(user_gesture, privileged);
return; return;
} }
...@@ -2474,7 +2474,7 @@ void RenderWidgetHostImpl::OnLockMouse(bool user_gesture, ...@@ -2474,7 +2474,7 @@ void RenderWidgetHostImpl::OnLockMouse(bool user_gesture,
} }
void RenderWidgetHostImpl::OnUnlockMouse() { void RenderWidgetHostImpl::OnUnlockMouse() {
if (delegate_->GetInputEventShim()) { if (delegate_ && delegate_->GetInputEventShim()) {
delegate_->GetInputEventShim()->DidUnlockMouse(); delegate_->GetInputEventShim()->DidUnlockMouse();
return; return;
} }
...@@ -2595,7 +2595,7 @@ void RenderWidgetHostImpl::DecrementInFlightEventCount( ...@@ -2595,7 +2595,7 @@ void RenderWidgetHostImpl::DecrementInFlightEventCount(
} }
void RenderWidgetHostImpl::OnHasTouchEventHandlers(bool has_handlers) { void RenderWidgetHostImpl::OnHasTouchEventHandlers(bool has_handlers) {
if (delegate_->GetInputEventShim()) { if (delegate_ && delegate_->GetInputEventShim()) {
delegate_->GetInputEventShim()->DidSetHasTouchEventHandlers(has_handlers); delegate_->GetInputEventShim()->DidSetHasTouchEventHandlers(has_handlers);
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment