[PE] Speculative fix for crash called from PageOverlay::Update

Don't know why the parent GraphicsLayer is null on Mac only.
The crash spiked since M67, but on M66 the non-SlimmingPaintV175 path
also crashed for the same reason.

Bug: 848442
Change-Id: I34ed17f8aaa193128f295b1cb6139a51164365e8
Reviewed-on: https://chromium-review.googlesource.com/1104697
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568061}
diff --git a/third_party/blink/renderer/core/page/page_overlay.cc b/third_party/blink/renderer/core/page/page_overlay.cc
index deff626..a29b3df 100644
--- a/third_party/blink/renderer/core/page/page_overlay.cc
+++ b/third_party/blink/renderer/core/page/page_overlay.cc
@@ -72,21 +72,22 @@
     return;
 
   if (!layer_) {
+    GraphicsLayer* parent_layer =
+        frame->IsMainFrame()
+            ? frame->GetPage()->GetVisualViewport().ContainerLayer()
+            : frame_impl_->LocalRootFrameWidget()->RootGraphicsLayer();
+    if (!parent_layer)
+      return;
+
     layer_ = GraphicsLayer::Create(*this);
     layer_->SetDrawsContent(true);
+    parent_layer->AddChild(layer_.get());
 
     // This is required for contents of overlay to stay in sync with the page
     // while scrolling.
     cc::Layer* cc_layer = layer_->CcLayer();
     cc_layer->AddMainThreadScrollingReasons(
         MainThreadScrollingReason::kPageOverlay);
-    if (frame->IsMainFrame()) {
-      frame->GetPage()->GetVisualViewport().ContainerLayer()->AddChild(
-          layer_.get());
-    } else {
-      frame_impl_->LocalRootFrameWidget()->RootGraphicsLayer()->AddChild(
-          layer_.get());
-    }
 
     if (RuntimeEnabledFeatures::SlimmingPaintV175Enabled()) {
       layer_->SetLayerState(PropertyTreeState(PropertyTreeState::Root()),