[Display Cutout] Do not create DisplayCutoutHostImpl
Do not create DisplayCutoutHostImpl automatically in WebContentsImpl
BUG=859241
Change-Id: I1dff20d653d1712f529f595c3fb9d0ce08eaceeb
Reviewed-on: https://chromium-review.googlesource.com/1129557
Reviewed-by: Bo <[email protected]>
Commit-Queue: Becca Hughes <[email protected]>
Cr-Commit-Position: refs/heads/master@{#573451}
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 3409617..c1a8e3e 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -679,7 +679,10 @@
host_zoom_map_observer_.reset(new HostZoomMapObserver(this));
#endif // !defined(OS_ANDROID)
- display_cutout_host_impl_ = std::make_unique<DisplayCutoutHostImpl>(this);
+#if defined(OS_ANDROID)
+ if (base::FeatureList::IsEnabled(features::kDisplayCutoutAPI))
+ display_cutout_host_impl_ = std::make_unique<DisplayCutoutHostImpl>(this);
+#endif
registry_.AddInterface(base::BindRepeating(
&WebContentsImpl::OnColorChooserFactoryRequest, base::Unretained(this)));
@@ -1392,7 +1395,8 @@
#if defined(OS_ANDROID)
void WebContentsImpl::SetDisplayCutoutSafeArea(gfx::Insets insets) {
- display_cutout_host_impl_->SetDisplayCutoutSafeArea(insets);
+ if (display_cutout_host_impl_)
+ display_cutout_host_impl_->SetDisplayCutoutSafeArea(insets);
}
#endif
@@ -4152,9 +4156,11 @@
SetNotWaitingForResponse();
// Reset the viewport fit
- display_cutout_host_impl_->ViewportFitChangedForFrame(
- navigation_handle->GetRenderFrameHost(),
- blink::mojom::ViewportFit::kAuto);
+ if (display_cutout_host_impl_) {
+ display_cutout_host_impl_->ViewportFitChangedForFrame(
+ navigation_handle->GetRenderFrameHost(),
+ blink::mojom::ViewportFit::kAuto);
+ }
}
void WebContentsImpl::DidFinishNavigation(NavigationHandle* navigation_handle) {