v109
This commit is contained in:
@@ -31,8 +31,8 @@ The feature is controlled by a feature flag (default enabled)
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -7627,6 +7627,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
"PaintPreviewShowOnStartup")},
|
||||
@@ -7768,6 +7768,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(paint_preview::kPaintPreviewDemo)},
|
||||
#endif // BUILDFLAG(ENABLE_PAINT_PREVIEW) && BUILDFLAG(IS_ANDROID)
|
||||
|
||||
+ {"viewport-protection",
|
||||
@@ -46,8 +46,8 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -6847,6 +6847,12 @@ const char kPaintPreviewStartupDescription[] =
|
||||
"instead.";
|
||||
@@ -6654,6 +6654,12 @@ const char kPaintPreviewDemoDescription[] =
|
||||
"previews.";
|
||||
#endif // ENABLE_PAINT_PREVIEW && BUILDFLAG(IS_ANDROID)
|
||||
|
||||
+const char kViewportProtectionName[] = "Viewport Protection";
|
||||
@@ -62,8 +62,8 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -3948,6 +3948,9 @@ extern const char kPaintPreviewStartupName[];
|
||||
extern const char kPaintPreviewStartupDescription[];
|
||||
@@ -3857,6 +3857,9 @@ extern const char kPaintPreviewDemoName[];
|
||||
extern const char kPaintPreviewDemoDescription[];
|
||||
#endif // ENABLE_PAINT_PREVIEW && BUILDFLAG(IS_ANDROID)
|
||||
|
||||
+extern const char kViewportProtectionName[];
|
||||
@@ -75,8 +75,8 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -1637,6 +1637,10 @@ BASE_FEATURE(kDocumentEventNodePathCaching,
|
||||
"DocumentEventNodePathCaching",
|
||||
@@ -1668,6 +1668,10 @@ BASE_FEATURE(kNewBaseUrlInheritanceBehavior,
|
||||
"NewBaseUrlInheritanceBehavior",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+BASE_FEATURE(kViewportProtection,
|
||||
@@ -89,9 +89,9 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
|
||||
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
|
||||
--- a/third_party/blink/public/common/features.h
|
||||
+++ b/third_party/blink/public/common/features.h
|
||||
@@ -867,6 +867,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kThreadedBodyLoader);
|
||||
// If enabled, will cache for each node's EventPath::NodePath in document.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDocumentEventNodePathCaching);
|
||||
@@ -933,6 +933,9 @@ BLINK_COMMON_EXPORT extern const base::FeatureParam<
|
||||
// base url inheritance behavior from https://crbug.com/1356658.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kNewBaseUrlInheritanceBehavior);
|
||||
|
||||
+// Enable blink viewport protection
|
||||
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kViewportProtection);
|
||||
@@ -125,22 +125,22 @@ diff --git a/third_party/blink/public/common/widget/device_emulation_params.h b/
|
||||
diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver.cc b/third_party/blink/renderer/core/css/resolver/style_resolver.cc
|
||||
--- a/third_party/blink/renderer/core/css/resolver/style_resolver.cc
|
||||
+++ b/third_party/blink/renderer/core/css/resolver/style_resolver.cc
|
||||
@@ -1557,8 +1557,14 @@ scoped_refptr<ComputedStyle> StyleResolver::InitialStyleForElement() const {
|
||||
|
||||
initial_style->SetRtlOrdering(
|
||||
GetDocument().VisuallyOrdered() ? EOrder::kVisual : EOrder::kLogical);
|
||||
- initial_style->SetZoom(InitialZoom());
|
||||
- initial_style->SetEffectiveZoom(initial_style->Zoom());
|
||||
@@ -1533,8 +1533,14 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const {
|
||||
ComputedStyleBuilder builder = CreateComputedStyleBuilder();
|
||||
builder.SetRtlOrdering(GetDocument().VisuallyOrdered() ? EOrder::kVisual
|
||||
: EOrder::kLogical);
|
||||
- builder.SetZoom(InitialZoom());
|
||||
- builder.SetEffectiveZoom(InitialZoom());
|
||||
+ if (GetDocument().GetPage() && GetDocument().GetPage()->IsScreenEmulated()) {
|
||||
+ // hides the zoom override to the dom on the html tag
|
||||
+ initial_style->SetZoom(1);
|
||||
+ initial_style->SetEffectiveZoom(InitialZoom());
|
||||
+ builder.SetZoom(1);
|
||||
+ builder.SetEffectiveZoom(InitialZoom());
|
||||
+ } else {
|
||||
+ initial_style->SetZoom(InitialZoom());
|
||||
+ initial_style->SetEffectiveZoom(initial_style->Zoom());
|
||||
+ builder.SetZoom(InitialZoom());
|
||||
+ builder.SetEffectiveZoom(initial_style_->Zoom());
|
||||
+ }
|
||||
initial_style->SetInForcedColorsMode(GetDocument().InForcedColorsMode());
|
||||
initial_style->SetTapHighlightColor(
|
||||
builder.SetInForcedColorsMode(GetDocument().InForcedColorsMode());
|
||||
builder.SetTapHighlightColor(
|
||||
ComputedStyleInitialValues::InitialTapHighlightColor());
|
||||
diff --git a/third_party/blink/renderer/core/events/mouse_event.h b/third_party/blink/renderer/core/events/mouse_event.h
|
||||
--- a/third_party/blink/renderer/core/events/mouse_event.h
|
||||
@@ -214,7 +214,7 @@ diff --git a/third_party/blink/renderer/core/events/pointer_event.h b/third_part
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -1031,7 +1031,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) {
|
||||
@@ -1032,7 +1032,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) {
|
||||
page_popup_ = WebPagePopupImpl::Create(
|
||||
std::move(popup_widget_host), std::move(widget_host),
|
||||
std::move(widget_receiver), this, agent_group_scheduler,
|
||||
@@ -226,7 +226,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
@@ -1437,6 +1437,11 @@ int LocalDOMWindow::outerHeight() const {
|
||||
@@ -1478,6 +1478,11 @@ int LocalDOMWindow::outerHeight() const {
|
||||
if (!page)
|
||||
return 0;
|
||||
|
||||
@@ -238,7 +238,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
|
||||
ChromeClient& chrome_client = page->GetChromeClient();
|
||||
if (page->GetSettings().GetReportScreenSizeInPhysicalPixelsQuirk()) {
|
||||
return static_cast<int>(
|
||||
@@ -1462,6 +1467,11 @@ int LocalDOMWindow::outerWidth() const {
|
||||
@@ -1503,6 +1508,11 @@ int LocalDOMWindow::outerWidth() const {
|
||||
if (!page)
|
||||
return 0;
|
||||
|
||||
@@ -250,7 +250,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
|
||||
ChromeClient& chrome_client = page->GetChromeClient();
|
||||
if (page->GetSettings().GetReportScreenSizeInPhysicalPixelsQuirk()) {
|
||||
return static_cast<int>(
|
||||
@@ -1650,7 +1660,8 @@ double LocalDOMWindow::devicePixelRatio() const {
|
||||
@@ -1691,7 +1701,8 @@ double LocalDOMWindow::devicePixelRatio() const {
|
||||
if (!GetFrame())
|
||||
return 0.0;
|
||||
|
||||
@@ -260,7 +260,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
|
||||
}
|
||||
|
||||
void LocalDOMWindow::scrollBy(double x, double y) const {
|
||||
@@ -2203,6 +2214,21 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
@@ -2237,6 +2248,21 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
if (!completed_url.IsEmpty() || result.new_window)
|
||||
result.frame->Navigate(frame_request, WebFrameLoadType::kStandard);
|
||||
|
||||
@@ -285,7 +285,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -1278,6 +1278,10 @@ gfx::SizeF LocalFrame::ResizePageRectsKeepingRatio(
|
||||
@@ -1287,6 +1287,10 @@ gfx::SizeF LocalFrame::ResizePageRectsKeepingRatio(
|
||||
return gfx::SizeF(result_width, result_height);
|
||||
}
|
||||
|
||||
@@ -296,7 +296,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
||||
void LocalFrame::SetPageZoomFactor(float factor) {
|
||||
SetPageAndTextZoomFactors(factor, text_zoom_factor_);
|
||||
}
|
||||
@@ -1417,12 +1421,16 @@ device::mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() {
|
||||
@@ -1426,12 +1430,16 @@ device::mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() {
|
||||
return mojo_handler_->GetDevicePosture();
|
||||
}
|
||||
|
||||
@@ -318,7 +318,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.h
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
@@ -381,13 +381,14 @@ class CORE_EXPORT LocalFrame final
|
||||
@@ -382,13 +382,14 @@ class CORE_EXPORT LocalFrame final
|
||||
void SetInViewSourceMode(bool = true);
|
||||
|
||||
void SetPageZoomFactor(float);
|
||||
@@ -335,7 +335,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
|
||||
|
||||
// Informs the local root's document and its local descendant subtree that a
|
||||
// media query value changed.
|
||||
@@ -934,6 +935,7 @@ class CORE_EXPORT LocalFrame final
|
||||
@@ -972,6 +973,7 @@ class CORE_EXPORT LocalFrame final
|
||||
unsigned hidden_ : 1;
|
||||
|
||||
float page_zoom_factor_;
|
||||
@@ -441,7 +441,7 @@ diff --git a/third_party/blink/renderer/core/frame/screen_metrics_emulator.h b/t
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
@@ -1578,6 +1578,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
@@ -1597,6 +1597,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
|
||||
if (auto* device_emulator = DeviceEmulator()) {
|
||||
device_emulator->UpdateVisualProperties(visual_properties);
|
||||
@@ -459,7 +459,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_remote_frame_impl.cc b/third_party/blink/renderer/core/frame/web_remote_frame_impl.cc
|
||||
--- a/third_party/blink/renderer/core/frame/web_remote_frame_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/web_remote_frame_impl.cc
|
||||
@@ -349,7 +349,8 @@ void WebRemoteFrameImpl::InitializeFrameVisualProperties(
|
||||
@@ -348,7 +348,8 @@ void WebRemoteFrameImpl::InitializeFrameVisualProperties(
|
||||
visual_properties.page_scale_factor = ancestor_widget->PageScaleInMainFrame();
|
||||
visual_properties.is_pinch_gesture_active =
|
||||
ancestor_widget->PinchGestureActiveInMainFrame();
|
||||
@@ -531,7 +531,7 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re
|
||||
|
||||
namespace blink {
|
||||
|
||||
@@ -881,7 +885,79 @@ void Page::UpdateAcceleratedCompositingSettings() {
|
||||
@@ -878,7 +882,79 @@ void Page::UpdateAcceleratedCompositingSettings() {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -614,7 +614,7 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re
|
||||
diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/renderer/core/page/page.h
|
||||
--- a/third_party/blink/renderer/core/page/page.h
|
||||
+++ b/third_party/blink/renderer/core/page/page.h
|
||||
@@ -410,6 +410,9 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
@@ -409,6 +409,9 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
}
|
||||
mojom::blink::FencedFrameMode FencedFrameMode() { return fenced_frame_mode_; }
|
||||
|
||||
@@ -624,7 +624,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren
|
||||
private:
|
||||
friend class ScopedPagePauser;
|
||||
|
||||
@@ -539,6 +542,10 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
@@ -538,6 +541,10 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
// browser side FrameTree has the FrameTree::Type of kFencedFrame.
|
||||
bool is_fenced_frame_tree_ = false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user