Android Pixel Perfect Mode: fix multiple issues
Linux: crash on launch after update to v140.0.7339.128 (#2326) Desktops: automatically scrolls down when typing (#2321)
This commit is contained in:
@@ -83,7 +83,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../renderer/core/exported/web_view_impl.cc | 41 ++++++++++++----
|
||||
.../renderer/core/exported/web_view_impl.h | 5 ++
|
||||
.../renderer/core/frame/local_frame_view.cc | 5 +-
|
||||
.../renderer/core/frame/visual_viewport.cc | 34 ++++++++++++-
|
||||
.../renderer/core/frame/visual_viewport.cc | 39 ++++++++++++++-
|
||||
.../renderer/core/frame/visual_viewport.h | 7 ++-
|
||||
.../core/frame/web_frame_widget_impl.cc | 36 ++++++++++++--
|
||||
.../core/frame/web_frame_widget_impl.h | 1 +
|
||||
@@ -109,7 +109,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
ui/display/mojom/screen_info_mojom_traits.h | 4 ++
|
||||
ui/display/screen_info.h | 1 +
|
||||
ui/events/blink/blink_event_util.cc | 2 +-
|
||||
99 files changed, 528 insertions(+), 140 deletions(-)
|
||||
99 files changed, 533 insertions(+), 140 deletions(-)
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sPixelPerfect.java
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Pixel-perfect-mode.grdp
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Pixel-perfect-mode.inc
|
||||
@@ -1684,11 +1684,14 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.cc b/third_pa
|
||||
needs_paint_property_update_(true),
|
||||
overscroll_type_(ComputeOverscrollType()) {
|
||||
UniqueObjectId unique_id = NewUniqueObjectId();
|
||||
@@ -391,6 +393,30 @@ void VisualViewport::EnqueueResizeEvent() {
|
||||
@@ -391,6 +393,33 @@ void VisualViewport::EnqueueResizeEvent() {
|
||||
document->EnqueueVisualViewportResizeEvent();
|
||||
}
|
||||
|
||||
+void VisualViewport::SetSizeReal(const gfx::Size& size) {
|
||||
+ if (!RuntimeEnabledFeatures::PixelPerfectEnabled())
|
||||
+ return;
|
||||
+
|
||||
+ auto scale = ScaleFromDIP();
|
||||
+ auto size_dpi = gfx::Size(size.width() * scale, size.height() * scale);
|
||||
+ if (size_real_ == size_dpi)
|
||||
@@ -1715,17 +1718,19 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.cc b/third_pa
|
||||
void VisualViewport::SetSize(const gfx::Size& size) {
|
||||
if (size_ == size)
|
||||
return;
|
||||
@@ -446,7 +472,8 @@ gfx::RectF VisualViewport::VisibleRect(
|
||||
@@ -446,7 +475,10 @@ gfx::RectF VisualViewport::VisibleRect(
|
||||
if (scrollbar_inclusion == kExcludeScrollbars)
|
||||
visible_size = gfx::SizeF(ExcludeScrollbars(size_));
|
||||
|
||||
- visible_size.Enlarge(0, browser_controls_adjustment_);
|
||||
+ int value = browser_controls_adjustment_ / browser_controls_scale_ * ScaleFromDIP();
|
||||
+ int value = browser_controls_adjustment_;
|
||||
+ if (RuntimeEnabledFeatures::PixelPerfectEnabled())
|
||||
+ value = browser_controls_adjustment_ / browser_controls_scale_ * ScaleFromDIP();
|
||||
+ visible_size.Enlarge(0, value);
|
||||
visible_size.Scale(1 / scale_);
|
||||
|
||||
return gfx::RectF(ScrollPosition(), visible_size);
|
||||
@@ -879,10 +906,13 @@ gfx::Point VisualViewport::ClampDocumentOffsetAtScale(const gfx::Point& offset,
|
||||
@@ -879,10 +911,13 @@ gfx::Point VisualViewport::ClampDocumentOffsetAtScale(const gfx::Point& offset,
|
||||
return clamped;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user