New issue
Advanced search Search tips

Issue 796700 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 770833



Sign in to add a comment

OffscreenCanvasSurfaceImpl crashes with --enable-viz.

Project Member Reported by kylec...@chromium.org, Dec 20 2017

Issue description

With offscreen canvas it always sends a SurfaceSequence from renderer to browser. OffscreenCanvasSurfaceImpl::Require() and OffscreenCanvasSurfaceImpl::Satisfy() grab FrameSinkManagerImpl to check if the SurfaceSequence is needed.

This doesn't work with --enable-viz because FrameSinkManagerImpl doesn't exist. This needs to be fixed, preferably by not sending the SurfaceSequence IPC if it's not needed.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 21 2017

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

commit eb40abe1f4a65db4f18619ed0cdf423d89c17e9b
Author: kylechar <kylechar@chromium.org>
Date: Thu Dec 21 19:38:40 2017

viz: Add workaround for offscreen canvas crash.

Video using surfaces uses the offscreen canvas path. When running with
--enable-viz there is no FrameSinkManagerImpl, which triggers a
NOTREACHED(), and causes failures in viz_content_browsertests.

Add a temporary workaround to not hit the NOTREACHED(). This work around
should be removed before the M65 branch point and fixed correctly.

Bug:  796700 
Change-Id: Ieede30e9052671b6e45b3b474c8db855f4309de6
Reviewed-on: https://chromium-review.googlesource.com/837742
Reviewed-by: CJ DiMeglio <lethalantidote@chromium.org>
Reviewed-by: Olivia Lai <xlai@chromium.org>
Commit-Queue: CJ DiMeglio <lethalantidote@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525772}
[modify] https://crrev.com/eb40abe1f4a65db4f18619ed0cdf423d89c17e9b/content/browser/renderer_host/offscreen_canvas_surface_impl.cc

Status: Verified (was: Assigned)
Blocking: 770833
Labels: M-65
Status: Started (was: Verified)
I'll keep this open since it needs a proper fix.
I've turned on surface references for Android by default. This means the surface sequence code that I added the hack to can be deleted, at least if no problems crop up on canary over the next week or so.
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 22 2018

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

commit ee539faa0097eef30896260458f02039b979125b
Author: kylechar <kylechar@chromium.org>
Date: Mon Jan 22 17:00:55 2018

viz: Delete all surface sequence code.

All platforms have been converted to use surface references instead of
surface sequences. This CL removes the following code:

1. SurfaceSequence (plus ParamTraits and StructTraits)
2. SurfaceSequenceGenerator
3. SurfaceReferenceFactory (plus many subclasses).
4. Any flags or enums to choose surface references vs surface sequences.
5. Any SurfaceSequence specific IPC messages.

The mojom::OffscreenCanvasSurface interface is left in strange state
where it has no methods but closing the interface controls the offscreen
canvas lifetime. The interface can likely be refactored / removed in a
follow up CL.

Bug:  676384 ,  796700 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I5e01882c18770adbc4a43c570881011d5ed0c396
Reviewed-on: https://chromium-review.googlesource.com/862397
Commit-Queue: kylechar <kylechar@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530891}
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/cc/ipc/cc_param_traits_macros.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/cc/layers/surface_layer.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/cc/layers/surface_layer.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/cc/layers/surface_layer_unittest.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/cc/trees/layer_tree_host.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/chrome/browser/ui/overlay/overlay_surface_embedder.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/chrome/browser/ui/overlay/overlay_surface_embedder.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/exo/surface.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/common/BUILD.gn
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/common/surfaces/sequence_surface_reference_factory.cc
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/common/surfaces/sequence_surface_reference_factory.h
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/common/surfaces/stub_surface_reference_factory.cc
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/common/surfaces/stub_surface_reference_factory.h
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/common/surfaces/surface_reference_factory.h
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/common/surfaces/surface_reference_owner.h
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/common/surfaces/surface_sequence.h
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/common/surfaces/surface_sequence_generator.cc
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/common/surfaces/surface_sequence_generator.h
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/common/surfaces/surface_sequence_generator_unittest.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/common/switches.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/common/switches.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/host/host_frame_sink_manager.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/service/BUILD.gn
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/service/display/display_scheduler_unittest.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/service/frame_sinks/frame_sink_manager_impl.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/service/frame_sinks/frame_sink_manager_impl.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/service/main/viz_main_impl.cc
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/service/surfaces/direct_surface_reference_factory.cc
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/components/viz/service/surfaces/direct_surface_reference_factory.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/service/surfaces/surface.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/service/surfaces/surface.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/service/surfaces/surface_manager.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/service/surfaces/surface_manager.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/components/viz/service/surfaces/surface_unittest.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/browser_main_loop.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/browser_plugin/browser_plugin_guest.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/browser_plugin/browser_plugin_guest.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/frame_host/cross_process_frame_connector.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/frame_host/cross_process_frame_connector.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/frame_host/render_widget_host_view_guest.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/frame_host/render_widget_host_view_guest.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/delegated_frame_host.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/frame_connector_delegate.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/offscreen_canvas_surface_impl.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/offscreen_canvas_surface_impl.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/render_widget_host_view_child_frame_browsertest.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/common/browser_plugin/browser_plugin_messages.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/common/frame_messages.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/renderer/browser_plugin/browser_plugin.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/renderer/browser_plugin/browser_plugin.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/renderer/child_frame_compositing_helper.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/renderer/child_frame_compositing_helper.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/renderer/mus/mus_embedded_frame.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/renderer/mus/renderer_window_tree_client.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/renderer/render_frame_proxy.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/content/renderer/render_frame_proxy.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/services/viz/public/cpp/compositing/surface_sequence.typemap
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/services/viz/public/cpp/compositing/surface_sequence_struct_traits.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/services/viz/public/cpp/compositing/typemaps.gni
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/services/viz/public/interfaces/BUILD.gn
[delete] https://crrev.com/f4387d76f39285fd0741d53a0e1155a3e514661f/services/viz/public/interfaces/compositing/surface_sequence.mojom
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/third_party/WebKit/Source/platform/graphics/SurfaceLayerBridge.cpp
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/third_party/WebKit/Source/platform/graphics/SurfaceLayerBridge.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/third_party/WebKit/public/blink_typemaps.gni
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/third_party/WebKit/public/platform/modules/offscreencanvas/offscreen_canvas_surface.mojom
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/ui/android/delegated_frame_host_android.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/ui/android/delegated_frame_host_android.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/ui/aura/local/window_port_local.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/ui/aura/mus/client_surface_embedder.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/ui/aura/mus/client_surface_embedder.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/ui/compositor/compositor.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/ui/compositor/compositor.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/ui/compositor/layer.cc
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/ui/compositor/layer.h
[modify] https://crrev.com/ee539faa0097eef30896260458f02039b979125b/ui/compositor/layer_unittest.cc

Status: Fixed (was: Started)

Sign in to add a comment