Don't receive SynchronizeVisualProperties IPC for an undead RenderWidget

These widgets are not in use, and VisualProperties will be sent when
they want to be revived by a new local main frame.

[email protected]

Bug: 419087
Change-Id: I4bcdd8a505c4e5c18a3d9e7b6c3b91f444774e2a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1850759
Commit-Queue: Avi Drissman <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Cr-Commit-Position: refs/heads/master@{#704745}
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index fac2de56..a6c1d3db 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -705,6 +705,12 @@
   TRACE_EVENT0("renderer",
                "RenderWidget::SynchronizeVisualPropertiesFromRenderView");
 
+  // TODO(crbug.com/995981): We shouldn't be sending VisualProperties to undead
+  // RenderWidgets already, but if we do we could crash if the RenderWidget
+  // hasn't been initialized yet. So this acts defensively until we destroy
+  // undead RenderWidgets.
+  DCHECK(!is_undead_);
+
   VisualProperties visual_properties = visual_properties_from_browser;
   // Web tests can override the device scale factor in the renderer.
   if (device_scale_factor_for_testing_) {