summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/layout/ng/ng_absolute_utils.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/ng/ng_absolute_utils.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/layout/ng/ng_absolute_utils.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/ng/ng_absolute_utils.cc b/chromium/third_party/blink/renderer/core/layout/ng/ng_absolute_utils.cc
index fd2180c4c50..f8acd6fe3ed 100644
--- a/chromium/third_party/blink/renderer/core/layout/ng/ng_absolute_utils.cc
+++ b/chromium/third_party/blink/renderer/core/layout/ng/ng_absolute_utils.cc
@@ -369,15 +369,21 @@ base::Optional<LayoutUnit> ComputeAbsoluteDialogYPosition(
return base::nullopt;
}
- auto* scrollable_area = dialog.GetDocument().View()->LayoutViewport();
+ auto& document = dialog.GetDocument();
+ auto* scrollable_area = document.View()->LayoutViewport();
LayoutUnit top =
LayoutUnit((dialog.Style()->GetPosition() == EPosition::kFixed)
? 0
: scrollable_area->ScrollOffsetInt().Height());
- int visible_height = dialog.GetDocument().View()->Height();
+ if (top)
+ UseCounter::Count(document, WebFeature::kDialogWithNonZeroScrollOffset);
+
+ int visible_height = document.View()->Height();
if (height < visible_height)
top += (visible_height - height) / 2;
+ else if (height > visible_height)
+ UseCounter::Count(document, WebFeature::kDialogHeightLargerThanViewport);
dialog_node->SetCentered(top);
return top;
}