fix CalculateViewportHeight return value

This commit is contained in:
Carmelo Messina
2022-07-26 19:46:17 +02:00
parent a8bcfc110b
commit ac267d9341
@@ -25,7 +25,7 @@ The feature is controlled by a site setting (default disabled)
.../renderer/content_settings_agent_impl.cc | 9 ++
.../renderer/content_settings_agent_impl.h | 1 +
.../platform/web_content_settings_client.h | 2 +
.../blink/renderer/core/css/media_values.cc | 22 ++++-
.../blink/renderer/core/css/media_values.cc | 24 +++++-
.../core/frame/dom_visual_viewport.cc | 4 +-
.../renderer/core/frame/local_dom_window.cc | 6 ++
.../renderer/core/frame/local_frame_view.cc | 3 +
@@ -35,7 +35,7 @@ The feature is controlled by a site setting (default disabled)
.../renderer/core/loader/frame_loader.cc | 15 +++-
third_party/blink/renderer/core/page/page.cc | 12 +++
third_party/blink/renderer/core/page/page.h | 5 ++
28 files changed, 260 insertions(+), 14 deletions(-)
28 files changed, 261 insertions(+), 15 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteViewportContentSetting.java
create mode 100644 components/browser_ui/strings/android/viewport.grdp
@@ -386,7 +386,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t
diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/blink/renderer/core/css/media_values.cc
--- a/third_party/blink/renderer/core/css/media_values.cc
+++ b/third_party/blink/renderer/core/css/media_values.cc
@@ -132,13 +132,23 @@ double MediaValues::CalculateViewportWidth(LocalFrame* frame) {
@@ -132,14 +132,24 @@ double MediaValues::CalculateViewportWidth(LocalFrame* frame) {
DCHECK(frame);
DCHECK(frame->View());
DCHECK(frame->GetDocument());
@@ -403,14 +403,16 @@ diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/b
DCHECK(frame);
DCHECK(frame->View());
DCHECK(frame->GetDocument());
- return frame->View()->ViewportSizeForMediaQueries().height();
+ float width_override = frame->GetPage()->PageWidthOverride();
+ double height = frame->View()->ViewportSizeForMediaQueries().height();
+ if (width_override) {
+ height = height * (1.0 - (width_override / 100.0));
+ }
return frame->View()->ViewportSizeForMediaQueries().height();
+ return height;
}
double MediaValues::CalculateSmallViewportWidth(LocalFrame* frame) {
@@ -193,6 +203,11 @@ int MediaValues::CalculateDeviceWidth(LocalFrame* frame) {
device_width = static_cast<int>(
lroundf(device_width * screen_info.device_scale_factor));