Commit 4041779d authored by Navid Zolghadr's avatar Navid Zolghadr Committed by Commit Bot

Avoid sending WebPointerEvents to PepperWidget

Previously we had splitted WebTouchEvents into
bunch of WebPointerEvents and then sent it to
WebWidgets. Apparently PepperWidget is not capable
of handling it and it is causing some crashes.
For now disable that for PepperWidget only and
continue sending WebTouchEvent as is to PepperWidgets.

Bug: 806396
Change-Id: I3ff4e327bf1e275c763776998a8937e97d89dd7f
Reviewed-on: https://chromium-review.googlesource.com/890825Reviewed-by: default avatarRick Byers <rbyers@chromium.org>
Reviewed-by: default avatarDave Tapuska <dtapuska@chromium.org>
Reviewed-by: default avatarBill Budge <bbudge@chromium.org>
Reviewed-by: default avatarCharlie Reis <creis@chromium.org>
Commit-Queue: Navid Zolghadr <nzolghadr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534106}
parent 4d326c12
......@@ -381,7 +381,8 @@ void RenderWidgetInputHandler::HandleInputEvent(
suppress_next_char_events_ = false;
if (processed == WebInputEventResult::kNotHandled &&
widget_->GetWebWidget()) {
if (WebInputEvent::IsTouchEventType(input_event.GetType()))
if (!widget_->GetWebWidget()->IsPepperWidget() &&
WebInputEvent::IsTouchEventType(input_event.GetType()))
processed = HandleTouchEvent(coalesced_event);
else
processed = widget_->GetWebWidget()->HandleInputEvent(coalesced_event);
......
......@@ -138,6 +138,8 @@ class PepperWidget : public WebWidget {
WebSize Size() override { return size_; }
bool IsPepperWidget() const override { return true; }
void Resize(const WebSize& size) override {
if (!widget_->plugin() || size_ == size)
return;
......
......@@ -186,6 +186,9 @@ class WebWidget {
// Returns true if the WebWidget created is of type WebView.
virtual bool IsWebView() const { return false; }
// Returns true if the WebWidget created is of type PepperWidget.
virtual bool IsPepperWidget() const { return false; }
// Returns true if the WebWidget created is of type WebFrameWidget.
virtual bool IsWebFrameWidget() const { return false; }
......
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