Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Issue 704913002: PPAPI: Make GetProxiedInterface not re-enter the plugin (Closed)

Created:
6 years, 1 month ago by dmichael (off chromium)
Modified:
6 years, 1 month ago
Reviewers:
Tom Sepez, teravest, piman
CC:
chromium-reviews, piman
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

PPAPI: Make GetProxiedInterface not re-enter the plugin It's important that we never re-enter the plugin when it is blocked on synchronous calls to the renderer (unless they are scripting messages, which have to be re-entrant). This especially breaks assumptions in OpenGL usage. This required making the plugin side of the PPB_VideoDecoder_Dev lazier about looking up the interface, so that it wouldn't request the interface while the plugin is blocked on the Create message. I audited all the other uses of GetProxiedInterface from the renderer, and none of the others happen as a result of a sync plugin->renderer message. BUG=418651 Committed: https://crrev.com/a17de8faa97ca33d1e58e08392dbdc3e316d6cbe Cr-Commit-Position: refs/heads/master@{#303247} Committed: https://crrev.com/edf95fc829884968fa65b88220c5058fb072bb8c Cr-Commit-Position: refs/heads/master@{#303552}

Patch Set 1 #

Patch Set 2 : Make SimulateInputEvent test message asynchronous. #

Total comments: 1

Patch Set 3 : Register message handler properly #

Patch Set 4 : Do it piman's way; it's simpler #

Patch Set 5 : Oops, make SimulateInputEvent async again #

Unified diffs Side-by-side diffs Delta from patch set Stats (+34 lines, -26 lines) Patch
M content/renderer/pepper/ppb_video_decoder_impl.h View 1 2 3 1 chunk +8 lines, -1 line 0 comments Download
M content/renderer/pepper/ppb_video_decoder_impl.cc View 1 2 3 3 chunks +23 lines, -19 lines 0 comments Download
M ppapi/proxy/host_dispatcher.cc View 1 2 3 1 chunk +0 lines, -3 lines 0 comments Download
M ppapi/proxy/ppapi_messages.h View 1 2 3 4 1 chunk +3 lines, -3 lines 0 comments Download

Messages

Total messages: 29 (7 generated)
dmichael (off chromium)
teravest: Everything tsepez: ppapi_messages.h (CCed piman as an FYI)
6 years, 1 month ago (2014-11-05 23:40:23 UTC) #3
Tom Sepez
Messages LGTM.
6 years, 1 month ago (2014-11-05 23:53:13 UTC) #4
teravest
Any idea what's up with the InputEvent test failures? On Wed, Nov 5, 2014 at ...
6 years, 1 month ago (2014-11-06 00:37:59 UTC) #5
dmichael (off chromium)
Shoot, I didn't read that one carefully assuming we queried when WebKit gives us an ...
6 years, 1 month ago (2014-11-06 01:21:37 UTC) #6
dmichael (off chromium)
OK, it looks like I was right about the InputEvents stuff being safe. The test ...
6 years, 1 month ago (2014-11-06 23:33:08 UTC) #7
piman
https://codereview.chromium.org/704913002/diff/20001/ppapi/proxy/ppb_video_decoder_proxy.cc File ppapi/proxy/ppb_video_decoder_proxy.cc (right): https://codereview.chromium.org/704913002/diff/20001/ppapi/proxy/ppb_video_decoder_proxy.cc#newcode205 ppapi/proxy/ppb_video_decoder_proxy.cc:205: dispatcher->Send(new PpapiHostMsg_PluginSupportsInterface(if_name)); This works, but mostly my thinking was ...
6 years, 1 month ago (2014-11-06 23:52:38 UTC) #9
dmichael (off chromium)
On 2014/11/06 23:52:38, piman (Very slow to review) wrote: > https://codereview.chromium.org/704913002/diff/20001/ppapi/proxy/ppb_video_decoder_proxy.cc > File ppapi/proxy/ppb_video_decoder_proxy.cc (right): ...
6 years, 1 month ago (2014-11-06 23:57:52 UTC) #10
dmichael (off chromium)
On 2014/11/06 23:57:52, dmichael wrote: > On 2014/11/06 23:52:38, piman (Very slow to review) wrote: ...
6 years, 1 month ago (2014-11-06 23:58:46 UTC) #11
teravest
lgtm
6 years, 1 month ago (2014-11-07 16:03:31 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/704913002/20001
6 years, 1 month ago (2014-11-07 16:30:29 UTC) #14
commit-bot: I haz the power
Committed patchset #2 (id:20001)
6 years, 1 month ago (2014-11-07 17:18:06 UTC) #15
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/a17de8faa97ca33d1e58e08392dbdc3e316d6cbe Cr-Commit-Position: refs/heads/master@{#303247}
6 years, 1 month ago (2014-11-07 17:19:32 UTC) #16
piman
On Thu, Nov 6, 2014 at 3:57 PM, <dmichael@chromium.org> wrote: > On 2014/11/06 23:52:38, piman ...
6 years, 1 month ago (2014-11-07 18:59:09 UTC) #17
kareng
A revert of this CL (patchset #2 id:20001) has been created in https://codereview.chromium.org/714483002/ by kareng@google.com. ...
6 years, 1 month ago (2014-11-08 16:34:09 UTC) #18
teravest
patch set 4 lgtm
6 years, 1 month ago (2014-11-10 22:21:52 UTC) #19
dmichael (off chromium)
The original patch got reverted because I forgot to add the IPC dispatching macro. I ...
6 years, 1 month ago (2014-11-10 22:23:57 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/704913002/60001
6 years, 1 month ago (2014-11-10 22:25:37 UTC) #22
piman
LGTM, thanks!
6 years, 1 month ago (2014-11-10 23:13:58 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/4430)
6 years, 1 month ago (2014-11-10 23:53:54 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/704913002/80001
6 years, 1 month ago (2014-11-10 23:59:14 UTC) #27
commit-bot: I haz the power
Committed patchset #5 (id:80001)
6 years, 1 month ago (2014-11-11 00:55:55 UTC) #28
commit-bot: I haz the power
6 years, 1 month ago (2014-11-11 00:56:37 UTC) #29
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/edf95fc829884968fa65b88220c5058fb072bb8c
Cr-Commit-Position: refs/heads/master@{#303552}

Powered by Google App Engine
This is Rietveld 408576698