New issue
Advanced search Search tips

Issue 663384 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

TextInputClientObserver cannot be used on a RenderWidgetFullscreenPepper

Project Member Reported by ekaramad@chromium.org, Nov 8 2016

Issue description

TextInputClientMac sends IPCs to RenderWidget to be further handled by TextInputClientMac. The assumption is that the RenderWidget always has a WebFrameWidget which is not true for RWFSPepper.

We should make sure that the relevant IPCs are handled by the embedder.
 
A first CL to stop sending the IPCs to the PepperWidget has already landed. We now need to make sure if there are any relevant IPCs there (possibly for IME), they are sent to the 'embedder' of the flash.

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aeb3c5c70a6ab7472e802d424c9c4a628e819283

commit aeb3c5c70a6ab7472e802d424c9c4a628e819283
Author: ekaramad <ekaramad@chromium.org>
Date: Wed Nov 09 03:22:35 2016

TextInputClientObsever should skip commands from fullscreen RenderWidgetHosts
corresponding to plugins.

TextInputClientObserver assumes that the RenderWidget::GetWebWidget() always
returns a WebFrameWidget.

This is not true when the RenderWidget is a RenderWidgetFullScreen. Therefore,
pressing Ctrl+Command+D
on a fullscreen flash will lead to a DCHECK firing in dev builds as well as
crashes in current Canary.

This CL will avoid sending any IPCs from TextInputClientMac to the fullscreen
RenderWidget.

BUG=656525, 663384

Review-Url: https://codereview.chromium.org/2422973003
Cr-Commit-Position: refs/heads/master@{#430842}

[modify] https://crrev.com/aeb3c5c70a6ab7472e802d424c9c4a628e819283/content/browser/renderer_host/render_widget_host_delegate.cc
[modify] https://crrev.com/aeb3c5c70a6ab7472e802d424c9c4a628e819283/content/browser/renderer_host/render_widget_host_delegate.h
[modify] https://crrev.com/aeb3c5c70a6ab7472e802d424c9c4a628e819283/content/browser/renderer_host/text_input_client_mac.mm
[modify] https://crrev.com/aeb3c5c70a6ab7472e802d424c9c4a628e819283/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/aeb3c5c70a6ab7472e802d424c9c4a628e819283/content/browser/web_contents/web_contents_impl.h
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 16 2016

Labels: merge-merged-2883
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ab63a3edc8809a5583ff9bce2ff8b285a36e2340

commit ab63a3edc8809a5583ff9bce2ff8b285a36e2340
Author: ekaramad <ekaramad@chromium.org>
Date: Wed Nov 16 21:40:33 2016

Fix TextInputClientMac related crashes of Fullscreen RenderWidget.

TextInputClientObsever should skip commands from fullscreen RenderWidgetHosts corresponding to plugins.

TextInputClientObserver assumes that the RenderWidget::GetWebWidget() always
returns a WebFrameWidget.

This is not true when the RenderWidget is a RenderWidgetFullScreen. Therefore,
pressing Ctrl+Command+D
on a fullscreen flash will lead to a DCHECK firing in dev builds as well as
crashes in current Canary.

This CL will avoid sending any IPCs from TextInputClientMac to the fullscreen
RenderWidget.

BUG=656525, 663384
NOTRY=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2422973003
Cr-Commit-Position: refs/heads/master@{#430842}
(cherry picked from commit aeb3c5c70a6ab7472e802d424c9c4a628e819283)

Review-Url: https://codereview.chromium.org/2510573002
Cr-Commit-Position: refs/branch-heads/2883@{#593}
Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768}

[modify] https://crrev.com/ab63a3edc8809a5583ff9bce2ff8b285a36e2340/content/browser/renderer_host/render_widget_host_delegate.cc
[modify] https://crrev.com/ab63a3edc8809a5583ff9bce2ff8b285a36e2340/content/browser/renderer_host/render_widget_host_delegate.h
[modify] https://crrev.com/ab63a3edc8809a5583ff9bce2ff8b285a36e2340/content/browser/renderer_host/text_input_client_mac.mm
[modify] https://crrev.com/ab63a3edc8809a5583ff9bce2ff8b285a36e2340/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/ab63a3edc8809a5583ff9bce2ff8b285a36e2340/content/browser/web_contents/web_contents_impl.h

Sign in to add a comment