v107
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Fri, 26 Aug 2022 13:15:43 +0000
|
||||
Date: Thu, 17 Nov 2022 14:23:47 +0000
|
||||
Subject: Viewport Protection
|
||||
|
||||
Scale the viewport and the screen by a random factor to prevent coordinate-based fingerprinting scripts.
|
||||
@@ -45,7 +45,7 @@ The feature is controlled by a site setting (default disabled)
|
||||
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
--- a/components/browser_ui/site_settings/android/BUILD.gn
|
||||
+++ b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
@@ -85,6 +85,9 @@ android_library("java") {
|
||||
@@ -95,6 +95,9 @@ android_library("java") {
|
||||
sources += [
|
||||
"java/src/org/chromium/components/browser_ui/site_settings/BromiteWebRTCContentSetting.java",
|
||||
]
|
||||
@@ -191,7 +191,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
|
||||
<part file="webrtc.grdp" />
|
||||
+ <part file="viewport.grdp" />
|
||||
|
||||
<message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message">
|
||||
<message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message" formatter_data="android_java">
|
||||
Got it
|
||||
diff --git a/components/browser_ui/strings/android/viewport.grdp b/components/browser_ui/strings/android/viewport.grdp
|
||||
new file mode 100644
|
||||
@@ -219,18 +219,18 @@ new file mode 100644
|
||||
diff --git a/components/components_strings.grd b/components/components_strings.grd
|
||||
--- a/components/components_strings.grd
|
||||
+++ b/components/components_strings.grd
|
||||
@@ -340,6 +340,7 @@
|
||||
<part file="user_scripts/strings/userscripts_strings.grdp" />
|
||||
@@ -341,6 +341,7 @@
|
||||
|
||||
<part file="browser_ui/strings/android/webgl.grdp" />
|
||||
<part file="browser_ui/strings/android/webrtc.grdp" />
|
||||
+ <part file="browser_ui/strings/android/viewport.grdp" />
|
||||
|
||||
<if expr="not is_ios">
|
||||
<part file="history_clusters_strings.grdp" />
|
||||
</if>
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -707,6 +707,20 @@ void ContentSettingsRegistry::Init() {
|
||||
@@ -715,6 +715,20 @@ void ContentSettingsRegistry::Init() {
|
||||
/*show_into_info_page*/ true,
|
||||
/*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBRTC,
|
||||
/*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBRTC_MID_SENTENCE);
|
||||
@@ -240,7 +240,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
+ AllowlistedSchemes(),
|
||||
+ ValidSettings(CONTENT_SETTING_ALLOW,
|
||||
+ CONTENT_SETTING_BLOCK),
|
||||
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE,
|
||||
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
+ WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
+ ContentSettingsInfo::PERSISTENT,
|
||||
@@ -254,7 +254,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
@@ -159,6 +159,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
|
||||
@@ -160,6 +160,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
|
||||
&(rules->webgl_rules));
|
||||
map->GetSettingsForOneType(ContentSettingsType::WEBRTC,
|
||||
&(rules->webrtc_rules));
|
||||
@@ -266,7 +266,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
|
||||
--- a/components/content_settings/core/common/content_settings.cc
|
||||
+++ b/components/content_settings/core/common/content_settings.cc
|
||||
@@ -207,7 +207,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
|
||||
@@ -208,7 +208,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
|
||||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
|
||||
content_type == ContentSettingsType::TIMEZONE_OVERRIDE ||
|
||||
content_type == ContentSettingsType::WEBGL ||
|
||||
@@ -276,7 +276,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
|
||||
}
|
||||
|
||||
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
|
||||
@@ -221,6 +222,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
|
||||
@@ -222,6 +223,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
|
||||
FilterRulesForType(autoplay_rules, outermost_main_frame_url);
|
||||
FilterRulesForType(webgl_rules, outermost_main_frame_url);
|
||||
FilterRulesForType(webrtc_rules, outermost_main_frame_url);
|
||||
@@ -287,7 +287,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
|
||||
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
|
||||
--- a/components/content_settings/core/common/content_settings.h
|
||||
+++ b/components/content_settings/core/common/content_settings.h
|
||||
@@ -99,6 +99,7 @@ struct RendererContentSettingRules {
|
||||
@@ -98,6 +98,7 @@ struct RendererContentSettingRules {
|
||||
std::string timezone_override_value;
|
||||
ContentSettingsForOneType webgl_rules;
|
||||
ContentSettingsForOneType webrtc_rules;
|
||||
@@ -307,7 +307,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co
|
||||
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
--- a/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
+++ b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
@@ -106,7 +106,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
|
||||
@@ -107,7 +107,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
|
||||
data.ReadTimezoneOverrideRules(&out->timezone_override_rules) &&
|
||||
data.ReadTimezoneOverrideValue(&out->timezone_override_value) &&
|
||||
data.ReadWebglRules(&out->webgl_rules) &&
|
||||
@@ -335,7 +335,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
|
||||
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h
|
||||
--- a/components/content_settings/core/common/content_settings_types.h
|
||||
+++ b/components/content_settings/core/common/content_settings_types.h
|
||||
@@ -284,6 +284,8 @@ enum class ContentSettingsType : int32_t {
|
||||
@@ -280,6 +280,8 @@ enum class ContentSettingsType : int32_t {
|
||||
|
||||
WEBRTC,
|
||||
|
||||
@@ -389,7 +389,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/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
|
||||
@@ -1487,8 +1487,14 @@ scoped_refptr<ComputedStyle> StyleResolver::InitialStyleForElement() const {
|
||||
@@ -1513,8 +1513,14 @@ scoped_refptr<ComputedStyle> StyleResolver::InitialStyleForElement() const {
|
||||
|
||||
initial_style->SetRtlOrdering(
|
||||
GetDocument().VisuallyOrdered() ? EOrder::kVisual : EOrder::kLogical);
|
||||
@@ -417,7 +417,7 @@ diff --git a/third_party/blink/renderer/core/events/mouse_event.h b/third_party/
|
||||
|
||||
namespace blink {
|
||||
|
||||
@@ -139,8 +140,22 @@ class CORE_EXPORT MouseEvent : public UIEventWithKeyState {
|
||||
@@ -141,8 +142,22 @@ class CORE_EXPORT MouseEvent : public UIEventWithKeyState {
|
||||
|
||||
// Note that these values are adjusted to counter the effects of zoom, so that
|
||||
// values exposed via DOM APIs are invariant under zooming.
|
||||
@@ -478,7 +478,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
|
||||
@@ -1014,7 +1014,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) {
|
||||
@@ -1028,7 +1028,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,
|
||||
@@ -490,7 +490,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
|
||||
@@ -1388,6 +1388,11 @@ int LocalDOMWindow::outerHeight() const {
|
||||
@@ -1407,6 +1407,11 @@ int LocalDOMWindow::outerHeight() const {
|
||||
if (!page)
|
||||
return 0;
|
||||
|
||||
@@ -502,7 +502,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>(
|
||||
@@ -1413,6 +1418,11 @@ int LocalDOMWindow::outerWidth() const {
|
||||
@@ -1432,6 +1437,11 @@ int LocalDOMWindow::outerWidth() const {
|
||||
if (!page)
|
||||
return 0;
|
||||
|
||||
@@ -514,7 +514,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>(
|
||||
@@ -1600,7 +1610,8 @@ double LocalDOMWindow::devicePixelRatio() const {
|
||||
@@ -1619,7 +1629,8 @@ double LocalDOMWindow::devicePixelRatio() const {
|
||||
if (!GetFrame())
|
||||
return 0.0;
|
||||
|
||||
@@ -524,7 +524,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 {
|
||||
@@ -2142,6 +2153,20 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
@@ -2177,6 +2188,20 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
if (!completed_url.IsEmpty() || result.new_window)
|
||||
result.frame->Navigate(frame_request, WebFrameLoadType::kStandard);
|
||||
|
||||
@@ -548,7 +548,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
|
||||
@@ -1267,6 +1267,10 @@ gfx::SizeF LocalFrame::ResizePageRectsKeepingRatio(
|
||||
@@ -1275,6 +1275,10 @@ gfx::SizeF LocalFrame::ResizePageRectsKeepingRatio(
|
||||
return gfx::SizeF(result_width, result_height);
|
||||
}
|
||||
|
||||
@@ -559,7 +559,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_);
|
||||
}
|
||||
@@ -1406,12 +1410,16 @@ device::mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() {
|
||||
@@ -1414,12 +1418,16 @@ device::mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() {
|
||||
return mojo_handler_->GetDevicePosture();
|
||||
}
|
||||
|
||||
@@ -581,7 +581,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
|
||||
@@ -364,13 +364,14 @@ class CORE_EXPORT LocalFrame final
|
||||
@@ -378,13 +378,14 @@ class CORE_EXPORT LocalFrame final
|
||||
void SetInViewSourceMode(bool = true);
|
||||
|
||||
void SetPageZoomFactor(float);
|
||||
@@ -598,7 +598,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.
|
||||
@@ -886,6 +887,7 @@ class CORE_EXPORT LocalFrame final
|
||||
@@ -920,6 +921,7 @@ class CORE_EXPORT LocalFrame final
|
||||
unsigned hidden_ : 1;
|
||||
|
||||
float page_zoom_factor_;
|
||||
@@ -659,7 +659,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
|
||||
@@ -1579,6 +1579,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
@@ -1578,6 +1578,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
|
||||
if (auto* device_emulator = DeviceEmulator()) {
|
||||
device_emulator->UpdateVisualProperties(visual_properties);
|
||||
@@ -677,7 +677,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
|
||||
@@ -339,7 +339,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();
|
||||
|
||||
Reference in New Issue
Block a user