Description[Reland 1] Pepper takes ownership of a mailbox before passing it to the texture layer.
This CL makes three changes from the original.
1. Replace a call to std::remove_if() with vec.erase(std::remove_if(), ...).
This was a logic error in the original CL that caused a crash any time the size
of the buffer was changed. This CL also adds a test that catches this bug.
2. Add some simple reference counting to PepperPluginInstanceImpl to track the
fact that a cc::TextureMailbox may be passed to |texture_layer_| more than once.
3. The SyncToken signal is now processed in the context of its own message:
WaitSyncToken.
> I replaced the IPC message GpuCommandBufferMsg_ProduceFrontBuffer with
> GpuCommandBufferMsg_TakeFrontBuffer and GpuCommandBufferMsg_ReturnFrontBuffer.
> TakeFrontBuffer gives ownership of the front buffer to the client. When the
> client returns it with ReturnFrontBuffer, the command buffer may choose to reuse
> it.
>
> This means that pepper no longer needs to use
> SetTextureMailboxWithoutReleaseCallback.
BUG=350204, 602484
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel
TEST=Run Chromium with the Pepper Flash plugin. Visit a site that supports Flash
video, such as http://vudu.com. Start playing a video, and then fullscreen the
video. Observe that Chromium does not crash. Please extensively test Chromium on
Flash 3D games and Flash video and make sure nothing else is working
incorrectly.
TBR=ccameron@chromium.org, bbudge@chromium.org, sky@chromium.org
Committed: https://crrev.com/4734ed1b6740b772201b8accb3e2bd88cdea5c99
Cr-Commit-Position: refs/heads/master@{#391686}
Patch Set 1 : Copy of PS#19 from https://codereview.chromium.org/1912833002 #Patch Set 2 : Fix bugs. #Patch Set 3 : Add a test. #
Total comments: 2
Patch Set 4 : Fix use of sync token. #Patch Set 5 : Fix sync token, again. Rebase. #Patch Set 6 : Comments from piman. #
Total comments: 1
Patch Set 7 : Comment update. #
Total comments: 5
Patch Set 8 : Comments from sunnyps and piman. #Messages
Total messages: 47 (21 generated)
|