diff --git a/build/patches/Viewport-Protection-flag.patch b/build/patches/Viewport-Protection-flag.patch index 1e99d44c..e2951169 100644 --- a/build/patches/Viewport-Protection-flag.patch +++ b/build/patches/Viewport-Protection-flag.patch @@ -20,6 +20,7 @@ Require: Content-settings-infrastructure.patch .../common/widget/device_emulation_params.h | 6 +- .../blink/renderer/core/css/media_values.cc | 2 +- .../core/css/resolver/style_resolver.cc | 7 +- + .../renderer/core/events/keyboard_event.cc | 13 ++- .../blink/renderer/core/events/mouse_event.h | 19 +++- .../renderer/core/events/pointer_event.h | 11 +++ .../renderer/core/exported/web_view_impl.cc | 2 +- @@ -33,7 +34,7 @@ Require: Content-settings-infrastructure.patch .../blink/renderer/core/input/touch.cc | 17 +++- third_party/blink/renderer/core/page/page.cc | 92 ++++++++++++++++++ third_party/blink/renderer/core/page/page.h | 9 ++ - 24 files changed, 421 insertions(+), 19 deletions(-) + 25 files changed, 433 insertions(+), 20 deletions(-) create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteViewportContentSetting.java create mode 100644 components/browser_ui/strings/bromite_content_settings/viewport.grdp create mode 100644 components/content_settings/core/browser/bromite_content_settings/viewport.inc @@ -305,6 +306,36 @@ diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver.cc b/th builder.SetEffectiveZoom(InitialZoom()); builder.SetInForcedColorsMode(GetDocument().InForcedColorsMode()); builder.SetTapHighlightColor( +diff --git a/third_party/blink/renderer/core/events/keyboard_event.cc b/third_party/blink/renderer/core/events/keyboard_event.cc +--- a/third_party/blink/renderer/core/events/keyboard_event.cc ++++ b/third_party/blink/renderer/core/events/keyboard_event.cc +@@ -36,6 +36,7 @@ + #include "third_party/blink/renderer/core/input/input_device_capabilities.h" + #include "third_party/blink/renderer/platform/bindings/dom_wrapper_world.h" + #include "third_party/blink/renderer/platform/bindings/script_state.h" ++#include "third_party/blink/renderer/platform/weborigin/scheme_registry.h" + #include "third_party/blink/renderer/platform/windows_keyboard_codes.h" + #include "ui/base/ui_base_features.h" + #include "ui/events/keycodes/dom/keycode_converter.h" +@@ -139,7 +140,17 @@ KeyboardEvent::KeyboardEvent(const WebKeyboardEvent& key, + else + key_code_ = char_code_; + +- if (features::IsSystemKeyboardProtectionEnabled()) { ++ bool keyboard_protection = features::IsSystemKeyboardProtectionEnabled(); ++ if (dom_window) { ++ if (auto* frame = dom_window->GetFrame()) { ++ String protocol = ++ frame->GetSecurityContext()->GetSecurityOrigin()->Protocol(); ++ if (SchemeRegistry::IsWebUIScheme(protocol)) { ++ keyboard_protection = false; ++ } ++ } ++ } ++ if (keyboard_protection) { + // we need character for transformation + ui::DomKey ascii_key; + ui::DomKey original_dom_key = static_cast(key.dom_key); 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 +++ b/third_party/blink/renderer/core/events/mouse_event.h