Skip to content

Commit

Permalink
[wei] Ensure Origin Trial enables full feature
Browse files Browse the repository at this point in the history
This CL moves the base::Feature from content_features.h to
a generated feature from runtime_enabled_features.json5.

This means that the base::Feature can be default-enabled
while the web API is controlled by the RuntimeFeature, which will
still be default-disabled.

An origin trial can enable the RuntimeFeature, which will
allow full access to the API, provided the base::Feature is also
enabled (see change to origin_trial_context.cc).

Meanwhile, the base::Feature can be disabled through Finch as a
kill-switch for the whole feature, and prevent origin trials
from turning the feature on.

Tests have been added to WebView test, as it allowed for easy
spoofing of responses on a known origin.

Bug: 1439945
Change-Id: Ifa0f5d4f5e0a0bf882dd1b0207698dddd6f71420
Fixed: b/278701736
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4681552
Reviewed-by: Rayan Kanso <rayankans@chromium.org>
Commit-Queue: Peter Pakkenberg <pbirk@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1173344}
  • Loading branch information
Peter Birk Pakkenberg authored and Chromium LUCI CQ committed Jul 21, 2023
1 parent 05e71c3 commit 6f47a22
Show file tree
Hide file tree
Showing 15 changed files with 173 additions and 18 deletions.
1 change: 1 addition & 0 deletions android_webview/browser/DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ include_rules = [

"+third_party/blink/public/common/client_hints/enabled_client_hints.h",
"+third_party/blink/public/common/features.h",
"+third_party/blink/public/common/features_generated.h",
"+third_party/blink/public/common/origin_trials/origin_trial_feature.h",
"+third_party/blink/public/common/origin_trials/origin_trials_settings_provider.h",
"+third_party/blink/public/common/origin_trials/trial_token_validator.h",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include "android_webview/browser/aw_print_manager.h"
#include "android_webview/browser/renderer_host/aw_render_view_host_ext.h"
#include "android_webview/browser/safe_browsing/aw_url_checker_delegate_impl.h"
#include "base/feature_list.h"
#include "components/autofill/content/browser/content_autofill_driver_factory.h"
#include "components/cdm/browser/media_drm_storage_impl.h"
#include "components/content_capture/browser/onscreen_content_provider.h"
Expand All @@ -29,6 +30,7 @@
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "services/service_manager/public/cpp/binder_registry.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
#include "third_party/blink/public/common/features_generated.h"
#include "third_party/blink/public/mojom/environment_integrity/environment_integrity_service.mojom.h"

#if BUILDFLAG(ENABLE_SPELLCHECK)
Expand Down Expand Up @@ -215,7 +217,7 @@ void AwContentBrowserClient::RegisterBrowserInterfaceBindersForFrame(
map->Add<network_hints::mojom::NetworkHintsHandler>(
base::BindRepeating(&BindNetworkHintsHandler));

if (base::FeatureList::IsEnabled(features::kWebEnvironmentIntegrity)) {
if (base::FeatureList::IsEnabled(blink::features::kWebEnvironmentIntegrity)) {
map->Add<blink::mojom::EnvironmentIntegrityService>(base::BindRepeating(
&environment_integrity::AndroidEnvironmentIntegrityService::Create));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@ private ProductionSupportedFlagList() {}
+ "Only onNetwork(Connected|Disconnected|SoonToDisconnect|MadeDefault) signals are propagated."),
Flag.baseFeature(BlinkFeatures.REMOVE_NON_STANDARD_APPEARANCE_VALUE,
"Remove non-standard CSS appearance values."),
Flag.baseFeature(ContentFeatures.WEB_ENVIRONMENT_INTEGRITY,
Flag.baseFeature(BlinkFeatures.WEB_ENVIRONMENT_INTEGRITY,
"Enables Web Environment Integrity APIs. "
+ "See https://chromestatus.com/feature/5796524191121408."),
// Add new commandline switches and features above. The final entry should have a
Expand Down
1 change: 1 addition & 0 deletions android_webview/javatests/DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ include_rules = [
"+components/background_task_scheduler/android/java",
"+components/component_updater/android/java",
"+components/embedder_support/android/metrics/java",
"+components/environment_integrity/android/java",
"+components/minidump_uploader/android/java",
"+components/minidump_uploader/android/javatests",
"+components/policy/android/java",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,13 @@

package org.chromium.android_webview.test;

import android.webkit.JavascriptInterface;

import androidx.test.filters.SmallTest;

import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
Expand All @@ -14,12 +19,22 @@
import org.junit.runner.RunWith;

import org.chromium.android_webview.AwContents;
import org.chromium.android_webview.test.TestAwContentsClient.ShouldInterceptRequestHelper;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.content_public.common.ContentFeatures;
import org.chromium.blink_public.common.BlinkFeatures;
import org.chromium.components.embedder_support.util.WebResourceResponseInfo;
import org.chromium.components.environment_integrity.IntegrityServiceBridge;
import org.chromium.components.environment_integrity.IntegrityServiceBridgeDelegate;
import org.chromium.net.test.util.TestWebServer;

import java.io.ByteArrayInputStream;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

/**
* Tests for WebEnvironmentIntegrity in WebView.
Expand All @@ -29,7 +44,6 @@
* and only supposed to test WebView-specific differences.
*/
@RunWith(AwJUnit4ClassRunner.class)
@CommandLineFlags.Add({"enable-features=" + ContentFeatures.WEB_ENVIRONMENT_INTEGRITY})
@Batch(Batch.PER_CLASS)
public class AwWebEnvironmentIntegrityTest {
@Rule
Expand All @@ -39,6 +53,17 @@ public class AwWebEnvironmentIntegrityTest {
private AwContents mAwContents;

private TestWebServer mWebServer;
private static final String ORIGIN_TRIAL_URL = "https://example.com/";
private static final String ORIGIN_TRIAL_HEADER = "Origin-Trial";
private static final String ORIGIN_TRIAL_TOKEN =
"A1GBGCeaLBRlky1ITf9uRak5iluqLWnUdSTKVTO0Ce/I7a35nik6DKqPJNZSPd9KEAIuJKmi2dmL9HWThDWgdA"
+ "cAAABheyJvcmlnaW4iOiAiaHR0cHM6Ly9leGFtcGxlLmNvbTo0NDMiLCAiZmVhdHVyZSI6ICJXZWJFbnZpcm"
+ "9ubWVudEludGVncml0eSIsICJleHBpcnkiOiAyMDAwMDAwMDAwfQ==";

private static final long HANDLE = 123456789L;

private static final byte[] TOKEN = {1, 2, 3, 4};
private static final String TOKEN_BASE64 = "AQIDBA==";

@Before
public void setUp() throws Exception {
Expand All @@ -58,6 +83,24 @@ public void tearDown() throws Exception {

@Test
@SmallTest
public void testWebEnvironmentIntegrityApiNotAvailableByDefault() throws Throwable {
// Load a web page from localhost to get a secure context
mWebServer.setResponse("/", "<html>", Collections.emptyList());
mActivityTestRule.loadUrlSync(
mAwContents, mContentsClient.getOnPageFinishedHelper(), mWebServer.getBaseUrl());
// Check that the 'getEnvironmentIntegrity' method is available.
final String script = "'getEnvironmentIntegrity' in navigator ? 'available': 'missing'";
String result = mActivityTestRule.executeJavaScriptAndWaitForResult(
mAwContents, mContentsClient, script);
// The result is expected to have extra quotes as a JSON-encoded string.
Assert.assertEquals("This test is expected to fail if runtime_enabled_features.json5"
+ " is updated to mark the feature as 'stable'.",
"\"missing\"", result);
}

@Test
@SmallTest
@CommandLineFlags.Add({"enable-features=" + BlinkFeatures.WEB_ENVIRONMENT_INTEGRITY})
public void testWebEnvironmentIntegrityApiAvailable() throws Throwable {
// Load a web page from localhost to get a secure context
mWebServer.setResponse("/", "<html>", Collections.emptyList());
Expand All @@ -70,4 +113,103 @@ public void testWebEnvironmentIntegrityApiAvailable() throws Throwable {
// The result is expected to have extra quotes as a JSON-encoded string.
Assert.assertEquals("\"available\"", result);
}

@Test
@SmallTest
@CommandLineFlags.Add({"disable-features=" + BlinkFeatures.WEB_ENVIRONMENT_INTEGRITY})
public void testWebEnvironmentIntegrityApiCanBeDisabled() throws Throwable {
// Load a web page from localhost to get a secure context
mWebServer.setResponse("/", "<html>", Collections.emptyList());
mActivityTestRule.loadUrlSync(
mAwContents, mContentsClient.getOnPageFinishedHelper(), mWebServer.getBaseUrl());
// Check that the 'getEnvironmentIntegrity' method is available.
final String script = "'getEnvironmentIntegrity' in navigator ? 'available': 'missing'";
String result = mActivityTestRule.executeJavaScriptAndWaitForResult(
mAwContents, mContentsClient, script);
// The result is expected to have extra quotes as a JSON-encoded string.
Assert.assertEquals("\"missing\"", result);
}

@Test
@SmallTest
@CommandLineFlags.Add({"origin-trial-public-key=dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNA="})
public void testAppIdentityEnabledByOriginTrial() throws Throwable {
// Set up a response with the origin trial header.
// Since origin trial tokens are tied to the origin, we use an request intercept to load
// the content when making a request to the origin trial URL, instead of relying on the
// server, which serves from an unknown port.
var body = new ByteArrayInputStream(
"<!DOCTYPE html><html><body>Hello, World".getBytes(StandardCharsets.UTF_8));
var responseInfo = new WebResourceResponseInfo("text/html", "utf-8", body, 200, "OK",
Map.of(ORIGIN_TRIAL_HEADER, ORIGIN_TRIAL_TOKEN));

final ShouldInterceptRequestHelper requestInterceptHelper =
mContentsClient.getShouldInterceptRequestHelper();
requestInterceptHelper.setReturnValueForUrl(ORIGIN_TRIAL_URL, responseInfo);

final TestIntegrityServiceBridgeDelegateImpl delegateForTesting =
new TestIntegrityServiceBridgeDelegateImpl();
mActivityTestRule.runOnUiThread(
() -> IntegrityServiceBridge.setDelegateForTesting(delegateForTesting));

final ExecutionCallbackListener listener = new ExecutionCallbackListener();
AwActivityTestRule.addJavascriptInterfaceOnUiThread(mAwContents, listener, "testListener");

mActivityTestRule.loadUrlSync(
mAwContents, mContentsClient.getOnPageFinishedHelper(), ORIGIN_TRIAL_URL);

final String script = "(() => {"
+ "if ('getEnvironmentIntegrity' in navigator) {"
+ " navigator.getEnvironmentIntegrity('contentBinding')"
+ " .then(s => testListener.result(s.encode()))"
+ " .catch(e => testListener.result('error: ' + e));"
+ " return 'available';"
+ "} else {return 'unavailable';}"
+ "})();";
String scriptResult = mActivityTestRule.executeJavaScriptAndWaitForResult(
mAwContents, mContentsClient, script);
// The result is expected to have extra quotes as a JSON-encoded string.
Assert.assertEquals("\"available\"", scriptResult);

// Wait until the result callback has been triggered, to inspect the state of the delegate
// The actual result should just be an error we don't care about.
String result = listener.waitForResult();
Assert.assertEquals(TOKEN_BASE64, result);
}

static class ExecutionCallbackListener {
private final CallbackHelper mCallbackHelper = new CallbackHelper();
private String mResult;

@JavascriptInterface
public void result(String s) {
mResult = s;
mCallbackHelper.notifyCalled();
}

String waitForResult() throws TimeoutException {
mCallbackHelper.waitForNext(5, TimeUnit.SECONDS);
return mResult;
}
}

private static class TestIntegrityServiceBridgeDelegateImpl
implements IntegrityServiceBridgeDelegate {
@Override
public ListenableFuture<Long> createEnvironmentIntegrityHandle(
boolean bindAppIdentity, int timeoutMilliseconds) {
return Futures.immediateFuture(HANDLE);
}

@Override
public ListenableFuture<byte[]> getEnvironmentIntegrityToken(
long handle, byte[] requestHash, int timeoutMilliseconds) {
return Futures.immediateFuture(TOKEN);
}

@Override
public boolean canUseGms() {
return true;
}
}
}
2 changes: 2 additions & 0 deletions android_webview/test/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"//components/embedder_support/android:util_java",
"//components/embedder_support/android:web_contents_delegate_java",
"//components/embedder_support/android/metrics:java",
"//components/environment_integrity/android:java",
"//components/heap_profiling/multi_process:heap_profiling_java_test_support",
"//components/metrics:metrics_java",
"//components/minidump_uploader:minidump_uploader_java",
Expand Down Expand Up @@ -314,6 +315,7 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"//third_party/androidx:androidx_test_runner_java",
"//third_party/androidx_javascriptengine:javascriptengine_common_java",
"//third_party/androidx_javascriptengine:javascriptengine_java",
"//third_party/blink/public/common:common_java",
"//third_party/blink/public/mojom:mojom_platform_java",
"//third_party/blink/public/mojom:web_feature_mojo_bindings_java",
"//third_party/hamcrest:hamcrest_core_java",
Expand Down
3 changes: 2 additions & 1 deletion chrome/browser/chrome_browser_interface_binders.cc
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "services/image_annotation/public/mojom/image_annotation.mojom.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/features_generated.h"
#include "third_party/blink/public/mojom/credentialmanagement/credential_manager.mojom.h"
#include "third_party/blink/public/mojom/lcp_critical_path_predictor/lcp_critical_path_predictor.mojom.h"
#include "third_party/blink/public/mojom/loader/navigation_predictor.mojom.h"
Expand Down Expand Up @@ -880,7 +881,7 @@ void PopulateChromeFrameBinders(
}
map->Add<blink::mojom::ShareService>(base::BindRepeating(
&ForwardToJavaWebContents<blink::mojom::ShareService>));
if (base::FeatureList::IsEnabled(features::kWebEnvironmentIntegrity)) {
if (base::FeatureList::IsEnabled(blink::features::kWebEnvironmentIntegrity)) {
map->Add<blink::mojom::EnvironmentIntegrityService>(base::BindRepeating(
&environment_integrity::AndroidEnvironmentIntegrityService::Create));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include "mojo/public/cpp/bindings/callback_helpers.h"
#include "mojo/public/cpp/bindings/message.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "third_party/blink/public/common/features_generated.h"
#include "url/origin.h"

namespace environment_integrity {
Expand Down Expand Up @@ -82,12 +83,12 @@ AndroidEnvironmentIntegrityService::GetDataManager() {
void AndroidEnvironmentIntegrityService::GetEnvironmentIntegrity(
const std::vector<uint8_t>& content_binding,
GetEnvironmentIntegrityCallback callback) {
if (!base::FeatureList::IsEnabled(features::kWebEnvironmentIntegrity)) {
if (!base::FeatureList::IsEnabled(
blink::features::kWebEnvironmentIntegrity)) {
ReportBadMessageAndDeleteThis(
"Feature not enabled. IPC call not expected.");
return;
}

if (!integrity_service_->IsIntegrityAvailable()) {
std::move(callback).Run(EnvironmentIntegrityResponseCode::kInternalError,
std::vector<uint8_t>());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "content/public/test/test_renderer_host.h"
#include "content/public/test/web_contents_tester.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/features_generated.h"
#include "third_party/blink/public/mojom/environment_integrity/environment_integrity_service.mojom.h"

namespace environment_integrity {
Expand Down Expand Up @@ -109,7 +110,8 @@ class AndroidEnvironmentIntegrityServiceTest
public:
void SetUp() override {
BaseAndroidEnvironmentIntegrityServiceTest::SetUp();
feature_list_.InitAndEnableFeature(features::kWebEnvironmentIntegrity);
feature_list_.InitAndEnableFeature(
blink::features::kWebEnvironmentIntegrity);
}
};

Expand Down Expand Up @@ -467,7 +469,8 @@ class AndroidEnvironmentIntegrityServiceDisabledFeatureTest
public:
void SetUp() override {
BaseAndroidEnvironmentIntegrityServiceTest::SetUp();
feature_list_.InitAndDisableFeature(features::kWebEnvironmentIntegrity);
feature_list_.InitAndDisableFeature(
blink::features::kWebEnvironmentIntegrity);
}
};

Expand Down
2 changes: 1 addition & 1 deletion content/browser/browser_interface_binders.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1139,7 +1139,7 @@ void PopulateBinderMapWithContext(
map->Add<blink::mojom::BrowsingTopicsDocumentService>(
base::BindRepeating(&BrowsingTopicsDocumentHost::CreateMojoService));
}
if (base::FeatureList::IsEnabled(features::kWebEnvironmentIntegrity)) {
if (base::FeatureList::IsEnabled(blink::features::kWebEnvironmentIntegrity)) {
map->Add<blink::mojom::EnvironmentIntegrityService>(base::BindRepeating(
&EmptyBinderForFrame<blink::mojom::EnvironmentIntegrityService>));
}
Expand Down
1 change: 0 additions & 1 deletion content/child/runtime_features.cc
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,6 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{"WebAppTabStrip", raw_ref(features::kDesktopPWAsTabStrip)},
{"WebAppTabStripCustomizations",
raw_ref(blink::features::kDesktopPWAsTabStripCustomizations)},
{"WebEnvironmentIntegrity", raw_ref(features::kWebEnvironmentIntegrity)},
{"WebSerialBluetooth",
raw_ref(features::kEnableBluetoothSerialPortProfileInSerialApi)},
{"WGIGamepadTriggerRumble",
Expand Down
5 changes: 0 additions & 5 deletions content/public/common/content_features.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1418,11 +1418,6 @@ BASE_FEATURE(kWebBluetoothNewPermissionsBackend,
"WebBluetoothNewPermissionsBackend",
base::FEATURE_DISABLED_BY_DEFAULT);

// Enables the Web Environment Integrity API.
BASE_FEATURE(kWebEnvironmentIntegrity,
"WebEnvironmentIntegrity",
base::FEATURE_DISABLED_BY_DEFAULT);

// If WebGL Image Chromium is allowed, this feature controls whether it is
// enabled.
BASE_FEATURE(kWebGLImageChromium,
Expand Down
1 change: 0 additions & 1 deletion content/public/common/content_features.h
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,6 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyTrapHandler);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAuthnTouchToFillCredentialSelection);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebBluetooth);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebBluetoothNewPermissionsBackend);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebEnvironmentIntegrity);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebGLImageChromium);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebMidi);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebOtpBackendAuto);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,10 @@ bool OriginTrialContext::CanEnableTrialFromName(const StringView& trial_name) {
return base::FeatureList::IsEnabled(features::kComputePressure);
}

if (trial_name == "WebEnvironmentIntegrity") {
return base::FeatureList::IsEnabled(features::kWebEnvironmentIntegrity);
}

return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3906,8 +3906,13 @@
{
name: "WebEnvironmentIntegrity",
status: "experimental",
base_feature: "none",
origin_trial_feature_name: "WebEnvironmentIntegrity",
// base_feature is meant as kill-switch. The RuntimeFeature should follow
// the `status` field or Origin Trial unless explicitly overriden by
// Finch / command line flags.
base_feature_status: "enabled",
copied_from_base_feature_if: "overridden",
origin_trial_allows_third_party: true,
},
{
name: "WebFontResizeLCP",
Expand Down

353 comments on commit 6f47a22

@fischer8
Copy link

@fischer8 fischer8 commented on 6f47a22 Aug 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Open source dev that supports big corp monopoly, aren't you ashamed of yourself?

sucker

@codenyte
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would recommend you more about free cultural works, since you are already a free software user.

There is a difference between software and entertainment media. There are many reasons why I try to use free software over proprietary garbage as much as possible. One of them is privacy. Proprietary software can have all sorts of things hidden in its source code since the code is compiled and often obfuscated. It often contains trackers and other nasty stuff that I don't want on my devices. Open source software also allows everyone to modify and redistribute it, which is a huge reason why I like it. That just doesn't apply to entertainment media.
E.g., a movie is just a video file, it is not an executable program. It can't contain things like trackers.

I know free cultural works are not as good, especially in terms of resources invested.

Yes, unfortunately.

you are dependent or even addicted to commercial works so badly that

No. I don't watch movies/TV shows often. After a few years, I wanted to re-watch that one show because I like it. How does that make me dependent?

you cannot live without them even if you cannot afford it.

Oh, I can afford that very well. Many people pirate stuff because they can't afford it (which I can understand since the film industry really can't get their shit together and offer stuff at reasonable prices).
I pirate for other reasons.
As a customer, I want to be treated with respect. Not accepting an email alias and trying to force me to give them my real email instead, so they can spam my inbox with garbage advertisements, is not respectful of paying customers.

However, if you are against cultural industry

I am not against the "cultural" industry without any reason. The reason is that they try to nickel and dime everyone, and they don't even have any respect left for the customers who pay them insane amounts of money or for those who create the content that they then go on to sell. In my opinion, entertainment media don't necessarily have to be free (as in price). I'd love to pay artists fair prices for their great work. But, e.g., if I pay for my music through Spotify, the artist doesn't get anything out of it. The majority of the money either goes to Spotify or to record labels. It's the same with movies and TV shows. Those who actually produce the content don't get anything. The big corporations get even richer. That's why I hate them. I want artists to get paid, not multi-billionaire assholes.

@stepcodebox
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is absolutely appalling. Stop destroying the free internet.

@mikelsr
Copy link

@mikelsr mikelsr commented on 6f47a22 Aug 6, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🖕

If you oppose this, don't just comment and complain, contact your antitrust authority today: US:

* https://www.ftc.gov/enforcement/report-antitrust-violation

* [antitrust@ftc.gov](mailto:antitrust@ftc.gov)
  EU:

* https://competition-policy.ec.europa.eu/antitrust/contact_en

* [comp-greffe-antitrust@ec.europa.eu](mailto:comp-greffe-antitrust@ec.europa.eu)
  UK:

* [https://www.gov.uk/guidance/tell-the-cma-about-a-competition...](https://www.gov.uk/guidance/tell-the-cma-about-a-competition-or-market-problem)

* [general.enquiries@cma.gov.uk](mailto:general.enquiries@cma.gov.uk)
  India:

* https://www.cci.gov.in/antitrust/

* https://www.cci.gov.in/filing/atd
  Canada:

* [https://www.competitionbureau.gc.ca/eic/site/cb-bc.nsf/frm-e...](https://www.competitionbureau.gc.ca/eic/site/cb-bc.nsf/frm-eng/GH%C3%89T-7TDNA5)
  [reply](https://news.ycombinator.com/reply?id=36880486&goto=item%3Fid%3D36854228%2336880486)

Just quoting this so it doesn't get lost in the old comments. Contacting your regulators and anti-trust commissions is far more likely to have an impact that complaining here. Sending an email or making a call takes a few minutes and will benefit us all (unlike WEI).

@guest271314
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mikelsr

Just quoting this so it doesn't get lost in the old comments. Contacting your regulators and anti-trust commissions is far more likely to have an impact that complaining here. Sending an email or making a call takes a few minutes and will benefit us all (unlike WEI).

In reality it's not that simple.

You are assuming government regulators know what's going on in this realm of technology.

Starting a path of challenging acts or omissions at the municipal, state, or national level is not a one time event. It can take years and hundreds of man hours of work to first bring the regulatos and their staffers up to speed and then still more effort to keep your issue on their agenda.

@PatchByte
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is always the same, first comes the out cry from the people. Then they calm down. Then they forget.

I also do not support this idea or this "proposal", but I bet my ass off that many people who are writing comments here are using some sort of chromium based browser.
That is called "double standarts".
Please, everyone who wrote here, please stop using chrome, and move the fuck on to non chromium based browsers.

Thank you for your time while reading this, have a nice evening or day.

@guest271314
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hard to argue with that. This can be turned off, allegedly, at Settings => Auto-verify.

@tmheath
Copy link

@tmheath tmheath commented on 6f47a22 Aug 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

googlememe
Stupid fools think they're above the law, they will learn the same lesson Microsoft should have, except this time it's not a single company that will have to be disappeared. Whoever got this idea to boot is a brainlet

@chalbin73
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hqdefault
Stallman disliked that

@SimoneG97
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the reason any kind of monopoly is always bad...

@electrolyte-orb
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🖕

@bettercalldelta
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is always the same, first comes the out cry from the people. Then they calm down. Then they forget.
I also do not support this idea or this "proposal", but I bet my ass off that many people who are writing comments here are using some sort of chromium based browser. That is called "double standarts". Please, everyone who wrote here, please stop using chrome, and move the fuck on to non chromium based browsers.
Thank you for your time while reading this, have a nice evening or day.

I am already using LibreWolf personally, and I encourage everyone to do the same. I've also convinced some of my friends that Firefox is better than Chrome.

same for me, using Librewolf and telling my family to use at the very least Firefox.

@tmheath
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is always the same, first comes the out cry from the people. Then they calm down. Then they forget.
I also do not support this idea or this "proposal", but I bet my ass off that many people who are writing comments here are using some sort of chromium based browser. That is called "double standarts". Please, everyone who wrote here, please stop using chrome, and move the fuck on to non chromium based browsers.
Thank you for your time while reading this, have a nice evening or day.

I am already using LibreWolf personally, and I encourage everyone to do the same. I've also convinced some of my friends that Firefox is better than Chrome.

Think by and large Brave is largely fine as a fork of Chrome... I've used librewolf, at the time it had some issues on Windows... Brave is a better "normie" browser... barring this mostly sure.

@Erisfiregamer1
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider the following:

Doesn't the function have to go through the browser? What is stopping us from falsifying a request from the attester?

@yw662
Copy link

@yw662 yw662 commented on 6f47a22 Aug 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is stopping us from falsifying a request from the attester?

"Trusted Computing".
The attestation would be signed against its own key and eventually against trusted computing platform key. As I have been saying, this "remote attestation" ability is the most evil part of TC.

@Erisfiregamer1
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to swift-read the spec.

Nothing is stopping us from generating a (silent) new tab with all extensions / modifications disabled, and getting the attestation from THERE instead. Attester sees nothing wrong and sends token that is passed to main tab- main tab doesn't realize it's fake and we can go about fucking with that tab without consequences.

@yw662
Copy link

@yw662 yw662 commented on 6f47a22 Aug 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but trusted computing works in horrible ways

No it is not horrible. It is evil. It is evil by design.

@Sqaaakoi
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to swift-read the spec.

Nothing is stopping us from generating a (silent) new tab with all extensions / modifications disabled, and getting the attestation from THERE instead. Attester sees nothing wrong and sends token that is passed to main tab- main tab doesn't realize it's fake and we can go about fucking with that tab without consequences.

:trollface: :trollface: :trollface: :trollface: :trollface:
Like @falseuniversefacts said, This is probably not intended and will most-likely get patched somehow.

@mikegogulski
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm already working on the business plan for my new attestation-as-a-service company.

It's so exciting to be on the verge of creating something completely useless!!!

@Erisfiregamer1
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to swift-read the spec.
Nothing is stopping us from generating a (silent) new tab with all extensions / modifications disabled, and getting the attestation from THERE instead. Attester sees nothing wrong and sends token that is passed to main tab- main tab doesn't realize it's fake and we can go about fucking with that tab without consequences.

Sounds unintended, so it might get patched, and even if not, distributing tools to circumvent DRM is illegal even if you aren't doing it to infringe copyright. And even if you have some reason for why you think it's not circumvention, you probably don't have thousands of millions of dollars to spend on a court battle by Google for circumventing their flawless DRM.

God damnit, the law strikes again.

@Sqaaakoi
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm already working on the business plan for my new attestation-as-a-service company.

It's so exciting to be on the verge of creating something completely useless!!!

just so you know, this industry already exists, in the form of captcha solving services. your business plan should be building the service, not marketing, as people WILL be looking for what you're building

oh wait this is probably just a joke, just like this entire proposal

@guest271314
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"the law" is not static https://www.eff.org/deeplinks/2020/11/github-reinstates-youtube-dl-after-riaas-abuse-dmca.

"law" is just the science of words.

@guest271314
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, "the avergae user" might believe anything.

I don't know what this is for in reality. To track users, keep users from listening to music or watching some production. It ain't gonna stop savvy users from doing whatever they want on their own machines.

Ain't nobody gonna be filing bug reports notifying Chrome their gear is broken for the broken parts of this.

The irony is in the Settings it says verify you are not a "bot". Now how many "bots" and "AI" is Google and even GitHub deploying right now?

So what do they do, exlude themselves from scrutiny... How convenient.

Auto-verify

Sites you visit can verify that you're a real person and not a bot

When on
A site you visit can save a small amount of info with Chrome, mainly to validate you're not a bot

As you keep browsing, sites can check with Chrome and verify with a previous site you've visited that you're likely a real person

Browsing is faster because a site is less likely to ask you to verify you're a real person

Things to consider

This setting works without identifying you or allowing sites to see your browsing history, though sites can share a small amount of info as part of the verification

@guest271314
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sheer audacity of this.

To origin-trial this nobody should be listening to an automated voice and be placed on hold for an hour when they call a corporation.

@stefan11111
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@guest271314

You need to start rolling your own then.

* [Mozilla Firefox](https://www.mozilla.org/en-US/firefox/)

* Or even better (a hardened, more private fork): [LibreWolf](https://librewolf.net/)

* Also great for privacy: [Mullvad Browser](https://mullvad.net/en/browser)

* And of course for maximum browser and network privacy/anonymity: [Tor Browser](https://www.torproject.org/download/)

* Not as great but there is also [Waterfox](https://www.waterfox.net/)

All of these are independent from Google

There are also WebKit-based browsers, but I would be cautious with WebKit, since it's made by Apple. A company that isn't known for it's great business practices either. (Still better than Google though)

If you want a completely independent Browser that develops its own rendering engine: Pale Moon

Stop helping Google by pretending that there are no alternatives.

Even if you don't use Chrom(e)/(ium), you should still file a complaint with your local antitrust regulatory body. I just sent a letter to the European Commission's antitrust office. Do the same in your country/region. Here you can find a list with all the antitrust agencies.

I have tried plenty of the browsers you listed.
I settled on palemoon because I decided enough was enough with firefox, though not nearly as bad as this.
I haven't checked if librewolf disabled that specific feature or not, but palemoon seems more minimal, and doesn't need rust, so I'll stick with it.
The downside with palemoon is extension support and webrtc support.
How much the latter is a downside is debatable.
However, for most people, I'd recommend librewolf. Use tor only for shady stuff, don't use it all the time and under no circumstanced link your clearweb activity to you tor activity.
I'll also leave this here:
https://xgqt.gitlab.io/spywarewatchdog/articles/index.html

@stefan11111
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do not support piracy and we do not mean to support piracy.

Piracy is a necessary check on the media industry.
Without it, prices would be outrageous and privacy violations would be even more commonplace.
I don't want to be subscribed to 5 different streaming services and still not be able to watch shows.
Not to mention that nothing beats blu-ray quality.
I don't have the money to spend ~500$ per month to buy countless blu-rays to get the best quality picture and sound. I get that from other pirates for free.
Even if I had the money, I wouldn't buy them because it's way more convenient to download a torrent and the prices seem way to high.
Also, plenty of discs wouldn't play because of region locking, so I'd have to rip them just to be able to watch them, notably JPBD's with anime.
I don't want to get multiple subscriptions to different streaming services and support this industry in milking people for money.

@stefan11111
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything going on is very spooky.
We have already seen how much power google has over the web.
The only web standard that matters to site creators is google chrome.
We have seen how much average people rely on google when huawei phones no longer had google services preinstalled, even though they were just a few well documented clicks away for those who needed them.
I for one don't use chromium-based browsers, but how do we convince normies that this is bad?
Even though it affects them directly be making blocking ads harder, they still use google chrome.
What is it about google chrome and chromium-based browsers that compels people to give in like this?

@codenyte
Copy link

@codenyte codenyte commented on 6f47a22 Aug 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is it about google chrome and chromium-based browsers that compels people to give in like this?

People hate change. In the past (before WEI), when tried to get people in my family to at least use a Chromium fork that protects their privacy like Brave, the first questions I got were “Is it different than Chrome? Does it work like Chrome? I don’t want to learn how to use a new browser”
You can build the best browser on the planet and boomers won’t use it cause it’s different than what they know.

@quantumpacket
Copy link

@quantumpacket quantumpacket commented on 6f47a22 Aug 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's about indoctrinating people to use specific software. There is a reason why Micro$oft pushes so hard for grade schools to use Windows (same with Chrome and their aggressive marketing). They know once people begin using it as their first operating system or browser they become comfortable with it and are then resistant to change. Anything unfamiliar from their Windows/Chrome experience seems foreign and too much of a learning curve, even though they forget that Windows/Chrome themselves once had a learning curve as well.

When I got my senior mom a computer she had never used Windows. Instead of having her learn that I installed Debian with Xfce and Firefox. Now that's all she knows, I laugh at people who tell me Linux is too hard when my mom without any tech knowledge uses it as her daily computer. If I had to switch her to Windows or a Chrome browser she'll make a fuss about it.

Getting people to use FOSS that is friendly to the users begins with us tech-savvy folks. If more of use took charge in getting our friends, family, employers, etc to use such software before it's too late to make them change their habits, the less control these evil corporations would have over society.

@Kaiddd
Copy link

@Kaiddd Kaiddd commented on 6f47a22 Aug 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Been using Firefox for years, this, this behavior from google, this is exactly why...

@vis97c
Copy link

@vis97c vis97c commented on 6f47a22 Aug 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So google decided it is also time to kill not only their own projects but the web itself. gfy

@quantumpacket
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So google decided it is also time to kill not only their own projects but the web itself. gfy

Maybe someone should open a PR to add "The Internet" to https://killedbygoogle.com/ 🤔

@guest271314
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a rather young person and I'm afraid

Get over your fears, quickly. Fear, that is you entertaining fear in your own mind, is contrary to happiness.

I don't know many people who are used to living in a time where we could do normal things in the real world.

Go to the local park. Play chess. Go to the library. Read non-fiction. Read hstory and you should get over yourself rather rapidly.

Everything is online now.

False.

This is just a virtual world that you are giiving value to that you don't have to give value to. So you are choosing to be afraid of a virtual domain.

It's not good but it's how it is. I don't think anyone is able to completely avoid the web, so we have to find a solution to stop WEI that isn't boycotting the Internet.

Sure you can avoid the Web. It's not that difficult. Go to the park. Play chess. Run a few laps at the local track. Feed the birds.

On the technical side, here you are in Chromium open source repository in the very PR that implements the thing they got going on. Fork the code and remove WEI! Then build and lauch your own Chromium without WEI. That's how Chromium in general gets into Linux distribution packages - a developers forks the code and includes or excludes things. Then packages the result of their changes.

I use Chromium and Firefox. I have a lost list of items I disable when I fetch the nightly release. Some people go much further, e.g., ungoogled Chromium.

  • Turn off Google Safe Browsing (which Firefox Nightly implements by default, too; again, keep in mind Google Safe Browsing scans everything you download, and other things too);
  • Change the default search engine from Google Search to an extension which doesn't search for anything;
  • Turn off Password Manager;
  • Turn off Location;
  • Disable third-party cookies;
  • Change New Tab page to an extension page (which gets rid of most vistited tiles appeared on New Tab page)
  • Turn off Payment Methods and Payment Handlers;
  • Turn off spell checking and Google Translate;
  • Turn off Background Sync;
  • Turn off Continue running background apps when Chromium is closed;
  • Don't use webkitSpeechRecognition() which records user voice and sends that recording (user biometric PII) to Google servers (the same thing happens when speechSynthesis.speak() is used with Google voices on Chrome);
  • Turn off Google Sync and Google services

@Mr-nUUb
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everybody calm down and stop using Google products and everything remotely connected to them to the point thy become irrelevant.

@guest271314
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't WEI be verifying Chrome isn't a ("AI") bot, too? Learn as you search (and browse) using generative AI.

@mikestaub
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a huge mistake to implement and is antithetical to the ethos of the open web.

@PatchByte
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the attestor's are not going independent, this questions me how they want to anonymize everything, this is plain evil.

@stefan11111
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everybody calm down and stop using Google products and everything remotely connected to them to the point thy become irrelevant.

The only google software I use is gmail. Any good alternatives? I'd rather them also be free, both as in freedom and as in beer.
I can't self-host because I am behind CGNAT.
These comments aren't about chrome/chromium itself, but about how implementing this in chrome and chromium would allow for sites to blacklist certain browser or operating systems.
I won't switch to a browser that implements this garbage even if I get locked out of most of the web, because most of my web activity is outside the corporate web.
The only corporate website I use is github, but If they start blocking me, I'll switch to something else.
Sadly, I am one of a few ones that has this level of flexibility, so this will force normies to comply.
If this doesn't cause outrage among normies, I don't know what will. If not because of the freedom concerns, because of ads.

@noorus
Copy link

@noorus noorus commented on 6f47a22 Aug 19, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only google software I use is gmail. Any good alternatives?

Protonmail

@codenyte
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 for Proton Mail. Tutanota is also a good option. For maximum privacy use an email aliasing solution like SimpleLogin (which has been acquired by Proton Mail) or the independent AnonAddy which has recently actually rebranded to addy.io.

@samthetechie
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job devs.. did you think we would not notice this f'krey.. slow clap for shame. Down with Web Environment Integrity (WEI). #Enshitternet

@RoootTheFox
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is awful.

@stefan11111
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the time to switch from github came sooner than I thought.

GitHub users are now required to enable two-factor authentication as an additional security measure. Your activity on GitHub includes you in this requirement. You will need to enable two-factor authentication on your account before October 06, 2023, or be restricted from account actions.

I guess this is good bye. It's been fun.

@kujaw
Copy link

@kujaw kujaw commented on 6f47a22 Aug 29, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everybody calm down and stop using Google products and everything remotely connected to them to the point thy become irrelevant.

The only google software I use is gmail. Any good alternatives? I'd rather them also be free, both as in freedom and as in beer. I can't self-host because I am behind CGNAT. These comments aren't about chrome/chromium itself, but about how implementing this in chrome and chromium would allow for sites to blacklist certain browser or operating systems. I won't switch to a browser that implements this garbage even if I get locked out of most of the web, because most of my web activity is outside the corporate web. The only corporate website I use is github, but If they start blocking me, I'll switch to something else. Sadly, I am one of a few ones that has this level of flexibility, so this will force normies to comply. If this doesn't cause outrage among normies, I don't know what will. If not because of the freedom concerns, because of ads.

I myself use disroot.org

@guest271314
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

chrome://settings/content/autoVerify

Sites you visit can verify that you're a real person and not a bot

https://google.com

Try a new AI-powered experiment with helpful overviews when you search

@bettercalldelta
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sadly, they will just wait until the backlash calms down and continue their plans as usual. We must not let them get away with it. Do something. Report them to your local antitrust authority. Use alternatives for their services. Actions speak louder than words.

@codenyte
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did all of that.
I filed a report with the European Commission, I don't use any Google services for anything (except for YouTube proxied through Piped, but I try to use LBRY and PeerTube as much as possible) and I even completely blocked all connections to any Google service in my firewall.
And sadly it's not enough. I am just a single person. Google still has billions of customers, most people have Android phones and don't even know that other search engines exist. Also, most people are on Gmail and nearly everybody uses YouTube. It's pretty unfortunate.
And it's quite hard to convince people to stop using this garbage.

@bettercalldelta
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the sad part, our actions won't mean much if we're just going to be a loud minority, while the majority of normies continue to consoom.

@guest271314
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the sad part, our actions won't mean much if we're just going to be a loud minority, while the majority of normies continue to consoom.

A whole lot of people believe in religion. I don't think any ruler believes in the religion they rule with.

@RealPacket
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥

@RealPacket
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No one:
Google:
We need to add more DRM!
(there's already web DRM, we don't need more, fuck you widevine, eat my wideass).

@IverCoder
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For those in the Philippines:

You can file a complaint at the Philippine Competition Commission.

Telephone: (02) 87719 722
Email: enforcement@phcc.gov.ph
Office: 25/F Vertis North Corporate Center 1, North Avenue, Quezon City 1105

@RealPacket
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have they ever learned about not trusting the client, guess not 💀.

@SillingerMester
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is pure evil. Simple as that.

@kingthrillgore
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤦

@RealPacket
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

web environment integrity enabled

@Universalizer
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here, i don't see any Issue Section open, on this repository, if i remember, perhaps it was open a year ago,

can anyone open an issue on the subject of wei?

Especially, For

in the code there are technical aspects to be investigated regarding clank, which I imagine internally corresponds to chrome.


In any case in Chromium based privacy **fork** browser, the origin trials are deactivated, i.e. Bromite for Android https://github.com/bromite/bromite.


Relating to this, their is one more thread here #187

@codenyte
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bromite for Android https://github.com/bromite/bromite.

Bromite is dead, use Cromite instead

@Universalizer
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bromite is dead, use Cromite instead

Thanks for the good and concerning suggestion, i already know that.

@Victue
Copy link

@Victue Victue commented on 6f47a22 Nov 24, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mikelsr

Just quoting this so it doesn't get lost in the old comments. Contacting your regulators and anti-trust commissions is far more likely to have an impact that complaining here. Sending an email or making a call takes a few minutes and will benefit us all (unlike WEI).

In reality it's not that simple.

You are assuming government regulators know what's going on in this realm of technology.

Starting a path of challenging acts or omissions at the municipal, state, or national level is not a one time event. It can take years and hundreds of man hours of work to first bring the regulatos and their staffers up to speed and then still more effort to keep your issue on their agenda.

Even worse, it is possible that the government is also involved in it

Please sign in to comment.