forked from uazo/cromite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDisable-text-fragments-by-default.patch
108 lines (103 loc) · 5.51 KB
/
Disable-text-fragments-by-default.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
From: csagan5 <[email protected]>
Date: Sat, 22 Aug 2020 12:46:20 +0200
Subject: Disable text fragments by default
Revert "[Text Fragment] Unflag fragment directive removal."
Original License: BSD-3-Clause - https://spdx.org/licenses/BSD-3-Clause.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/ui/prefs/prefs_tab_helper.cc | 2 +-
content/child/runtime_features.cc | 2 ++
.../about_flags_cc/Disable-text-fragments-by-default.inc | 8 ++++++++
.../features_cc/Disable-text-fragments-by-default.inc | 4 ++++
.../features_h/Disable-text-fragments-by-default.inc | 1 +
third_party/blink/renderer/core/dom/document.cc | 5 +++++
.../renderer/platform/runtime_enabled_features.json5 | 5 ++---
7 files changed, 23 insertions(+), 4 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Disable-text-fragments-by-default.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-text-fragments-by-default.inc
create mode 100644 cromite_flags/third_party/blink/common/features_h/Disable-text-fragments-by-default.inc
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc
--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
+++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
@@ -366,7 +366,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
prefs::kEnableReferrers,
!base::FeatureList::IsEnabled(features::kNoReferrers));
registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true);
- registry->RegisterBooleanPref(prefs::kScrollToTextFragmentEnabled, true);
+ registry->RegisterBooleanPref(prefs::kScrollToTextFragmentEnabled, false);
#if BUILDFLAG(IS_ANDROID)
registry->RegisterDoublePref(browser_ui::prefs::kWebKitFontScaleFactor, 1.0);
registry->RegisterIntegerPref(prefs::kAccessibilityTextSizeContrastFactor, 0);
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -306,6 +306,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
#endif
{wf::EnableTouchDragAndContextMenu,
raw_ref(features::kTouchDragAndContextMenu)},
+ {wf::EnableTextFragmentIdentifiers,
+ raw_ref(blink::features::kTextFragmentAnchor)},
{wf::EnableUserActivationSameOriginVisibility,
raw_ref(features::kUserActivationSameOriginVisibility)},
{wf::EnableVideoPlaybackQuality,
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Disable-text-fragments-by-default.inc b/cromite_flags/chrome/browser/about_flags_cc/Disable-text-fragments-by-default.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/about_flags_cc/Disable-text-fragments-by-default.inc
@@ -0,0 +1,8 @@
+#ifdef FLAG_SECTION
+
+ {"enable-text-fragment-anchor",
+ "Enable Text Fragment Anchor.",
+ "Enables scrolling to text specified in URL's fragment.", kOsAll,
+ FEATURE_VALUE_TYPE(blink::features::kTextFragmentAnchor)},
+
+#endif
diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-text-fragments-by-default.inc b/cromite_flags/third_party/blink/common/features_cc/Disable-text-fragments-by-default.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/third_party/blink/common/features_cc/Disable-text-fragments-by-default.inc
@@ -0,0 +1,4 @@
+// Enable text snippets in URL fragments. https://crbug.com/919204.
+CROMITE_FEATURE(kTextFragmentAnchor,
+ "TextFragmentAnchor",
+ base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/cromite_flags/third_party/blink/common/features_h/Disable-text-fragments-by-default.inc b/cromite_flags/third_party/blink/common/features_h/Disable-text-fragments-by-default.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/third_party/blink/common/features_h/Disable-text-fragments-by-default.inc
@@ -0,0 +1 @@
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kTextFragmentAnchor);
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -4624,9 +4624,14 @@ void Document::SetURL(const KURL& url) {
TRACE_EVENT1("navigation", "Document::SetURL", "url",
new_url.GetString().Utf8());
+ // If text fragment identifiers are enabled, we strip the fragment directive
+ // from the URL fragment.
+ // E.g. "#id:~:text=a" --> "#id"
+ if (RuntimeEnabledFeatures::TextFragmentIdentifiersEnabled(domWindow())) {
// Strip the fragment directive from the URL fragment. E.g. "#id:~:text=a"
// --> "#id". See https://github.com/WICG/scroll-to-text-fragment.
new_url = fragment_directive_->ConsumeFragmentDirective(new_url);
+ }
url_ = new_url;
UpdateBaseURL();
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -3687,10 +3687,9 @@
},
{
name: "TextFragmentIdentifiers",
- origin_trial_feature_name: "TextFragmentIdentifiers",
public: true,
- status: "stable",
- base_feature: "TextFragmentAnchor",
+ status: "test",
+ origin_trial_feature_name: "TextFragmentIdentifiers"
},
{
name: "TextFragmentTapOpensContextMenu",
--